diff libinterp/corefcn/gl-render.h @ 25863:8a6bf76abf31

eliminate some duplicate OpenGL drawing code * gl-render.h, gl-render.cc (opengl_renderer::draw_zoom_box, opengl_renderer::draw_zoom_rect): New functions. * GLCanvas.h, GLCanvas.cc (GLCanvas::m_renderer): New data member. (GLCanvas::draw, GLCanvas::do_getPixels): Use it instead of creating renderer locally. (GLCanvas::drawZoomRect): Delete. (GLCanvas::drawZoomBox): Set up parameters and call opengl_renderer::draw_zoom_box to eliminate code duplicated in __init_fltk__.cc. * __init_fltk__.cc (OpenGL_fltk::zoom_box_vertex): Delete. (OpenGL_fltk::overlay): Set up parameters and call opengl_renderer::draw_zoom_box to eliminate code duplicated in GLCanvas.cc.
author John W. Eaton <jwe@octave.org>
date Sat, 08 Sep 2018 08:03:36 -0400
parents e5a73a8c116c
children baeb93e9febc
line wrap: on
line diff
--- a/libinterp/corefcn/gl-render.h	Thu Sep 06 16:29:56 2018 -0400
+++ b/libinterp/corefcn/gl-render.h	Sat Sep 08 08:03:36 2018 -0400
@@ -68,6 +68,13 @@
     virtual graphics_xform get_transform (void) const { return xform; }
     virtual uint8NDArray get_pixels (int width, int height);
 
+    virtual void draw_zoom_box (int width, int height,
+                                int x1, int y1, int x2, int y2,
+                                const Matrix& overlaycolor,
+                                double overlayalpha,
+                                const Matrix& bordercolor,
+                                double borderalpha, double borderwidth);
+
     virtual void finish (void);
 
   protected:
@@ -153,6 +160,8 @@
                                    int xyz, int ha, int va,
                                    int& wmax, int& hmax);
 
+    virtual void draw_zoom_rect (int x1, int y1, int x2, int y2);
+
   private:
 
     void init_maxlights (void);