changeset 19747:1a6fa5a523e4

Correctly use GL2PS_POLYGON_OFFSET_FILL (bug #44111, bug #44125). * gl-render.h (set_polygon_offset): Correct prototype to use initial value of 0.0f. * gl2ps-renderer.h (set_polygon_offset): First call opengl_renderer::set_polygon_offset to set offset. Next, call gl2psEnable (GL2PS_POLYGON_OFFSET) to have gl2ps capture the offset value.
author Rik <rik@octave.org>
date Sat, 14 Feb 2015 09:32:57 -0800
parents 52cd69e79784
children 21015ca26566
files libinterp/corefcn/gl-render.h libinterp/corefcn/gl2ps-renderer.h
diffstat 2 files changed, 11 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/gl-render.h	Sat Feb 14 07:12:22 2015 -0800
+++ b/libinterp/corefcn/gl-render.h	Sat Feb 14 09:32:57 2015 -0800
@@ -99,7 +99,7 @@
   virtual void setup_opengl_transformation (const axes::properties& props);
 
   virtual void set_color (const Matrix& c);
-  virtual void set_polygon_offset (bool on, float offset = 0.0);
+  virtual void set_polygon_offset (bool on, float offset = 0.0f);
   virtual void set_linewidth (float w);
   virtual void set_linestyle (const std::string& s, bool stipple = false);
   virtual void set_clipbox (double x1, double x2, double y1, double y2,
--- a/libinterp/corefcn/gl2ps-renderer.h	Sat Feb 14 07:12:22 2015 -0800
+++ b/libinterp/corefcn/gl2ps-renderer.h	Sat Feb 14 09:32:57 2015 -0800
@@ -64,14 +64,19 @@
       gl2psEnable (GL2PS_LINE_STIPPLE);
   }
 
-  void set_polygon_offset (bool on, double offset = 0.0)
+  void set_polygon_offset (bool on, float offset = 0.0f)
   {
-    opengl_renderer::set_polygon_offset (on, offset);
     if (on)
-      gl2psEnable (GL2PS_POLYGON_OFFSET_FILL);
+      {
+        opengl_renderer::set_polygon_offset (on, offset);
+        gl2psEnable (GL2PS_POLYGON_OFFSET_FILL);
+      }
     else
-      gl2psDisable (GL2PS_POLYGON_OFFSET_FILL);
-  }
+      {
+        gl2psDisable (GL2PS_POLYGON_OFFSET_FILL);
+        opengl_renderer::set_polygon_offset (on, offset);
+      }
+  } 
 
   void set_linewidth (float w)
   {