# HG changeset patch # User Ben Abbott # Date 1330432960 18000 # Node ID 12d13534265c08f311bc12055cab3fec5293fb76 # Parent 59e20a5e2ca8e663ef0101906914754595b055d6 Add support for figure positioning for gnuplot Windows terminals. * __gnuplot_drawnow__.m: Support postion and size options for Windows term. * __gnuplot_has_feature__.m: As of gnuplot-4.4.0 the Windows terminal accepts the position and size options. diff -r 59e20a5e2ca8 -r 12d13534265c scripts/plot/__gnuplot_drawnow__.m --- a/scripts/plot/__gnuplot_drawnow__.m Mon Feb 27 07:50:26 2012 -0500 +++ b/scripts/plot/__gnuplot_drawnow__.m Tue Feb 28 07:42:40 2012 -0500 @@ -197,6 +197,9 @@ "gif", "jpeg", "latex", "pbm", "pdf", ... "pdfcairo", "postscript", "png", "pngcairo", ... "pstex", "pslatex", "svg", "tikz"}; + if (__gnuplot_has_feature__ ("windows_figure_position")) + terminals_with_size{end+1} = "windows"; + endif if (__gnuplot_has_feature__ ("x11_figure_position")) terminals_with_size{end+1} = "x11"; endif @@ -226,9 +229,11 @@ otherwise size_str = ""; endswitch - if (strncmpi (term, "x11", 3) - && __gnuplot_has_feature__ ("x11_figure_position")) - ## X11 allows the window to be positioned as well. + if ((strncmpi (term, "x11", 3) + && __gnuplot_has_feature__ ("x11_figure_position")) + || (strcmpi (term, "windows") + && __gnuplot_has_feature__ ("windows_figure_position"))) + ## X11/Windows allows the window to be positioned as well. units = get (0, "units"); unwind_protect set (0, "units", "pixels"); @@ -237,7 +242,7 @@ set (0, "units", units); end_unwind_protect if (all (screen_size > 0)) - ## For X11, set the figure positon as well as the size + ## For X11/Windows, set the figure positon as well as the size ## gnuplot position is UL, Octave's is LL (same for screen/window) gnuplot_pos(2) = screen_size(2) - gnuplot_pos(2) - gnuplot_size(2); gnuplot_pos = max (gnuplot_pos, 1); diff -r 59e20a5e2ca8 -r 12d13534265c scripts/plot/private/__gnuplot_has_feature__.m --- a/scripts/plot/private/__gnuplot_has_feature__.m Mon Feb 27 07:50:26 2012 -0500 +++ b/scripts/plot/private/__gnuplot_has_feature__.m Tue Feb 28 07:42:40 2012 -0500 @@ -34,7 +34,8 @@ "epslatexstandalone_terminal", "screen_coordinates_for_{lrtb}margin", "variable_GPVAL_TERMINALS", - "key_has_font_properties"}; + "key_has_font_properties", + "windows_figure_position"}; if (isempty (has_features)) try @@ -43,8 +44,8 @@ ## Don't throw an error if gnuplot isn't installed gnuplot_version = "0.0.0"; end_try_catch - versions = {"4.2.5", "4.4", "4.4", "4.4", "4.2", "4.2", "4.4", "4.4", "4.4"}; - operators = {">=", ">=", ">=", ">=", ">=", ">=", ">=", ">=", ">="}; + versions = {"4.2.5", "4.4", "4.4", "4.4", "4.2", "4.2", "4.4", "4.4", "4.4", "4.4"}; + operators = {">=", ">=", ">=", ">=", ">=", ">=", ">=", ">=", ">=", ">="}; have_features = logical (zeros (size (features))); for n = 1 : numel (have_features) has_features(n) = compare_versions (gnuplot_version, versions{n}, operators{n});