changeset 12090:f12b581a1572 release-3-2-x

gnuplot_drawnow.m: Avoid flickering plot windows.
author Ben Abbott <bpabbott@mac.com>
date Mon, 14 Sep 2009 07:55:15 +0200
parents f859b61b8bf4
children 6f1857d0f5c1
files scripts/ChangeLog scripts/plot/gnuplot_drawnow.m
diffstat 2 files changed, 12 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/ChangeLog	Wed Sep 09 14:15:04 2009 +0200
+++ b/scripts/ChangeLog	Mon Sep 14 07:55:15 2009 +0200
@@ -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-08  John W. Eaton  <jwe@octave.org>
 
 	* io/dlmwrite.m: Fix typo.
--- a/scripts/plot/gnuplot_drawnow.m	Wed Sep 09 14:15:04 2009 +0200
+++ b/scripts/plot/gnuplot_drawnow.m	Mon Sep 14 07:55:15 2009 +0200
@@ -286,10 +286,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);
@@ -299,7 +301,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))