annotate scripts/plot/gnuplot_drawnow.m @ 8813:70d06ed27c08

gnuplot_drawnow.m: Only send figure position info to gnuplot when the plot stream is first opened. Revert usage of hidden axes to store prior figure "position" property.
author Ben Abbott <bpabbott@mac.com>
date Thu, 19 Feb 2009 07:34:15 -0500
parents 4c989d52f35c
children 665b264b6a50
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
1 ## Copyright (C) 2005, 2006, 2007 John W. Eaton
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
2 ##
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
3 ## This file is part of Octave.
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
4 ##
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
6 ## under the terms of the GNU General Public License as published by
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
8 ## your option) any later version.
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
9 ##
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
13 ## General Public License for more details.
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
14 ##
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
17 ## <http://www.gnu.org/licenses/>.
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
18
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
19 ## -*- texinfo -*-
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
20 ## @deftypefn {Function File} {} drawnow ()
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
21 ## Update and display the current graphics.
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
22 ##
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
23 ## Octave automatically calls drawnow just before printing a prompt,
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
24 ## when @code{sleep} or @code{pause} is called, or while waiting for
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
25 ## command-line input.
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
26 ## @end deftypefn
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
27
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
28 ## Author: jwe
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
29
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
30 function gnuplot_drawnow (h, term, file, mono, debug_file)
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
31
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
32 if (nargin < 4)
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
33 mono = false;
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
34 endif
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
35
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
36 if (nargin >= 3 && nargin <= 5)
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
37 ## Produce various output formats, or redirect gnuplot stream to a
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
38 ## debug file.
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
39 plot_stream = [];
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
40 fid = [];
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
41 unwind_protect
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
42 plot_stream = open_gnuplot_stream (1, []);
8789
d9bff42fec43 gnuplot_drawnow.m: Only close the gnuplot window and send position/size info when the figure's position property has changed.
Ben Abbott <bpabbott@mac.com>
parents: 8762
diff changeset
43 enhanced = gnuplot_set_term (plot_stream (1), true, h, term, file);
8249
1f429086565c [mq]: hidden-children
John W. Eaton <jwe@octave.org>
parents: 7680
diff changeset
44 __go_draw_figure__ (h, plot_stream, enhanced, mono);
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
45 if (nargin == 5)
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
46 fid = fopen (debug_file, "wb");
8789
d9bff42fec43 gnuplot_drawnow.m: Only close the gnuplot window and send position/size info when the figure's position property has changed.
Ben Abbott <bpabbott@mac.com>
parents: 8762
diff changeset
47 enhanced = gnuplot_set_term (fid, true, h, term, file);
8249
1f429086565c [mq]: hidden-children
John W. Eaton <jwe@octave.org>
parents: 7680
diff changeset
48 __go_draw_figure__ (h, fid, enhanced, mono);
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
49 endif
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
50 unwind_protect_cleanup
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
51 if (! isempty (plot_stream))
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
52 pclose (plot_stream);
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
53 endif
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
54 if (! isempty (fid))
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
55 fclose (fid);
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
56 endif
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
57 end_unwind_protect
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
58 elseif (nargin == 1)
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
59 ## Graphics terminal for display.
8249
1f429086565c [mq]: hidden-children
John W. Eaton <jwe@octave.org>
parents: 7680
diff changeset
60 plot_stream = get (h, "__plot_stream__");
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
61 if (isempty (plot_stream))
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
62 plot_stream = open_gnuplot_stream (2, h);
8789
d9bff42fec43 gnuplot_drawnow.m: Only close the gnuplot window and send position/size info when the figure's position property has changed.
Ben Abbott <bpabbott@mac.com>
parents: 8762
diff changeset
63 new_stream = true;
d9bff42fec43 gnuplot_drawnow.m: Only close the gnuplot window and send position/size info when the figure's position property has changed.
Ben Abbott <bpabbott@mac.com>
parents: 8762
diff changeset
64 else
d9bff42fec43 gnuplot_drawnow.m: Only close the gnuplot window and send position/size info when the figure's position property has changed.
Ben Abbott <bpabbott@mac.com>
parents: 8762
diff changeset
65 new_stream = false;
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
66 endif
8789
d9bff42fec43 gnuplot_drawnow.m: Only close the gnuplot window and send position/size info when the figure's position property has changed.
Ben Abbott <bpabbott@mac.com>
parents: 8762
diff changeset
67 enhanced = gnuplot_set_term (plot_stream (1), new_stream, h);
8249
1f429086565c [mq]: hidden-children
John W. Eaton <jwe@octave.org>
parents: 7680
diff changeset
68 __go_draw_figure__ (h, plot_stream (1), enhanced, mono);
7680
a0ec02774303 Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents: 7408
diff changeset
69 fflush (plot_stream (1));
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
70 else
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
71 print_usage ();
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
72 endif
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
73
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
74 endfunction
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
75
8789
d9bff42fec43 gnuplot_drawnow.m: Only close the gnuplot window and send position/size info when the figure's position property has changed.
Ben Abbott <bpabbott@mac.com>
parents: 8762
diff changeset
76 function plot_stream = open_gnuplot_stream (npipes, h)
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
77 cmd = gnuplot_binary ();
7680
a0ec02774303 Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents: 7408
diff changeset
78 if (npipes > 1)
a0ec02774303 Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents: 7408
diff changeset
79 [plot_stream(1), plot_stream(2), pid] = popen2 (cmd);
a0ec02774303 Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents: 7408
diff changeset
80 if (pid < 0)
a0ec02774303 Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents: 7408
diff changeset
81 error ("drawnow: failed to open connection to gnuplot");
a0ec02774303 Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents: 7408
diff changeset
82 endif
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
83 else
7680
a0ec02774303 Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents: 7408
diff changeset
84 plot_stream = popen (cmd, "w");
a0ec02774303 Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents: 7408
diff changeset
85 if (plot_stream < 0)
a0ec02774303 Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents: 7408
diff changeset
86 error ("drawnow: failed to open connection to gnuplot");
a0ec02774303 Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents: 7408
diff changeset
87 endif
a0ec02774303 Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents: 7408
diff changeset
88 endif
a0ec02774303 Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents: 7408
diff changeset
89 if (! isempty (h))
a0ec02774303 Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents: 7408
diff changeset
90 set (h, "__plot_stream__", plot_stream);
a0ec02774303 Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents: 7408
diff changeset
91 endif
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
92 endfunction
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
93
8789
d9bff42fec43 gnuplot_drawnow.m: Only close the gnuplot window and send position/size info when the figure's position property has changed.
Ben Abbott <bpabbott@mac.com>
parents: 8762
diff changeset
94 function enhanced = gnuplot_set_term (plot_stream, new_stream, h, term, file)
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
95 ## Generate the gnuplot "set terminal <term> ..." command. Include
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
96 ## the subset of properties "position", "units", "paperposition",
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
97 ## "paperunits", "name", and "numbertitle". When "term" originates
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
98 ## from print.m, it may include gnuplot terminal options.
8793
4c989d52f35c gnuplot_drawnow.m (gnuplot_set_term): adjust nargin checks for new signature
John W. Eaton <jwe@octave.org>
parents: 8789
diff changeset
99 if (nargin < 4)
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
100 ## This supports the gnuplot backend.
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
101 term = gnuplot_term ();
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
102 opts_str = "";
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
103 else
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
104 ## Get the one word terminal id and save the remaining as options to
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
105 ## be passed on to gnuplot. The terminal may respect the backend.
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
106 [term, opts_str] = gnuplot_trim_term (term);
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
107 endif
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
108
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
109 enhanced = gnuplot_is_enhanced_term (term);
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
110
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
111 ## Set the terminal.
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
112 if (! isempty (term))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
113
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
114 if (enhanced)
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
115 enh_str = "enhanced";
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
116 else
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
117 enh_str = "";
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
118 endif
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
119
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
120 if (! isempty (h) && isfigure (h))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
121
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
122 ## Generate gnuoplot title string for backend plot windows.
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
123 if (isbackend (term))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
124 fig.numbertitle = get (h, "numbertitle");
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
125 fig.name = get (h, "name");
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
126 if (strcmpi (get (h, "numbertitle"), "on"))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
127 title_str = sprintf ("Figure %d", h);
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
128 else
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
129 title_str = "";
8610
85c9906abfd1 use endif and endfor instead of end
John W. Eaton <jwe@octave.org>
parents: 8530
diff changeset
130 endif
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
131 if (! isempty (fig.name) && ! isempty (title_str))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
132 title_str = sprintf ("%s: %s", title_str, fig.name);
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
133 elseif (! isempty (fig.name) && isempty (title_str))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
134 title_str = fig.name;
8610
85c9906abfd1 use endif and endfor instead of end
John W. Eaton <jwe@octave.org>
parents: 8530
diff changeset
135 endif
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
136 if (! isempty (title_str))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
137 title_str = sprintf ("title \"%s\"", title_str);
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
138 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
139 else
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
140 title_str = "";
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
141 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
142
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
143 if (isempty (strfind (opts_str, " size ")))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
144 ## Convert position to units used by gnuplot.
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
145 if (isbackend (term))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
146 ## Get figure size in pixels.
8638
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
147 [gnuplot_size, gnuplot_pos] = get_figsize (h);
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
148 else
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
149 ## Get size of the printed plot in inches.
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
150 gnuplot_size = get_canvassize (h);
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
151 ## If the output is a bitmap, convert to pixels.
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
152 if (isbitmap (term) || strcmpi (term, "svg"))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
153 gnuplot_size = gnuplot_size * get (0, "screenpixelsperinch");
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
154 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
155 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
156 if (all (gnuplot_size > 0))
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
157 ## Set terminal size.
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
158 terminals_with_size = {"emf", "gif", "jpeg", "latex", "pbm", ...
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
159 "pdf", "png", "postscript", "svg", "wxt", ...
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
160 "epslatex", "pstex", "pslatex"};
8638
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
161 if (__gnuplot_has_feature__("x11_figure_position"))
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
162 terminals_with_size{end+1} = "x11";
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
163 endif
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
164 if (any (strncmpi (term, terminals_with_size, 3)))
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
165 size_str = sprintf ("size %d,%d", gnuplot_size(1), gnuplot_size(2));
8638
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
166 if (strncmpi (term, "X11", 3))
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
167 screen_size = get (0, "screensize")(3:4);
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
168 if (all (screen_size > 0))
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
169 ## For X11, set the figure positon as well as the size
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
170 ## gnuplot position is UL, Octave's is LL (same for screen/window)
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
171 gnuplot_pos(2) = screen_size(2) - gnuplot_pos(2) - gnuplot_size(2);
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
172 gnuplot_pos = max (gnuplot_pos, 1);
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
173 size_str = sprintf ("%s position %d,%d", size_str,
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
174 gnuplot_pos(1), gnuplot_pos(2));
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
175 endif
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
176 endif
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
177 elseif (any (strncmpi (term, {"aqua", "fig"}, 3)))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
178 ## Aqua and Fig also have size, but the format is different.
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
179 size_str = sprintf ("size %d %d", gnuplot_size(1), gnuplot_size(2));
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
180 elseif (any (strncmpi (term, {"corel", "hpgl"}, 3)))
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
181 ## The size for corel and hpgl are goes at the end (implicit).
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
182 size_str = sprintf ("%d %d",gnuplot_size(1), gnuplot_size(2));
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
183 elseif (any (strncmpi (term, {"dxf"}, 3)))
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
184 ## DXF uses autocad units.
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
185 size_str = "";
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
186 else
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
187 size_str = "";
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
188 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
189 else
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
190 size_str = "";
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
191 warning ("gnuplot_set_term: size is zero")
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
192 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
193 else
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
194 ## A specified size take priority over the figure properies.
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
195 size_str = "";
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
196 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
197 else
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
198 if isempty (h)
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
199 disp ("gnuplot_set_term: figure handle is empty")
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
200 elseif !isfigure(h)
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
201 disp ("gnuplot_set_term: not a figure handle")
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
202 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
203 title_str = "";
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
204 size_str = "";
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
205 endif
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
206
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
207 ## Set the gnuplot terminal (type, enhanced?, title, & size).
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
208 if (! isempty (term))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
209 term_str = sprintf ("set terminal %s", term);
8789
d9bff42fec43 gnuplot_drawnow.m: Only close the gnuplot window and send position/size info when the figure's position property has changed.
Ben Abbott <bpabbott@mac.com>
parents: 8762
diff changeset
210 if (any (strncmpi (term, {"x11", "wxt"}, 3)) && new_stream
8638
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
211 && __gnuplot_has_feature__ ("x11_figure_position"))
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
212 ## The "close" is added to allow the figure position property
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
213 ## to remain active.
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
214 term_str = sprintf ("%s close", term_str);
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
215 endif
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
216 if (! isempty (enh_str))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
217 term_str = sprintf ("%s %s", term_str, enh_str);
8610
85c9906abfd1 use endif and endfor instead of end
John W. Eaton <jwe@octave.org>
parents: 8530
diff changeset
218 endif
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
219 if (! isempty (title_str))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
220 term_str = sprintf ("%s %s", term_str, title_str);
8610
85c9906abfd1 use endif and endfor instead of end
John W. Eaton <jwe@octave.org>
parents: 8530
diff changeset
221 endif
8789
d9bff42fec43 gnuplot_drawnow.m: Only close the gnuplot window and send position/size info when the figure's position property has changed.
Ben Abbott <bpabbott@mac.com>
parents: 8762
diff changeset
222 if (! isempty (size_str) && new_stream)
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
223 ## size_str goes last to permit specification of canvas size
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
224 ## for terminals cdr/corel.
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
225 term_str = sprintf ("%s %s", term_str, size_str);
8610
85c9906abfd1 use endif and endfor instead of end
John W. Eaton <jwe@octave.org>
parents: 8530
diff changeset
226 endif
8793
4c989d52f35c gnuplot_drawnow.m (gnuplot_set_term): adjust nargin checks for new signature
John W. Eaton <jwe@octave.org>
parents: 8789
diff changeset
227 if (nargin > 3 && ischar (opts_str))
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
228 ## Options must go last.
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
229 term_str = sprintf ("%s %s", term_str, opts_str);
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
230 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
231 fprintf (plot_stream, sprintf ("%s\n", term_str));
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
232 else
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
233 ## gnuplot will pick up the GNUTERM environment variable itself
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
234 ## so no need to set the terminal type if not also setting the
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
235 ## figure title, enhanced mode, or position.
8610
85c9906abfd1 use endif and endfor instead of end
John W. Eaton <jwe@octave.org>
parents: 8530
diff changeset
236 endif
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
237 endif
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
238
8793
4c989d52f35c gnuplot_drawnow.m (gnuplot_set_term): adjust nargin checks for new signature
John W. Eaton <jwe@octave.org>
parents: 8789
diff changeset
239 if (nargin == 5)
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
240 if (! isempty (file))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
241 fprintf (plot_stream, "set output \"%s\";\n", file);
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
242 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
243 endif
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
244 endfunction
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
245
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
246 function term = gnuplot_term ()
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
247 term = getenv ("GNUTERM");
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
248 ## If not specified, guess the terminal type.
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
249 if (isempty (term))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
250 if (ismac ())
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
251 term = "aqua";
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
252 elseif (! isunix ())
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
253 term = "windows";
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
254 else
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
255 term = "x11";
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
256 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
257 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
258 endfunction
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
259
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
260 function [term, opts] = gnuplot_trim_term (string)
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
261 ## Extract the terminal type and terminal options (from print.m)
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
262 string = deblank (string);
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
263 n = strfind (string, ' ');
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
264 if (isempty (n))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
265 term = string;
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
266 opts = "";
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
267 else
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
268 term = string(1:(n-1));
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
269 opts = string((n+1):end);
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
270 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
271 endfunction
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
272
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
273 function have_enhanced = gnuplot_is_enhanced_term (term)
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
274 persistent enhanced_terminals;
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
275 if (isempty (enhanced_terminals))
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
276 ## Don't include pstex, pslatex or epslatex here as the TeX commands
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
277 ## should not be interpreted in that case.
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
278 enhanced_terminals = {"aqua", "dumb", "png", "jpeg", "gif", "pm", ...
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
279 "windows", "wxt", "svg", "postscript", "x11", "pdf"};
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
280 endif
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
281 if (nargin < 1)
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
282 ## Determine the default gnuplot terminal.
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
283 term = gnuplot_term ();
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
284 endif
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
285 have_enhanced = false;
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
286 for n = 1 : length (enhanced_terminals)
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
287 t = enhanced_terminals{n};
7408
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
288 if (strncmp (term, t, min (length (term), length (t))))
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
289 have_enhanced = true;
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
290 break;
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
291 endif
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
292 endfor
246f905cb984 [project @ 2008-01-22 19:42:47 by jwe]
jwe
parents:
diff changeset
293 endfunction
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
294
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
295 function ret = isbackend (term)
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
296 if (nargin == 0)
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
297 term = gnuplot_term ();
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
298 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
299 ret = any (strcmpi ({"aqua", "wxt", "x11", "windows", "pm"}, term));
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
300 endfunction
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
301
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
302 function ret = isbitmap (term)
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
303 if (nargin == 0)
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
304 term = gnuplot_term ();
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
305 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
306 ret = any (strcmpi ({"png", "jpeg", "gif", "pbm"}, term));
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
307 endfunction
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
308
8638
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
309 function [fig_size, fig_pos] = get_figsize (h)
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
310 ## Determine the size of the figure in pixels.
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
311 position = get (h, "position");
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
312 units = get (h, "units");
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
313 t.inches = 1;
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
314 t.centimeters = 2.54;
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
315 t.pixels = get (0, "screenpixelsperinch");
8638
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
316 ## gnuplot treats pixels/points for the screen the same (?).
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
317 t.points = t.pixels;
8638
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
318 screensize = get (0, "screensize")(3:4);
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
319 t.normalized = screensize / t.pixels;
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
320 fig_size = position(3:4) * (t.pixels / t.(units));
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
321 fig_pos = position(1:2) * (t.pixels / t.(units));
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
322 fig_pos(1) = max (min (fig_pos(1), screensize(1)), 10);
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
323 fig_pos(2) = max (min (fig_pos(2), screensize(2)), 10);
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
324 fig_size(1) = max (min (fig_size(1), screensize(1)), 10-fig_pos(1));
20e93feaa7f8 gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents: 8624
diff changeset
325 fig_size(2) = max (min (fig_size(2), screensize(2)), 10-fig_pos(2));
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
326 endfunction
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
327
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
328 function plotsize = get_canvassize (h)
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
329 ## Returns the intended size of the plot on the page in inches.
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
330 ## "canvas size" is a gnuplot term. Gnuplot doesn't explicity plot to
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
331 ## an area/position on a page. Instead it plots to a "canvas" of a
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
332 ## explicit or implicit size.
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
333 t.points = get (0, "screenpixelsperinch");
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
334 t.centimeters = 2.54;
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
335 t.inches = 1.00;
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
336 papersize = get_papersize (h);
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
337 paperunits = get (h, "paperunits");
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
338 paperposition = get (h, "paperposition") / t.(paperunits);
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
339 if (strcmpi (paperunits, "normalized"))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
340 plotsize = papersize .* paperposition(3:4);
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
341 else
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
342 plotsize = paperposition(3:4);
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
343 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
344 endfunction
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
345
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
346 function papersize = get_papersize (h)
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
347 ## Returns the papersize in inches
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
348 persistent papertypes papersizes
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
349 if (isempty (papertypes))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
350 papertypes = {"usletter", "uslegal", ...
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
351 "a0", "a1", "a2", "a3", "a4", "a5", ...
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
352 "b0", "b1", "b2", "b3", "b4", "b5", ...
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
353 "arch-a", "arch-b", "arch-c", "arch-d", "arch-e", ...
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
354 "a", "b", "c", "d", "e", ...
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
355 "tabloid", "<custom>"};
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
356 papersizes = [ 8.500, 11.000;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
357 8.500, 14.000;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
358 33.135, 46.847;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
359 23.404, 33.135;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
360 16.548, 23.404;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
361 11.694, 16.528;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
362 8.268, 11.693;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
363 5.847, 8.264;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
364 40.543, 57.366;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
365 28.683, 40.503;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
366 20.252, 28.683;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
367 14.342, 20.252;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
368 10.126, 14.342;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
369 7.171, 10.126;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
370 9.000, 12.000;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
371 12.000, 18.000;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
372 18.000, 24.000;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
373 24.000, 36.000;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
374 36.000, 48.000;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
375 8.500, 11.000;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
376 11.000, 17.000;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
377 17.000, 22.000;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
378 22.000, 34.000;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
379 34.000, 44.000;
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
380 11.000, 17.000;
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
381 8.500, 11.000];
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
382 ## <custom> has a page size since we're not doing any checking here.
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
383 papersizes = round (1000 * papersizes);
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
384 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
385
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
386 paperunits = get (h, "paperunits");
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
387 if (strcmpi (paperunits, "normalized"))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
388 papertype = get (h, "papertype");
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
389 n = find (strcmpi (papertypes, papertype));
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
390 papersize = 0.001 * papersizes(n, :);
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
391 paperunits = "inches";
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
392 else
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
393 t.points = 72;
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
394 t.centimeters = 2.54;
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
395 t.inches = 1.00;
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
396 ## FIXME -- this papersize/type administration should be done at a
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
397 ## lower level.
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
398 if (strcmpi (get (h, "papertype"), "<custom>"))
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
399 ## If the type is custom but the size is a standard, then set the
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
400 ## standard type.
8762
2476ce55d4b5 typo in gnuplot_drawnow.m
Jaroslav Hajek <highegg@gmail.com>
parents: 8638
diff changeset
401 papersize = get (h, "papersize");
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
402 papersize = papersize * t.(paperunits);
8624
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
403 n = find (all ((ones ([size(papersizes, 1), 1])
ff7d90d92db8 gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents: 8610
diff changeset
404 * round (1000*papersize) - papersizes) == 0, 2));
8356
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
405 if (! isempty (n))
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
406 set (h, "papertype", papertypes{n});
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
407 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
408 else
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
409 papertype = get (h, "papertype");
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
410 n = find (strcmpi (papertypes, papertype));
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
411 papersize = papersizes(n,:) * 0.001;
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
412 set (h, "papersize", papersize * t.(paperunits));
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
413 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
414 endif
d750feaefa8e gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents: 8249
diff changeset
415 endfunction