Mercurial > octave
comparison libinterp/corefcn/gl-render.h @ 31607:aac27ad79be6 stable
maint: Re-indent code after switch to using namespace macros.
* build-env.h, build-env.in.cc, Cell.h, __betainc__.cc, __eigs__.cc,
__ftp__.cc, __ichol__.cc, __ilu__.cc, __isprimelarge__.cc, __magick_read__.cc,
__pchip_deriv__.cc, amd.cc, base-text-renderer.cc, base-text-renderer.h,
besselj.cc, bitfcns.cc, bsxfun.cc, c-file-ptr-stream.h, call-stack.cc,
call-stack.h, ccolamd.cc, cellfun.cc, chol.cc, colamd.cc, dasrt.cc, data.cc,
debug.cc, defaults.cc, defaults.h, det.cc, display.cc, display.h, dlmread.cc,
dynamic-ld.cc, dynamic-ld.h, ellipj.cc, environment.cc, environment.h,
error.cc, error.h, errwarn.h, event-manager.cc, event-manager.h,
event-queue.cc, event-queue.h, fcn-info.cc, fcn-info.h, fft.cc, fft2.cc,
file-io.cc, filter.cc, find.cc, ft-text-renderer.cc, ft-text-renderer.h,
gcd.cc, gl-render.cc, gl-render.h, gl2ps-print.cc, gl2ps-print.h,
graphics-toolkit.cc, graphics-toolkit.h, graphics.cc, gsvd.cc, gtk-manager.cc,
gtk-manager.h, help.cc, help.h, hook-fcn.cc, hook-fcn.h, input.cc, input.h,
interpreter-private.cc, interpreter-private.h, interpreter.cc, interpreter.h,
inv.cc, jsondecode.cc, jsonencode.cc, latex-text-renderer.cc,
latex-text-renderer.h, load-path.cc, load-path.h, load-save.cc, load-save.h,
lookup.cc, ls-hdf5.cc, ls-mat4.cc, ls-mat5.cc, lsode.cc, lu.cc, mappers.cc,
matrix_type.cc, max.cc, mex.cc, mexproto.h, mxarray.h, mxtypes.in.h,
oct-errno.in.cc, oct-hdf5-types.cc, oct-hist.cc, oct-hist.h, oct-map.cc,
oct-map.h, oct-opengl.h, oct-prcstrm.h, oct-process.cc, oct-process.h,
oct-stdstrm.h, oct-stream.cc, oct-stream.h, oct-strstrm.h,
octave-default-image.h, ordqz.cc, ordschur.cc, pager.cc, pager.h, pinv.cc,
pow2.cc, pr-output.cc, psi.cc, qr.cc, quadcc.cc, rand.cc, regexp.cc,
settings.cc, settings.h, sighandlers.cc, sighandlers.h, sparse-xpow.cc,
sqrtm.cc, stack-frame.cc, stack-frame.h, stream-euler.cc, strfns.cc, svd.cc,
syminfo.cc, syminfo.h, symrcm.cc, symrec.cc, symrec.h, symscope.cc, symscope.h,
symtab.cc, symtab.h, sysdep.cc, sysdep.h, text-engine.cc, text-engine.h,
text-renderer.cc, text-renderer.h, time.cc, toplev.cc, typecast.cc,
url-handle-manager.cc, url-handle-manager.h, urlwrite.cc, utils.cc, utils.h,
variables.cc, variables.h, xdiv.cc, __delaunayn__.cc, __init_fltk__.cc,
__init_gnuplot__.cc, __ode15__.cc, __voronoi__.cc, audioread.cc, convhulln.cc,
gzip.cc, cdef-class.cc, cdef-class.h, cdef-fwd.h, cdef-manager.cc,
cdef-manager.h, cdef-method.cc, cdef-method.h, cdef-object.cc, cdef-object.h,
cdef-package.cc, cdef-package.h, cdef-property.cc, cdef-property.h,
cdef-utils.cc, cdef-utils.h, ov-base-diag.cc, ov-base-int.cc, ov-base-mat.cc,
ov-base-mat.h, ov-base-scalar.cc, ov-base.cc, ov-base.h, ov-bool-mat.cc,
ov-bool-mat.h, ov-bool-sparse.cc, ov-bool.cc, ov-builtin.h, ov-cell.cc,
ov-ch-mat.cc, ov-class.cc, ov-class.h, ov-classdef.cc, ov-classdef.h,
ov-complex.cc, ov-cx-diag.cc, ov-cx-mat.cc, ov-cx-sparse.cc, ov-dld-fcn.cc,
ov-dld-fcn.h, ov-fcn-handle.cc, ov-fcn-handle.h, ov-fcn.h, ov-float.cc,
ov-flt-complex.cc, ov-flt-cx-diag.cc, ov-flt-cx-mat.cc, ov-flt-re-diag.cc,
ov-flt-re-mat.cc, ov-flt-re-mat.h, ov-intx.h, ov-java.cc, ov-lazy-idx.cc,
ov-legacy-range.cc, ov-magic-int.cc, ov-mex-fcn.cc, ov-mex-fcn.h,
ov-null-mat.cc, ov-perm.cc, ov-range.cc, ov-re-diag.cc, ov-re-mat.cc,
ov-re-mat.h, ov-re-sparse.cc, ov-scalar.cc, ov-str-mat.cc, ov-struct.cc,
ov-typeinfo.cc, ov-typeinfo.h, ov-usr-fcn.cc, ov-usr-fcn.h, ov.cc, ov.h, ovl.h,
octave.cc, octave.h, op-b-sbm.cc, op-bm-sbm.cc, op-cs-scm.cc, op-fm-fcm.cc,
op-fs-fcm.cc, op-s-scm.cc, op-scm-cs.cc, op-scm-s.cc, op-sm-cs.cc, ops.h,
anon-fcn-validator.cc, anon-fcn-validator.h, bp-table.cc, bp-table.h,
comment-list.cc, comment-list.h, filepos.h, lex.h, oct-lvalue.cc, oct-lvalue.h,
parse.h, profiler.cc, profiler.h, pt-anon-scopes.cc, pt-anon-scopes.h,
pt-arg-list.cc, pt-arg-list.h, pt-args-block.cc, pt-args-block.h,
pt-array-list.cc, pt-array-list.h, pt-assign.cc, pt-assign.h, pt-binop.cc,
pt-binop.h, pt-bp.cc, pt-bp.h, pt-cbinop.cc, pt-cbinop.h, pt-cell.cc,
pt-cell.h, pt-check.cc, pt-check.h, pt-classdef.cc, pt-classdef.h, pt-cmd.h,
pt-colon.cc, pt-colon.h, pt-const.cc, pt-const.h, pt-decl.cc, pt-decl.h,
pt-eval.cc, pt-eval.h, pt-except.cc, pt-except.h, pt-exp.cc, pt-exp.h,
pt-fcn-handle.cc, pt-fcn-handle.h, pt-id.cc, pt-id.h, pt-idx.cc, pt-idx.h,
pt-jump.h, pt-loop.cc, pt-loop.h, pt-mat.cc, pt-mat.h, pt-misc.cc, pt-misc.h,
pt-pr-code.cc, pt-pr-code.h, pt-select.cc, pt-select.h, pt-spmd.cc, pt-spmd.h,
pt-stmt.cc, pt-stmt.h, pt-tm-const.cc, pt-tm-const.h, pt-unop.cc, pt-unop.h,
pt-walk.cc, pt-walk.h, pt.cc, pt.h, token.cc, token.h, Range.cc, Range.h,
idx-vector.cc, idx-vector.h, range-fwd.h, CollocWt.cc, CollocWt.h,
aepbalance.cc, aepbalance.h, chol.cc, chol.h, gepbalance.cc, gepbalance.h,
gsvd.cc, gsvd.h, hess.cc, hess.h, lo-mappers.cc, lo-mappers.h, lo-specfun.cc,
lo-specfun.h, lu.cc, lu.h, oct-convn.cc, oct-convn.h, oct-fftw.cc, oct-fftw.h,
oct-norm.cc, oct-norm.h, oct-rand.cc, oct-rand.h, oct-spparms.cc,
oct-spparms.h, qr.cc, qr.h, qrp.cc, qrp.h, randgamma.cc, randgamma.h,
randmtzig.cc, randmtzig.h, randpoisson.cc, randpoisson.h, schur.cc, schur.h,
sparse-chol.cc, sparse-chol.h, sparse-lu.cc, sparse-lu.h, sparse-qr.cc,
sparse-qr.h, svd.cc, svd.h, child-list.cc, child-list.h, dir-ops.cc, dir-ops.h,
file-ops.cc, file-ops.h, file-stat.cc, file-stat.h, lo-sysdep.cc, lo-sysdep.h,
lo-sysinfo.cc, lo-sysinfo.h, mach-info.cc, mach-info.h, oct-env.cc, oct-env.h,
oct-group.cc, oct-group.h, oct-password.cc, oct-password.h, oct-syscalls.cc,
oct-syscalls.h, oct-time.cc, oct-time.h, oct-uname.cc, oct-uname.h,
action-container.cc, action-container.h, base-list.h, cmd-edit.cc, cmd-edit.h,
cmd-hist.cc, cmd-hist.h, f77-fcn.h, file-info.cc, file-info.h,
lo-array-errwarn.cc, lo-array-errwarn.h, lo-hash.cc, lo-hash.h, lo-ieee.h,
lo-regexp.cc, lo-regexp.h, lo-utils.cc, lo-utils.h, oct-base64.cc,
oct-base64.h, oct-glob.cc, oct-glob.h, oct-inttypes.h, oct-mutex.cc,
oct-mutex.h, oct-refcount.h, oct-shlib.cc, oct-shlib.h, oct-sparse.cc,
oct-sparse.h, oct-string.h, octave-preserve-stream-state.h, pathsearch.cc,
pathsearch.h, quit.cc, quit.h, unwind-prot.cc, unwind-prot.h, url-transfer.cc,
url-transfer.h:
Re-indent code after switch to using namespace macros.
author | Rik <rik@octave.org> |
---|---|
date | Thu, 01 Dec 2022 18:02:15 -0800 |
parents | e88a07dec498 |
children | 597f3ee61a48 |
comparison
equal
deleted
inserted
replaced
31605:e88a07dec498 | 31607:aac27ad79be6 |
---|---|
31 #include "graphics.h" | 31 #include "graphics.h" |
32 #include "text-renderer.h" | 32 #include "text-renderer.h" |
33 | 33 |
34 OCTAVE_BEGIN_NAMESPACE(octave) | 34 OCTAVE_BEGIN_NAMESPACE(octave) |
35 | 35 |
36 class opengl_functions; | 36 class opengl_functions; |
37 | 37 |
38 class | 38 class |
39 OCTINTERP_API | 39 OCTINTERP_API |
40 opengl_renderer | 40 opengl_renderer |
41 { | 41 { |
42 public: | 42 public: |
43 | 43 |
44 opengl_renderer (opengl_functions& glfcns); | 44 opengl_renderer (opengl_functions& glfcns); |
45 | 45 |
46 // No copying! | 46 // No copying! |
47 | 47 |
48 opengl_renderer (const opengl_renderer&) = delete; | 48 opengl_renderer (const opengl_renderer&) = delete; |
49 | 49 |
50 opengl_renderer& operator = (const opengl_renderer&) = delete; | 50 opengl_renderer& operator = (const opengl_renderer&) = delete; |
51 | 51 |
52 virtual ~opengl_renderer (void) = default; | 52 virtual ~opengl_renderer (void) = default; |
53 | 53 |
54 opengl_functions& get_opengl_functions (void) const { return m_glfcns; } | 54 opengl_functions& get_opengl_functions (void) const { return m_glfcns; } |
55 | 55 |
56 virtual void draw (const graphics_object& go, bool toplevel = true); | 56 virtual void draw (const graphics_object& go, bool toplevel = true); |
57 | 57 |
58 // The following version of the draw method is not declared virtual | 58 // The following version of the draw method is not declared virtual |
59 // because no derived class overrides it. | 59 // because no derived class overrides it. |
60 | 60 |
61 void draw (const Matrix& hlist, bool toplevel = false); | 61 void draw (const Matrix& hlist, bool toplevel = false); |
62 | 62 |
63 virtual void set_viewport (int w, int h); | 63 virtual void set_viewport (int w, int h); |
64 virtual void set_device_pixel_ratio (double dpr) { m_devpixratio = dpr; } | 64 virtual void set_device_pixel_ratio (double dpr) { m_devpixratio = dpr; } |
65 virtual Matrix get_viewport_scaled (void) const; | 65 virtual Matrix get_viewport_scaled (void) const; |
66 virtual graphics_xform get_transform (void) const { return m_xform; } | 66 virtual graphics_xform get_transform (void) const { return m_xform; } |
67 virtual uint8NDArray get_pixels (int width, int height); | 67 virtual uint8NDArray get_pixels (int width, int height); |
68 | 68 |
69 virtual void draw_zoom_box (int width, int height, | 69 virtual void draw_zoom_box (int width, int height, |
70 int x1, int y1, int x2, int y2, | 70 int x1, int y1, int x2, int y2, |
71 const Matrix& overlaycolor, | 71 const Matrix& overlaycolor, |
72 double overlayalpha, | 72 double overlayalpha, |
73 const Matrix& bordercolor, | 73 const Matrix& bordercolor, |
74 double borderalpha, double borderwidth); | 74 double borderalpha, double borderwidth); |
75 | 75 |
76 virtual void finish (void); | 76 virtual void finish (void); |
77 | 77 |
78 protected: | 78 protected: |
79 | 79 |
80 virtual void draw_figure (const figure::properties& props); | 80 virtual void draw_figure (const figure::properties& props); |
81 virtual void draw_axes (const axes::properties& props); | 81 virtual void draw_axes (const axes::properties& props); |
82 virtual void draw_line (const line::properties& props); | 82 virtual void draw_line (const line::properties& props); |
83 virtual void draw_surface (const surface::properties& props); | 83 virtual void draw_surface (const surface::properties& props); |
84 virtual void draw_patch (const patch::properties& props); | 84 virtual void draw_patch (const patch::properties& props); |
85 virtual void draw_scatter (const scatter::properties& props); | 85 virtual void draw_scatter (const scatter::properties& props); |
86 virtual void draw_light (const light::properties& props); | 86 virtual void draw_light (const light::properties& props); |
87 virtual void draw_hggroup (const hggroup::properties& props); | 87 virtual void draw_hggroup (const hggroup::properties& props); |
88 virtual void draw_text (const text::properties& props); | 88 virtual void draw_text (const text::properties& props); |
89 virtual void draw_text_background (const text::properties& props, | 89 virtual void draw_text_background (const text::properties& props, |
90 bool do_rotate = false); | 90 bool do_rotate = false); |
91 virtual void draw_image (const image::properties& props); | 91 virtual void draw_image (const image::properties& props); |
92 virtual void draw_uipanel (const uipanel::properties& props, | 92 virtual void draw_uipanel (const uipanel::properties& props, |
93 const graphics_object& go); | 93 const graphics_object& go); |
94 virtual void draw_uibuttongroup (const uibuttongroup::properties& props, | 94 virtual void draw_uibuttongroup (const uibuttongroup::properties& props, |
95 const graphics_object& go); | 95 const graphics_object& go); |
96 virtual void init_gl_context (bool enhanced, const Matrix& backgroundColor); | 96 virtual void init_gl_context (bool enhanced, const Matrix& backgroundColor); |
97 virtual void setup_opengl_transformation (const axes::properties& props); | 97 virtual void setup_opengl_transformation (const axes::properties& props); |
98 | 98 |
99 virtual void set_clipbox (double x1, double x2, double y1, double y2, | 99 virtual void set_clipbox (double x1, double x2, double y1, double y2, |
100 double z1, double z2); | 100 double z1, double z2); |
101 virtual void set_clipping (bool on); | 101 virtual void set_clipping (bool on); |
102 virtual void set_font (const base_properties& props); | 102 virtual void set_font (const base_properties& props); |
103 virtual void set_color (const Matrix& c); | 103 virtual void set_color (const Matrix& c); |
104 virtual void set_interpreter (const caseless_str& interp) | 104 virtual void set_interpreter (const caseless_str& interp) |
105 { | 105 { |
106 m_interpreter = interp; | 106 m_interpreter = interp; |
107 } | 107 } |
108 virtual void set_linewidth (float w); | 108 virtual void set_linewidth (float w); |
109 virtual void set_linestyle (const std::string& s, bool stipple = false, | 109 virtual void set_linestyle (const std::string& s, bool stipple = false, |
110 double linewidth = 0.5); | 110 double linewidth = 0.5); |
111 virtual void set_linecap (const std::string&) { }; | 111 virtual void set_linecap (const std::string&) { }; |
112 virtual void set_linejoin (const std::string&) { }; | 112 virtual void set_linejoin (const std::string&) { }; |
113 virtual void set_polygon_offset (bool on, float offset = 0.0f); | 113 virtual void set_polygon_offset (bool on, float offset = 0.0f); |
114 virtual void set_selecting (bool on) | 114 virtual void set_selecting (bool on) |
115 { | 115 { |
116 m_selecting = on; | 116 m_selecting = on; |
117 } | 117 } |
118 | 118 |
119 virtual void init_marker (const std::string& m, double size, float width); | 119 virtual void init_marker (const std::string& m, double size, float width); |
120 virtual void change_marker (const std::string& m, double size); | 120 virtual void change_marker (const std::string& m, double size); |
121 virtual void end_marker (void); | 121 virtual void end_marker (void); |
122 virtual void draw_marker (double x, double y, double z, | 122 virtual void draw_marker (double x, double y, double z, |
123 const Matrix& lc, const Matrix& fc, | 123 const Matrix& lc, const Matrix& fc, |
124 const double la = 1.0, const double fa = 1.0); | 124 const double la = 1.0, const double fa = 1.0); |
125 | 125 |
126 virtual void text_to_pixels (const std::string& txt, | 126 virtual void text_to_pixels (const std::string& txt, |
127 uint8NDArray& pixels, | 127 uint8NDArray& pixels, |
128 Matrix& bbox, | 128 Matrix& bbox, |
129 int halign = 0, int valign = 0, | 129 int halign = 0, int valign = 0, |
130 double rotation = 0.0); | 130 double rotation = 0.0); |
131 | 131 |
132 virtual void text_to_strlist (const std::string& txt, | 132 virtual void text_to_strlist (const std::string& txt, |
133 std::list<text_renderer::string>& lst, | 133 std::list<text_renderer::string>& lst, |
134 Matrix& bbox, | 134 Matrix& bbox, |
135 int halign = 0, int valign = 0, | 135 int halign = 0, int valign = 0, |
136 double rotation = 0.0); | 136 double rotation = 0.0); |
137 | 137 |
138 virtual Matrix render_text (const std::string& txt, | 138 virtual Matrix render_text (const std::string& txt, |
139 double x, double y, double z, | 139 double x, double y, double z, |
140 int halign, int valign, double rotation = 0.0); | 140 int halign, int valign, double rotation = 0.0); |
141 | 141 |
142 virtual void render_grid (const double linewidth, | 142 virtual void render_grid (const double linewidth, |
143 const std::string& gridstyle, | 143 const std::string& gridstyle, |
144 const Matrix& gridcolor, const double gridalpha, | 144 const Matrix& gridcolor, const double gridalpha, |
145 const Matrix& ticks, double lim1, double lim2, | 145 const Matrix& ticks, double lim1, double lim2, |
146 double p1, double p1N, double p2, double p2N, | 146 double p1, double p1N, double p2, double p2N, |
147 int xyz, bool is_3D); | 147 int xyz, bool is_3D); |
148 | 148 |
149 virtual void render_tickmarks (const Matrix& ticks, | 149 virtual void render_tickmarks (const Matrix& ticks, |
150 double lim1, double lim2, | 150 double lim1, double lim2, |
151 double p1, double p1N, double p2, double p2N, | 151 double p1, double p1N, double p2, double p2N, |
152 double dx, double dy, double dz, | 152 double dx, double dy, double dz, |
153 int xyz, bool doubleside); | 153 int xyz, bool doubleside); |
154 | 154 |
155 virtual void render_ticktexts (const Matrix& ticks, | 155 virtual void render_ticktexts (const Matrix& ticks, |
156 const string_vector& ticklabels, | 156 const string_vector& ticklabels, |
157 double lim1, double lim2, | 157 double lim1, double lim2, |
158 double p1, double p2, | 158 double p1, double p2, |
159 int xyz, int ha, int va, | 159 int xyz, int ha, int va, |
160 int& wmax, int& hmax); | 160 int& wmax, int& hmax); |
161 | 161 |
162 virtual void draw_zoom_rect (int x1, int y1, int x2, int y2); | 162 virtual void draw_zoom_rect (int x1, int y1, int x2, int y2); |
163 | 163 |
164 //-------- | 164 //-------- |
165 | 165 |
166 opengl_functions& m_glfcns; | 166 opengl_functions& m_glfcns; |
167 | 167 |
168 // axis limits in model scaled coordinate | 168 // axis limits in model scaled coordinate |
169 double m_xmin, m_xmax; | 169 double m_xmin, m_xmax; |
170 double m_ymin, m_ymax; | 170 double m_ymin, m_ymax; |
171 double m_zmin, m_zmax; | 171 double m_zmin, m_zmax; |
172 | 172 |
173 // Factor used for translating Octave pixels to actual device pixels | 173 // Factor used for translating Octave pixels to actual device pixels |
174 double m_devpixratio; | 174 double m_devpixratio; |
175 | 175 |
176 // axes transformation data | 176 // axes transformation data |
177 graphics_xform m_xform; | 177 graphics_xform m_xform; |
178 | 178 |
179 private: | 179 private: |
180 | 180 |
181 class patch_tessellator; | 181 class patch_tessellator; |
182 | 182 |
183 void init_maxlights (void); | 183 void init_maxlights (void); |
184 | 184 |
185 std::string get_string (unsigned int id) const; | 185 std::string get_string (unsigned int id) const; |
186 | 186 |
187 bool is_nan_or_inf (double x, double y, double z) const | 187 bool is_nan_or_inf (double x, double y, double z) const |
188 { | 188 { |
189 return (math::isnan (x) || math::isnan (y) | 189 return (math::isnan (x) || math::isnan (y) |
190 || math::isnan (z) | 190 || math::isnan (z) |
191 || math::isinf (x) || math::isinf (y) | 191 || math::isinf (x) || math::isinf (y) |
192 || math::isinf (z)); | 192 || math::isinf (z)); |
193 } | 193 } |
194 | 194 |
195 uint8_t clip_code (double x, double y, double z) const | 195 uint8_t clip_code (double x, double y, double z) const |
196 { | 196 { |
197 return ((x < m_xmin ? 1 : 0) | 197 return ((x < m_xmin ? 1 : 0) |
198 | (x > m_xmax ? 1 : 0) << 1 | 198 | (x > m_xmax ? 1 : 0) << 1 |
199 | (y < m_ymin ? 1 : 0) << 2 | 199 | (y < m_ymin ? 1 : 0) << 2 |
200 | (y > m_ymax ? 1 : 0) << 3 | 200 | (y > m_ymax ? 1 : 0) << 3 |
201 | (z < m_zmin ? 1 : 0) << 4 | 201 | (z < m_zmin ? 1 : 0) << 4 |
202 | (z > m_zmax ? 1 : 0) << 5 | 202 | (z > m_zmax ? 1 : 0) << 5 |
203 | (is_nan_or_inf (x, y, z) ? 0 : 1) << 6); | 203 | (is_nan_or_inf (x, y, z) ? 0 : 1) << 6); |
204 } | 204 } |
205 | 205 |
206 void render_text (uint8NDArray pixels, Matrix bbox, | 206 void render_text (uint8NDArray pixels, Matrix bbox, |
207 double x, double y, double z, double rotation); | 207 double x, double y, double z, double rotation); |
208 | 208 |
209 void set_normal (int bfl_mode, const NDArray& n, int j, int i); | 209 void set_normal (int bfl_mode, const NDArray& n, int j, int i); |
210 | 210 |
211 void set_ortho_coordinates (void); | 211 void set_ortho_coordinates (void); |
212 | 212 |
213 void restore_previous_coordinates (void); | 213 void restore_previous_coordinates (void); |
214 | 214 |
215 double points_to_pixels (const double val) const; | 215 double points_to_pixels (const double val) const; |
216 | 216 |
217 unsigned int make_marker_list (const std::string& m, double size, | 217 unsigned int make_marker_list (const std::string& m, double size, |
218 bool filled) const; | 218 bool filled) const; |
219 | 219 |
220 void draw_axes_planes (const axes::properties& props); | 220 void draw_axes_planes (const axes::properties& props); |
221 void draw_axes_boxes (const axes::properties& props); | 221 void draw_axes_boxes (const axes::properties& props); |
222 | 222 |
223 void draw_axes_grids (const axes::properties& props); | 223 void draw_axes_grids (const axes::properties& props); |
224 void draw_axes_x_grid (const axes::properties& props); | 224 void draw_axes_x_grid (const axes::properties& props); |
225 void draw_axes_y_grid (const axes::properties& props); | 225 void draw_axes_y_grid (const axes::properties& props); |
226 void draw_axes_z_grid (const axes::properties& props); | 226 void draw_axes_z_grid (const axes::properties& props); |
227 | 227 |
228 void draw_axes_children (const axes::properties& props); | 228 void draw_axes_children (const axes::properties& props); |
229 | 229 |
230 void draw_all_lights (const base_properties& props, | 230 void draw_all_lights (const base_properties& props, |
231 std::list<graphics_object>& obj_list); | 231 std::list<graphics_object>& obj_list); |
232 | 232 |
233 void draw_texture_image (const octave_value cdata, | 233 void draw_texture_image (const octave_value cdata, |
234 Matrix x, Matrix y, bool ortho = false); | 234 Matrix x, Matrix y, bool ortho = false); |
235 | 235 |
236 //-------- | 236 //-------- |
237 | 237 |
238 // The graphics m_toolkit associated with the figure being rendered. | 238 // The graphics m_toolkit associated with the figure being rendered. |
239 graphics_toolkit m_toolkit; | 239 graphics_toolkit m_toolkit; |
240 | 240 |
241 // Z projection limits in windows coordinate | 241 // Z projection limits in windows coordinate |
242 double m_xZ1, m_xZ2; | 242 double m_xZ1, m_xZ2; |
243 | 243 |
244 // call lists identifiers for markers | 244 // call lists identifiers for markers |
245 unsigned int m_marker_id, m_filled_marker_id; | 245 unsigned int m_marker_id, m_filled_marker_id; |
246 | 246 |
247 // camera information for primitive sorting and lighting | 247 // camera information for primitive sorting and lighting |
248 ColumnVector m_camera_pos, m_camera_dir, m_view_vector; | 248 ColumnVector m_camera_pos, m_camera_dir, m_view_vector; |
249 | 249 |
250 // interpreter to be used by text_to_pixels | 250 // interpreter to be used by text_to_pixels |
251 caseless_str m_interpreter; | 251 caseless_str m_interpreter; |
252 | 252 |
253 text_renderer m_txt_renderer; | 253 text_renderer m_txt_renderer; |
254 | 254 |
255 // light object present and visible | 255 // light object present and visible |
256 unsigned int m_current_light; | 256 unsigned int m_current_light; |
257 unsigned int m_max_lights; | 257 unsigned int m_max_lights; |
258 | 258 |
259 // Indicate we are drawing for selection purpose | 259 // Indicate we are drawing for selection purpose |
260 bool m_selecting; | 260 bool m_selecting; |
261 | 261 |
262 // Indicate we are drawing for printing purpose | 262 // Indicate we are drawing for printing purpose |
263 bool m_printing; | 263 bool m_printing; |
264 }; | 264 }; |
265 | 265 |
266 OCTAVE_END_NAMESPACE(octave) | 266 OCTAVE_END_NAMESPACE(octave) |
267 | 267 |
268 #endif | 268 #endif |