comparison scripts/plot/draw/patch.m @ 18802:75f8926deef1

Fix Z-order stacking of patches and axes grid lines (bug #40722). * gl-render.h (set_polygon_offset): Change function prototype for offset argument to float. * gl-render.cc (set_polygon_offset): Change offset argument to type float. Now matches OpenGL prototype for glPolygonOffset. * gl-render.cc (patch_tesselator::patch_tesselator): Change constructor variable idx to a float, from int. * gl-render.cc (patch_tesselator::begin): Pass index directly to set_polygon_offset. * gl-render.cc (opengl_renderer::draw_patch): Call patch_tesselator with index of 1.0 for filled portion of patch to push it down below outline of patch. * patch.m: For 2-D patches, set zlim to [-1,1] so that axes 'layer' property works.
author Rik <rik@octave.org>
date Sat, 17 May 2014 12:56:11 -0700
parents d63878346099
children 87c3848cf3c0
comparison
equal deleted inserted replaced
18800:10082673a8f0 18802:75f8926deef1
84 84
85 [htmp, failed] = __patch__ (hax, varargin{:}); 85 [htmp, failed] = __patch__ (hax, varargin{:});
86 86
87 if (failed) 87 if (failed)
88 print_usage (); 88 print_usage ();
89 endif
90
91 ## FIXME: This is a hack to get 'layer' command to work for 2D patches
92 ## Alternative is much more complicated surgery in graphics.cc.
93 ## of get_children_limits() for 'z' axis and 'patch' object type.
94 if (! ishold ())
95 if (isempty (get (htmp, "zdata")))
96 set (hax, "zlim", [-1 1]);
97 endif
89 endif 98 endif
90 99
91 if (nargout > 0) 100 if (nargout > 0)
92 h = htmp; 101 h = htmp;
93 endif 102 endif