Mercurial > hg > octave-lyh
changeset 9632:40acd13920e3
gnuplot_drawnow.m: Avoid flickering plot windows.
author | Ben Abbott <bpabbott@mac.com> |
---|---|
date | Wed, 09 Sep 2009 19:41:29 -0400 |
parents | 00958d0c4e3c |
children | ecc2c556f844 |
files | scripts/ChangeLog scripts/plot/gnuplot_drawnow.m |
diffstat | 2 files changed, 12 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,9 @@ +2009-09-09 Tatsuro Matsuoka <tmacchant@yahoo.co.jp> + + * plot/gnuplot_drawnow.m: Avoid flickering windows by avoding + 'set multiplot' / 'unset multiplot' for gnuplot's windows and + wxt terminals. + 2009-09-06 Jaroslav Hajek <highegg@gmail.com> * optimization/__dogleg__.m: Revert to revision 22c8272af34b.
--- a/scripts/plot/gnuplot_drawnow.m +++ b/scripts/plot/gnuplot_drawnow.m @@ -288,10 +288,12 @@ ## the canvas size for terminals cdr/corel. term_str = sprintf ("%s %s", term_str, size_str); endif - ## Work around the gnuplot feature of growing the x11 window when - ## the mouse and multiplot are set. + ## Work around the gnuplot feature of growing the x11 window and + ## flickering window (x11, windows, & wxt) when the mouse and + ## multiplot are set in gnuplot. fputs (plot_stream, "unset multiplot;\n"); - if (! strcmp (term, "x11") + flickering_terms = {"x11", "windows", "wxt"}; + if (! any (strcmp (term, flickering_terms)) || numel (findall (h, "type", "axes")) > 1 || numel (findall (h, "type", "image")) > 0) fprintf (plot_stream, "%s\n", term_str); @@ -301,7 +303,7 @@ endif endif fputs (plot_stream, "set multiplot;\n"); - elseif (strcmp (term, "x11")) + elseif (any (strcmp (term, flickering_terms))) fprintf (plot_stream, "%s\n", term_str); if (nargin == 5) if (! isempty (file))