annotate scripts/plot/__axes_limits__.m @ 7208:a730e47fda4d

[project @ 2007-11-28 02:32:41 by jwe]
author jwe
date Wed, 28 Nov 2007 02:32:42 +0000
parents bd56a0609c4f
children dd88d61d443f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7050
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
1 ## Copyright (C) 2007 David Bateman
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
2 ##
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
3 ## This file is part of Octave.
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
4 ##
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
6 ## under the terms of the GNU General Public License as published by
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
8 ## your option) any later version.
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
9 ##
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
13 ## General Public License for more details.
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
14 ##
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
17 ## <http://www.gnu.org/licenses/>.
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
18
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
19 ## Undocumented internal function.
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
20
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
21 function retval = __axes_limits__ (fcn, varargin)
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
22 retval = [];
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
23 fcnmode = sprintf("%smode", fcn);
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
24
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
25 if (nargin > 1 && isscalar (varargin{1}) && ishandle (varargin{1}))
7208
a730e47fda4d [project @ 2007-11-28 02:32:41 by jwe]
jwe
parents: 7050
diff changeset
26 h = varargin{1};
7050
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
27 off = 1;
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
28 if (! strcmp (get (h, "type"), "axes"))
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
29 error ("%s: expecting first argument to be an axes object", fcn);
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
30 endif
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
31 else
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
32 off = 0;
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
33 h = gca ();
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
34 endif
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
35
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
36 if (nargin == off + 1)
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
37 retval = get (h, fcn);
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
38 else
7208
a730e47fda4d [project @ 2007-11-28 02:32:41 by jwe]
jwe
parents: 7050
diff changeset
39 arg = varargin{off + 1};
7050
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
40
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
41 if (ischar (arg))
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
42 arg = tolower (arg);
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
43 if (strcmp ("mode", arg))
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
44
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
45 retval = get (h, fcnmode);
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
46 elseif (strcmp ("auto", arg) || strcmp ("manual", arg))
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
47 set (h, fcnmode, arg);
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
48 endif
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
49 else
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
50 if (!isnumeric (arg) && any (size(arg(:)) != [2, 1]))
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
51 error ("%s: argument must be a 2 element vector", fcn);
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
52 else
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
53 set (h, fcn, arg (:));
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
54 endif
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
55 endif
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
56 endif
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
57 endfunction