comparison scripts/plot/drawnow.m @ 6257:44c91c5dfe1d

[project @ 2007-01-30 19:16:52 by jwe]
author jwe
date Tue, 30 Jan 2007 19:16:55 +0000
parents
children c6a7b0453f9a
comparison
equal deleted inserted replaced
6256:83949ae13b2c 6257:44c91c5dfe1d
1 ## Copyright (C) 2005 John W. Eaton
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 2, or (at your option)
8 ## 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, write to the Free
17 ## Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18 ## 02110-1301, USA.
19
20 ## -*- texinfo -*-
21 ## @deftypefn {Function File} {} drawnow ()
22 ## Display the current graphics.
23 ## @end deftypefn
24
25 ## Author: jwe
26
27 function drawnow (term, file)
28
29 ## Use this instead of calling gcf to avoid creating a figure.
30
31 h = get (0, "currentfigure");
32
33 if (h)
34
35 f = get (h);
36
37 plot_stream = f.__plot_stream__;
38
39 if (isempty (plot_stream))
40 plot_stream = popen (sprintf ("gnuplot -title \"Figure %d\"", h), "w");
41 if (plot_stream < 0)
42 error ("drawnow: failed to open connection to gnuplot");
43 else
44 set (h, "__plot_stream__", plot_stream);
45 if (isempty (getenv ("DISPLAY")))
46 fprintf (plot_stream, "set terminal dumb\n;");
47 endif
48 endif
49 endif
50
51 if (nargin == 2)
52 fprintf (plot_stream,
53 "set terminal push; set terminal %s; set output '%s'\n",
54 term, file);
55 endif
56
57 if (nargin == 2 || strcmp (f.visible, "on"))
58 __uiobject_draw_figure__ (f, plot_stream);
59 endif
60
61 __request_drawnow__ (false);
62
63 if (nargin == 2)
64 fputs (plot_stream, "set terminal pop; set output;\n");
65 endif
66
67 else
68
69 __request_drawnow__ (false);
70
71 endif
72
73
74 endfunction