annotate scripts/plot/ginput.m @ 16950:b34202b24212

fplot.m: Overhaul function for Matlab compatibility and performance (bug #38961). * scripts/plot/fplot.m: Add ability to specify n,tol,fmt in any order and simultaneously. Return data rather than plotting it if asked. Use additional test on progress of algorithm to decide whether to quit. Add %!demo and %!tests.
author Rik <rik@octave.org>
date Thu, 11 Jul 2013 09:25:54 -0700
parents f3d52523cde1
children eaab03308c0b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14138
72c96de7a403 maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents: 13280
diff changeset
1 ## Copyright (C) 2008-2012 David Bateman
7673
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
2 ##
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
3 ## This file is part of Octave.
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
4 ##
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
6 ## under the terms of the GNU General Public License as published by
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
8 ## your option) any later version.
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
9 ##
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
13 ## General Public License for more details.
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
14 ##
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
17 ## <http://www.gnu.org/licenses/>.
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
18
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
19 ## -*- texinfo -*-
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
20 ## @deftypefn {Function File} {[@var{x}, @var{y}, @var{buttons}] =} ginput (@var{n})
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
21 ## Return which mouse buttons were pressed and keys were hit on the current
9040
dbd0c77e575e Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents: 7674
diff changeset
22 ## figure. If @var{n} is defined, then wait for @var{n} mouse clicks
dbd0c77e575e Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents: 7674
diff changeset
23 ## before returning. If @var{n} is not defined, then @code{ginput} will
13280
c60a059a18bc doc: Use @key{} macro in ginput() documentation
Rik <octave@nomad.inbox5.com>
parents: 13123
diff changeset
24 ## loop until the return key @key{RET} is pressed.
7673
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
25 ## @end deftypefn
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
26
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
27 function varargout = ginput (n)
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
28
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
29 if (nargin > 1)
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
30 print_usage ();
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
31 endif
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
32
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
33 f = gcf ();
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
34 drawnow ();
11576
8ac9687dbe9f rename backend to graphics_toolkit
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
35 toolkit = (get (f, "__graphics_toolkit__"));
7673
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
36
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
37 varargout = cell (1, nargout);
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
38 if (nargin == 0)
11576
8ac9687dbe9f rename backend to graphics_toolkit
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
39 [varargout{:}] = feval (strcat ("__", toolkit, "_ginput__"), f);
7673
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
40 else
11576
8ac9687dbe9f rename backend to graphics_toolkit
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
41 [varargout{:}] = feval (strcat ("__", toolkit, "_ginput__"), f, n);
7673
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
42 endif
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
43
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
44 endfunction
13123
6efa1a691713 Add further tests for scripts/plot.
Kai Habel <kai.habel@gmx.de>
parents: 11576
diff changeset
45
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
46
13123
6efa1a691713 Add further tests for scripts/plot.
Kai Habel <kai.habel@gmx.de>
parents: 11576
diff changeset
47 ## Remove from test statistics. No real tests possible.
6efa1a691713 Add further tests for scripts/plot.
Kai Habel <kai.habel@gmx.de>
parents: 11576
diff changeset
48 %!test
6efa1a691713 Add further tests for scripts/plot.
Kai Habel <kai.habel@gmx.de>
parents: 11576
diff changeset
49 %! assert (1);
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
50