Mercurial > octave-nkf
diff libinterp/corefcn/gl2ps-renderer.h @ 20645:395140e53656
Fix regression in svg output and simplify viewport handling (bug #44765)
* gl2ps-renderer.cc (glps-renderer::draw): remove check for GL2PS_NO_FEEDBACK, it it always true after EndViewport
* gl2ps-renderer.h (glps-renderer::draw_axes): call gl2psBegin(End)Viewport for every axes and check for GL2PS_NO_FEEDBACK after each axes.
* gl2ps-renderer.h (glps-renderer::draw_axes):remove unnecessary "naxes" attribute
author | Pantxo Diribarne <pantxo.diribarne@gmail.com> |
---|---|
date | Mon, 12 Oct 2015 20:49:04 +0200 |
parents | d30fc2c11455 |
children |
line wrap: on
line diff
--- a/libinterp/corefcn/gl2ps-renderer.h Sun Oct 11 21:09:41 2015 -0700 +++ b/libinterp/corefcn/gl2ps-renderer.h Mon Oct 12 20:49:04 2015 +0200 @@ -37,7 +37,7 @@ public: glps_renderer (FILE *_fp, const std::string& _term) : opengl_renderer () , fp (_fp), term (_term), fontsize (), - fontname (), naxes (0) { } + fontname () { } ~glps_renderer (void) { } @@ -53,12 +53,7 @@ void draw_axes (const axes::properties& props) { - // Finish previous sorting tree here, the last one will be closed - // by gl2psEndPage () - if (naxes++) - gl2psEndViewport (); - - // Initialize a sorting tree in gl2ps for each axes + // Initialize a sorting tree (viewport) in gl2ps for each axes GLint vp[4]; glGetIntegerv (GL_VIEWPORT, vp); gl2psBeginViewport (vp); @@ -67,6 +62,11 @@ // gl2ps output. opengl_renderer::draw_axes (props); glFinish (); + + // Finalize viewport + GLint state = gl2psEndViewport (); + if (state == GL2PS_NO_FEEDBACK) + warning ("gl2ps-renderer::draw: empty feedback buffer and/or nothing else to print"); } void draw_text (const text::properties& props); @@ -108,7 +108,6 @@ caseless_str term; double fontsize; std::string fontname; - int naxes; }; #endif // HAVE_GL2PS_H