Mercurial > hg > octave-nkf
annotate scripts/plot/gnuplot_drawnow.m @ 9002:5cc15e4b4e5c
gnuplot_drawnow.m: Verify the gnuplot terminal is supported.
author | Ben Abbott <bpabbott@mac.com> |
---|---|
date | Sat, 21 Mar 2009 13:04:43 -0400 |
parents | eb63fbe60fab |
children | 7a7cf569528d |
rev | line source |
---|---|
8920 | 1 ## Copyright (C) 2005, 2006, 2007, 2008, 2009 John W. Eaton |
7408 | 2 ## |
3 ## This file is part of Octave. | |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6 ## under the terms of the GNU General Public License as published by | |
7 ## the Free Software Foundation; either version 3 of the License, or (at | |
8 ## your option) any later version. | |
9 ## | |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
14 ## | |
15 ## You should have received a copy of the GNU General Public License | |
16 ## along with Octave; see the file COPYING. If not, see | |
17 ## <http://www.gnu.org/licenses/>. | |
18 | |
19 ## -*- texinfo -*- | |
20 ## @deftypefn {Function File} {} drawnow () | |
21 ## Update and display the current graphics. | |
22 ## | |
23 ## Octave automatically calls drawnow just before printing a prompt, | |
24 ## when @code{sleep} or @code{pause} is called, or while waiting for | |
25 ## command-line input. | |
26 ## @end deftypefn | |
27 | |
28 ## Author: jwe | |
29 | |
30 function gnuplot_drawnow (h, term, file, mono, debug_file) | |
31 | |
32 if (nargin < 4) | |
33 mono = false; | |
34 endif | |
35 | |
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 | 39 plot_stream = []; |
40 fid = []; | |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
41 printing = ! output_to_screen (gnuplot_trim_term (term)); |
7408 | 42 unwind_protect |
9002
5cc15e4b4e5c
gnuplot_drawnow.m: Verify the gnuplot terminal is supported.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
43 plot_stream = open_gnuplot_stream (2, []); |
5cc15e4b4e5c
gnuplot_drawnow.m: Verify the gnuplot terminal is supported.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
44 available_terminals = __gnuplot_get_var__ (plot_stream, "GPVAL_TERMINALS"); |
5cc15e4b4e5c
gnuplot_drawnow.m: Verify the gnuplot terminal is supported.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
45 available_terminals = regexp (available_terminals, "\\b\\w+\\b", "match"); |
5cc15e4b4e5c
gnuplot_drawnow.m: Verify the gnuplot terminal is supported.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
46 if (any (strcmpi (available_terminals, gnuplot_trim_term (term)))) |
5cc15e4b4e5c
gnuplot_drawnow.m: Verify the gnuplot terminal is supported.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
47 [enhanced, implicit_margin] = gnuplot_set_term (plot_stream (1), true, h, term, file); |
5cc15e4b4e5c
gnuplot_drawnow.m: Verify the gnuplot terminal is supported.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
48 __go_draw_figure__ (h, plot_stream, enhanced, mono, printing, implicit_margin); |
5cc15e4b4e5c
gnuplot_drawnow.m: Verify the gnuplot terminal is supported.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
49 if (nargin == 5) |
5cc15e4b4e5c
gnuplot_drawnow.m: Verify the gnuplot terminal is supported.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
50 fid = fopen (debug_file, "wb"); |
5cc15e4b4e5c
gnuplot_drawnow.m: Verify the gnuplot terminal is supported.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
51 [enhanced, implicit_margin] = gnuplot_set_term (fid, true, h, term, file); |
5cc15e4b4e5c
gnuplot_drawnow.m: Verify the gnuplot terminal is supported.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
52 __go_draw_figure__ (h, fid, enhanced, mono, printing, implicit_margin); |
5cc15e4b4e5c
gnuplot_drawnow.m: Verify the gnuplot terminal is supported.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
53 endif |
5cc15e4b4e5c
gnuplot_drawnow.m: Verify the gnuplot terminal is supported.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
54 else |
5cc15e4b4e5c
gnuplot_drawnow.m: Verify the gnuplot terminal is supported.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
55 error ("gnuplot_drawnow: the gnuplot terminal, \"%s\", is not available.", |
5cc15e4b4e5c
gnuplot_drawnow.m: Verify the gnuplot terminal is supported.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
56 gnuplot_trim_term (term)) |
7408 | 57 endif |
58 unwind_protect_cleanup | |
59 if (! isempty (plot_stream)) | |
60 pclose (plot_stream); | |
61 endif | |
62 if (! isempty (fid)) | |
63 fclose (fid); | |
64 endif | |
65 end_unwind_protect | |
66 elseif (nargin == 1) | |
8624
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
67 ## Graphics terminal for display. |
8249 | 68 plot_stream = get (h, "__plot_stream__"); |
7408 | 69 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
|
70 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
|
71 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
|
72 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
|
73 new_stream = false; |
7408 | 74 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
|
75 enhanced = gnuplot_set_term (plot_stream (1), new_stream, h); |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
76 __go_draw_figure__ (h, plot_stream (1), enhanced, mono, 0); |
7680
a0ec02774303
Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents:
7408
diff
changeset
|
77 fflush (plot_stream (1)); |
7408 | 78 else |
79 print_usage (); | |
80 endif | |
81 | |
82 endfunction | |
83 | |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
84 function implicit_margin = gnuplot_implicit_margin (term, opts_str) |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
85 ## gnuplot has an implicit margin of 50pts for PS output. |
8901
821f0242e8c1
gnuplot_drawnow.m: Fix unintended shift of plot image for the gnuplot postscript+eps terminal.
Ben Abbott <bpabbott@mac.com>
parents:
8889
diff
changeset
|
86 if (strcmpi (term, "postscript")) |
821f0242e8c1
gnuplot_drawnow.m: Fix unintended shift of plot image for the gnuplot postscript+eps terminal.
Ben Abbott <bpabbott@mac.com>
parents:
8889
diff
changeset
|
87 if (isempty (strfind (opts_str, " eps")) |
821f0242e8c1
gnuplot_drawnow.m: Fix unintended shift of plot image for the gnuplot postscript+eps terminal.
Ben Abbott <bpabbott@mac.com>
parents:
8889
diff
changeset
|
88 && isempty (strfind (opts_str, "eps "))) |
821f0242e8c1
gnuplot_drawnow.m: Fix unintended shift of plot image for the gnuplot postscript+eps terminal.
Ben Abbott <bpabbott@mac.com>
parents:
8889
diff
changeset
|
89 implicit_margin = 50/72; |
821f0242e8c1
gnuplot_drawnow.m: Fix unintended shift of plot image for the gnuplot postscript+eps terminal.
Ben Abbott <bpabbott@mac.com>
parents:
8889
diff
changeset
|
90 else |
821f0242e8c1
gnuplot_drawnow.m: Fix unintended shift of plot image for the gnuplot postscript+eps terminal.
Ben Abbott <bpabbott@mac.com>
parents:
8889
diff
changeset
|
91 ## When zero, the behavior of gnuplot changes. |
821f0242e8c1
gnuplot_drawnow.m: Fix unintended shift of plot image for the gnuplot postscript+eps terminal.
Ben Abbott <bpabbott@mac.com>
parents:
8889
diff
changeset
|
92 implicit_margin = 1/72; |
821f0242e8c1
gnuplot_drawnow.m: Fix unintended shift of plot image for the gnuplot postscript+eps terminal.
Ben Abbott <bpabbott@mac.com>
parents:
8889
diff
changeset
|
93 endif |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
94 else |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
95 implicit_margin = 0.0; |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
96 endif |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
97 endfunction |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
98 |
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
|
99 function plot_stream = open_gnuplot_stream (npipes, h) |
7408 | 100 cmd = gnuplot_binary (); |
7680
a0ec02774303
Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents:
7408
diff
changeset
|
101 if (npipes > 1) |
a0ec02774303
Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents:
7408
diff
changeset
|
102 [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
|
103 if (pid < 0) |
a0ec02774303
Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents:
7408
diff
changeset
|
104 error ("drawnow: failed to open connection to gnuplot"); |
a0ec02774303
Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents:
7408
diff
changeset
|
105 endif |
7408 | 106 else |
7680
a0ec02774303
Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents:
7408
diff
changeset
|
107 plot_stream = popen (cmd, "w"); |
a0ec02774303
Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents:
7408
diff
changeset
|
108 if (plot_stream < 0) |
a0ec02774303
Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents:
7408
diff
changeset
|
109 error ("drawnow: failed to open connection to gnuplot"); |
a0ec02774303
Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents:
7408
diff
changeset
|
110 endif |
a0ec02774303
Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents:
7408
diff
changeset
|
111 endif |
a0ec02774303
Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents:
7408
diff
changeset
|
112 if (! isempty (h)) |
a0ec02774303
Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents:
7408
diff
changeset
|
113 set (h, "__plot_stream__", plot_stream); |
a0ec02774303
Use popen2 for communication with gnuplot
David Bateman <dbateman@free.fr>
parents:
7408
diff
changeset
|
114 endif |
7408 | 115 endfunction |
116 | |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
117 function [enhanced, implicit_margin] = 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
|
118 ## Generate the gnuplot "set terminal <term> ..." command. Include |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
119 ## the subset of properties "position", "units", "paperposition", |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
120 ## "paperunits", "name", and "numbertitle". When "term" originates |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
121 ## 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
|
122 if (nargin < 4) |
8624
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
123 ## This supports the gnuplot backend. |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
124 term = gnuplot_default_term (); |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
125 opts_str = ""; |
7408 | 126 else |
8624
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
127 ## 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
|
128 ## 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
|
129 [term, opts_str] = gnuplot_trim_term (term); |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
130 if (strcmpi (term, "pdf") && strcmpi (opts_str, "color")) |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
131 ## FIXME -- "color" for the pdf terminal produces a gnuplot error. |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
132 opts_str = ""; |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
133 endif |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
134 endif |
7408 | 135 |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
136 implicit_margin = gnuplot_implicit_margin (term, opts_str); |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
137 |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
138 enhanced = gnuplot_is_enhanced_term (term); |
7408 | 139 |
8624
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
140 ## Set the terminal. |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
141 if (! isempty (term)) |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
142 |
7408 | 143 if (enhanced) |
144 enh_str = "enhanced"; | |
145 else | |
146 enh_str = ""; | |
147 endif | |
148 | |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
149 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
|
150 |
8624
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
151 ## Generate gnuoplot title string for backend plot windows. |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
152 if (output_to_screen (term)) |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
153 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
|
154 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
|
155 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
|
156 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
|
157 else |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
158 title_str = ""; |
8610
85c9906abfd1
use endif and endfor instead of end
John W. Eaton <jwe@octave.org>
parents:
8530
diff
changeset
|
159 endif |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
160 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
|
161 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
|
162 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
|
163 title_str = fig.name; |
8610
85c9906abfd1
use endif and endfor instead of end
John W. Eaton <jwe@octave.org>
parents:
8530
diff
changeset
|
164 endif |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
165 if (! isempty (title_str)) |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
166 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
|
167 endif |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
168 else |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
169 title_str = ""; |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
170 endif |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
171 if (! (any (strfind (opts_str, " size ") > 0) |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
172 || any (strfind (opts_str, "size ") == 1))) |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
173 ## Convert position to units used by gnuplot. |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
174 if (output_to_screen (term)) |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
175 ## 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
|
176 [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
|
177 else |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
178 ## Get size of the printed plot in inches. |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
179 gnuplot_size = get_papersize (h); |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
180 if (term_units_are_pixels (term)) |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
181 ## Convert to inches using the property set by print(). |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
182 gnuplot_size = gnuplot_size * get (h, "__pixels_per_inch__"); |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
183 else |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
184 ## Implicit margins are in units of "inches" |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
185 gnuplot_size = gnuplot_size - implicit_margin; |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
186 endif |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
187 endif |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
188 [begin_match, end_match, te, match] = regexp (opts_str, "(\\s-r\\d+)|(^-r\\d+)"); |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
189 if (! isempty (begin_match)) |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
190 error ("gnuplot_drawnow.m: specifying resultion, '%s', not supported for terminal '%s'", |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
191 strtrim (match{1}), term) |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
192 endif |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
193 if (all (gnuplot_size > 0)) |
8624
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
194 ## Set terminal size. |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
195 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
|
196 "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
|
197 "epslatex", "pstex", "pslatex"}; |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
198 if (__gnuplot_has_feature__ ("x11_figure_position")) |
8638
20e93feaa7f8
gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents:
8624
diff
changeset
|
199 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
|
200 endif |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
201 if (any (strncmpi (term, terminals_with_size, 3))) |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
202 if (term_units_are_pixels (term)) |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
203 size_str = sprintf ("size %d,%d", gnuplot_size(1), gnuplot_size(2)); |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
204 else |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
205 size_str = sprintf ("size %.15g,%.15g", gnuplot_size(1), gnuplot_size(2)); |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
206 endif |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
207 if (strncmpi (term, "X11", 3) && __gnuplot_has_feature__ ("x11_figure_position")) |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
208 ## X11 allows the window to be positioned as well. |
8638
20e93feaa7f8
gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents:
8624
diff
changeset
|
209 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
|
210 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
|
211 ## 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
|
212 ## 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
|
213 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
|
214 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
|
215 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
|
216 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
|
217 endif |
20e93feaa7f8
gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents:
8624
diff
changeset
|
218 endif |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
219 elseif (strncmpi (term, "aqua", 3)) |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
220 ## Aqua has size, but the format is different. |
8624
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
221 size_str = sprintf ("size %d %d", gnuplot_size(1), gnuplot_size(2)); |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
222 elseif (strncmpi (term, "fig", 3)) |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
223 ## Fig also has size, but the format is different. |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
224 size_str = sprintf ("size %.15g %.15g", 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
|
225 elseif (any (strncmpi (term, {"corel", "hpgl"}, 3))) |
8624
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
226 ## The size for corel and hpgl are goes at the end (implicit). |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
227 size_str = sprintf ("%.15g %.15g",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
|
228 elseif (any (strncmpi (term, {"dxf"}, 3))) |
8624
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
229 ## 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
|
230 size_str = ""; |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
231 else |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
232 size_str = ""; |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
233 endif |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
234 else |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
235 size_str = ""; |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
236 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
|
237 endif |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
238 else |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
239 ## 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
|
240 size_str = ""; |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
241 endif |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
242 else |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
243 if isempty (h) |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
244 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
|
245 elseif !isfigure(h) |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
246 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
|
247 endif |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
248 title_str = ""; |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
249 size_str = ""; |
7408 | 250 endif |
251 | |
8624
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
252 ## 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
|
253 if (! isempty (term)) |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
254 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
|
255 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
|
256 && __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
|
257 ## 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
|
258 ## to remain active. |
20e93feaa7f8
gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents:
8624
diff
changeset
|
259 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
|
260 endif |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
261 if (! isempty (enh_str)) |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
262 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
|
263 endif |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
264 if (! isempty (title_str)) |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
265 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
|
266 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
|
267 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
|
268 ## 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
|
269 ## 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
|
270 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
|
271 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
|
272 if (nargin > 3 && ischar (opts_str)) |
8624
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
273 ## 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
|
274 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
|
275 endif |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
276 fprintf (plot_stream, sprintf ("%s;\n", term_str)); |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
277 else |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
278 ## 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
|
279 ## 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
|
280 ## 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
|
281 endif |
7408 | 282 endif |
283 | |
8793
4c989d52f35c
gnuplot_drawnow.m (gnuplot_set_term): adjust nargin checks for new signature
John W. Eaton <jwe@octave.org>
parents:
8789
diff
changeset
|
284 if (nargin == 5) |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
285 if (! isempty (file)) |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
286 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
|
287 endif |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
288 endif |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
289 |
7408 | 290 endfunction |
291 | |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
292 function term = gnuplot_default_term () |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
293 term = getenv ("GNUTERM"); |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
294 ## 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
|
295 if (isempty (term)) |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
296 if (ismac ()) |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
297 term = "aqua"; |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
298 elseif (! isunix ()) |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
299 term = "windows"; |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
300 else |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
301 term = "x11"; |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
302 endif |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
303 endif |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
304 endfunction |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
305 |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
306 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
|
307 ## 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
|
308 string = deblank (string); |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
309 n = strfind (string, ' '); |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
310 if (isempty (n)) |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
311 term = string; |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
312 opts = ""; |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
313 else |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
314 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
|
315 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
|
316 endif |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
317 endfunction |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
318 |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
319 function have_enhanced = gnuplot_is_enhanced_term (term) |
7408 | 320 persistent enhanced_terminals; |
321 if (isempty (enhanced_terminals)) | |
322 ## Don't include pstex, pslatex or epslatex here as the TeX commands | |
323 ## 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
|
324 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
|
325 "windows", "wxt", "svg", "postscript", "x11", "pdf"}; |
7408 | 326 endif |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
327 if (nargin < 1) |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
328 ## Determine the default gnuplot terminal. |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
329 term = gnuplot_default_term (); |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
330 endif |
7408 | 331 have_enhanced = false; |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
332 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
|
333 t = enhanced_terminals{n}; |
7408 | 334 if (strncmp (term, t, min (length (term), length (t)))) |
335 have_enhanced = true; | |
336 break; | |
337 endif | |
338 endfor | |
339 endfunction | |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
340 |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
341 function ret = output_to_screen (term) |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
342 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
|
343 endfunction |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
344 |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
345 function ret = term_units_are_pixels (term) |
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
346 ret = any (strcmpi ({"png", "jpeg", "gif", "pbm", "svg"}, term)); |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
347 endfunction |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
348 |
8638
20e93feaa7f8
gnuplot_drawnow.m: gnuplot_drawnow.m: respect x11 figure position property
Ben Abbott <bpabbott@mac.com>
parents:
8624
diff
changeset
|
349 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
|
350 ## 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
|
351 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
|
352 units = get (h, "units"); |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
353 t.inches = 1; |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
354 t.centimeters = 2.54; |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
355 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
|
356 ## 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
|
357 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
|
358 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
|
359 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
|
360 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
|
361 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
|
362 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
|
363 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
|
364 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
|
365 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
|
366 endfunction |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
367 |
8624
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
368 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
|
369 ## Returns the papersize in inches |
8889
665b264b6a50
Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
8813
diff
changeset
|
370 ## FIXME - a listener should hanlde this. |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
371 persistent papertypes papersizes |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
372 if (isempty (papertypes)) |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
373 papertypes = {"usletter", "uslegal", ... |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
374 "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
|
375 "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
|
376 "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
|
377 "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
|
378 "tabloid", "<custom>"}; |
8624
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
379 papersizes = [ 8.500, 11.000; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
380 8.500, 14.000; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
381 33.135, 46.847; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
382 23.404, 33.135; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
383 16.548, 23.404; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
384 11.694, 16.528; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
385 8.268, 11.693; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
386 5.847, 8.264; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
387 40.543, 57.366; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
388 28.683, 40.503; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
389 20.252, 28.683; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
390 14.342, 20.252; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
391 10.126, 14.342; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
392 7.171, 10.126; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
393 9.000, 12.000; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
394 12.000, 18.000; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
395 18.000, 24.000; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
396 24.000, 36.000; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
397 36.000, 48.000; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
398 8.500, 11.000; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
399 11.000, 17.000; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
400 17.000, 22.000; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
401 22.000, 34.000; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
402 34.000, 44.000; |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
403 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
|
404 8.500, 11.000]; |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
405 ## <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
|
406 papersizes = round (1000 * papersizes); |
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 |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
409 paperunits = get (h, "paperunits"); |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
410 if (strcmpi (paperunits, "normalized")) |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
411 papertype = get (h, "papertype"); |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
412 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
|
413 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
|
414 paperunits = "inches"; |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
415 else |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
416 t.points = 72; |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
417 t.centimeters = 2.54; |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
418 t.inches = 1.00; |
8624
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
419 ## 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
|
420 ## lower level. |
8356
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
421 if (strcmpi (get (h, "papertype"), "<custom>")) |
8624
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
422 ## 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
|
423 ## standard type. |
8762
2476ce55d4b5
typo in gnuplot_drawnow.m
Jaroslav Hajek <highegg@gmail.com>
parents:
8638
diff
changeset
|
424 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
|
425 papersize = papersize * t.(paperunits); |
8624
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
426 n = find (all ((ones ([size(papersizes, 1), 1]) |
ff7d90d92db8
gnuplot_drawnow.m: style fixes.
Ben Abbott <bpabbott@mac.com>
parents:
8610
diff
changeset
|
427 * 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
|
428 if (! isempty (n)) |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
429 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
|
430 endif |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
431 else |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
432 papertype = get (h, "papertype"); |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
433 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
|
434 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
|
435 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
|
436 endif |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
437 endif |
d750feaefa8e
gnuplot_drawnow.m: Add support of properites to gp backend.
Ben Abbott <bpabbott@mac.com>
parents:
8249
diff
changeset
|
438 endfunction |