Mercurial > hg > octave-lyh
annotate scripts/plot/orient.m @ 17179:c3bd7314643c
doc: Periodic spellcheck of documentation.
* doc/interpreter/doccheck/aspell-octave.en.pws: Add new words to
Octave-specific dictionary.
* scripts/miscellaneous/edit.m: Use @nospell macro to stop spellchecking code
samples.
* scripts/image/imread.m, scripts/image/imwrite.m,
scripts/linear-algebra/cond.m, scripts/plot/orient.m: Periodic spellcheck of
documentation.
author | Rik <rik@octave.org> |
---|---|
date | Sun, 04 Aug 2013 13:22:53 -0700 |
parents | e7723410ec32 |
children | bc924baa2c4e |
rev | line source |
---|---|
14138
72c96de7a403
maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents:
11589
diff
changeset
|
1 ## Copyright (C) 2001-2012 Paul Kienzle |
5364 | 2 ## |
5365 | 3 ## This file is part of Octave. |
5364 | 4 ## |
5365 | 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 | |
7016 | 7 ## the Free Software Foundation; either version 3 of the License, or (at |
8 ## your option) any later version. | |
5365 | 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. | |
5364 | 14 ## |
15 ## You should have received a copy of the GNU General Public License | |
7016 | 16 ## along with Octave; see the file COPYING. If not, see |
17 ## <http://www.gnu.org/licenses/>. | |
5364 | 18 |
5365 | 19 ## -*- texinfo -*- |
17126
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
20 ## @deftypefn {Function File} {} orient (@var{orientation}) |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
21 ## @deftypefnx {Function File} {} orient (@var{hfig}, @var{orientation}) |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
22 ## @deftypefnx {Function File} {@var{orientation} =} orient () |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
23 ## @deftypefnx {Function File} {@var{orientation} =} orient (@var{hfig}) |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
24 ## Query or set the default print orientation. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
25 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
26 ## Valid values for @var{orientation} are "landscape", "portrait", and "tall". |
9832
cd0c4a5a12c8
orient.m: Flip papersize and paperposition when orientation changes. Add support for 'tall' option. Add tests.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
27 ## |
17179
c3bd7314643c
doc: Periodic spellcheck of documentation.
Rik <rik@octave.org>
parents:
17158
diff
changeset
|
28 ## The "tall" option sets the orientation to portrait and fills |
17126
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
29 ## the page with the plot, while leaving a 0.25 inch border. |
9832
cd0c4a5a12c8
orient.m: Flip papersize and paperposition when orientation changes. Add support for 'tall' option. Add tests.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
30 ## |
17126
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
31 ## When called with no arguments, return the default print orientation. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
32 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
33 ## If the first argument @var{hfig} is a figure handle, then operate on this |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
34 ## figure rather than the current figure returned by @code{gcf}. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
35 ## @seealso{print, saveas} |
5365 | 36 ## @end deftypefn |
5364 | 37 |
5365 | 38 ## Author: Paul Kienzle |
39 ## Adapted-By: jwe | |
5364 | 40 |
6257 | 41 function retval = orient (varargin) |
5365 | 42 |
6257 | 43 nargs = nargin; |
5364 | 44 |
8248 | 45 if (nargs > 0 && numel (varargin{1}) == 1 && isfigure (varargin{1})) |
6257 | 46 cf = varargin{1}; |
47 varargin(1) = []; | |
48 nargs--; | |
49 else | |
50 cf = gcf (); | |
51 endif | |
52 | |
53 if (nargs == 0) | |
54 retval = get (cf, "paperorientation"); | |
5364 | 55 elseif (nargin == 1) |
6257 | 56 orientation = varargin{1}; |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
8189
diff
changeset
|
57 if (strcmpi (orientation, "landscape") || strcmpi (orientation, "portrait")) |
9832
cd0c4a5a12c8
orient.m: Flip papersize and paperposition when orientation changes. Add support for 'tall' option. Add tests.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
58 if (! strcmpi (get (cf, "paperorientation"), orientation)) |
17126
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
59 ## FIXME: with the proper listeners in place there won't be a need to |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
60 ## set the papersize and paperpostion here. |
9832
cd0c4a5a12c8
orient.m: Flip papersize and paperposition when orientation changes. Add support for 'tall' option. Add tests.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
61 papersize = get (cf, "papersize"); |
cd0c4a5a12c8
orient.m: Flip papersize and paperposition when orientation changes. Add support for 'tall' option. Add tests.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
62 paperposition = get (cf, "paperposition"); |
11589
b0084095098e
missing semicolons in script files
John W. Eaton <jwe@octave.org>
parents:
11587
diff
changeset
|
63 set (cf, "paperorientation", orientation); |
9832
cd0c4a5a12c8
orient.m: Flip papersize and paperposition when orientation changes. Add support for 'tall' option. Add tests.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
64 set (cf, "papersize", papersize([2, 1])); |
cd0c4a5a12c8
orient.m: Flip papersize and paperposition when orientation changes. Add support for 'tall' option. Add tests.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
65 set (cf, "paperposition", paperposition([2, 1, 4, 3])); |
cd0c4a5a12c8
orient.m: Flip papersize and paperposition when orientation changes. Add support for 'tall' option. Add tests.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
66 endif |
cd0c4a5a12c8
orient.m: Flip papersize and paperposition when orientation changes. Add support for 'tall' option. Add tests.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
67 elseif (strcmpi (varargin{1}, 'tall')) |
11589
b0084095098e
missing semicolons in script files
John W. Eaton <jwe@octave.org>
parents:
11587
diff
changeset
|
68 orient ("portrait"); |
9832
cd0c4a5a12c8
orient.m: Flip papersize and paperposition when orientation changes. Add support for 'tall' option. Add tests.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
69 papersize = get (cf, "papersize"); |
cd0c4a5a12c8
orient.m: Flip papersize and paperposition when orientation changes. Add support for 'tall' option. Add tests.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
70 set (cf, "paperposition", [0.25, 0.25, (papersize - 0.5)]); |
5364 | 71 else |
11472
1740012184f9
Use uppercase for variable names in error() strings to match Info documentation. Only m-files done.
Rik <octave@nomad.inbox5.com>
parents:
9832
diff
changeset
|
72 error ("orient: unknown ORIENTATION"); |
5364 | 73 endif |
74 else | |
6046 | 75 print_usage (); |
5364 | 76 endif |
77 | |
78 endfunction | |
79 | |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
80 |
9832
cd0c4a5a12c8
orient.m: Flip papersize and paperposition when orientation changes. Add support for 'tall' option. Add tests.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
81 %!shared papersize, paperposition, tallpaperposition, hfig |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
82 %! papersize = [8.5, 11]; |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
83 %! paperposition = [0.25, 2.5, 8, 6]; |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
84 %! tallpaperposition = [0.25, 0.25, (papersize-0.5)]; |
17158
e7723410ec32
Recode some %!tests which pop up figures with new figure() behavior.
Rik <rik@octave.org>
parents:
17126
diff
changeset
|
85 %! hfig = figure ("visible", "off"); |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
86 %! set (hfig, "paperorientation", "portrait"); |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
87 %! set (hfig, "papersize", papersize); |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
88 %! set (hfig, "paperposition", paperposition); |
17158
e7723410ec32
Recode some %!tests which pop up figures with new figure() behavior.
Rik <rik@octave.org>
parents:
17126
diff
changeset
|
89 |
9832
cd0c4a5a12c8
orient.m: Flip papersize and paperposition when orientation changes. Add support for 'tall' option. Add tests.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
90 %!test |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
91 %! orient portrait; |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
92 %! assert (orient, "portrait") # default |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
93 %! assert (get (hfig, "papersize"), papersize); |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
94 %! assert (get (hfig, "paperposition"), paperposition); |
17158
e7723410ec32
Recode some %!tests which pop up figures with new figure() behavior.
Rik <rik@octave.org>
parents:
17126
diff
changeset
|
95 |
9832
cd0c4a5a12c8
orient.m: Flip papersize and paperposition when orientation changes. Add support for 'tall' option. Add tests.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
96 %!test |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
97 %! orient landscape; |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
98 %! assert (orient,"landscape") # change to landscape |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
99 %! assert (get (hfig, "papersize"), papersize([2, 1])); |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
100 %! assert (get (hfig, "paperposition"), paperposition([2, 1, 4, 3])); |
17158
e7723410ec32
Recode some %!tests which pop up figures with new figure() behavior.
Rik <rik@octave.org>
parents:
17126
diff
changeset
|
101 |
9832
cd0c4a5a12c8
orient.m: Flip papersize and paperposition when orientation changes. Add support for 'tall' option. Add tests.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
102 %!test |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
103 %! orient portrait # change back to portrait |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
104 %! assert (orient, "portrait"); |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
105 %! assert (get (hfig, "papersize"), papersize); |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
106 %! assert (get (hfig, "paperposition"), paperposition); |
17158
e7723410ec32
Recode some %!tests which pop up figures with new figure() behavior.
Rik <rik@octave.org>
parents:
17126
diff
changeset
|
107 |
9832
cd0c4a5a12c8
orient.m: Flip papersize and paperposition when orientation changes. Add support for 'tall' option. Add tests.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
108 %!test |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
109 %! orient landscape; |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
110 %! orient tall; |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
111 %! assert (orient, "portrait"); |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
112 %! assert (get (hfig, "papersize"), papersize); |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
113 %! assert (get (hfig, "paperposition"), tallpaperposition); |
17158
e7723410ec32
Recode some %!tests which pop up figures with new figure() behavior.
Rik <rik@octave.org>
parents:
17126
diff
changeset
|
114 |
11473
44032aac5223
Correct failing error() tests due to change in capitalization of previous changeset.
Rik <octave@nomad.inbox5.com>
parents:
11472
diff
changeset
|
115 %!fail ("orient ('nobody')", "unknown ORIENTATION") |
17158
e7723410ec32
Recode some %!tests which pop up figures with new figure() behavior.
Rik <rik@octave.org>
parents:
17126
diff
changeset
|
116 |
9832
cd0c4a5a12c8
orient.m: Flip papersize and paperposition when orientation changes. Add support for 'tall' option. Add tests.
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
117 %!test |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
118 %! orient portrait # errors don't change the state |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
119 %! assert (orient, "portrait"); |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
120 %! assert (get (hfig, "papersize"), papersize); |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
121 %! assert (get (hfig, "paperposition"), tallpaperposition); |
17158
e7723410ec32
Recode some %!tests which pop up figures with new figure() behavior.
Rik <rik@octave.org>
parents:
17126
diff
changeset
|
122 |
e7723410ec32
Recode some %!tests which pop up figures with new figure() behavior.
Rik <rik@octave.org>
parents:
17126
diff
changeset
|
123 %!test |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
124 %! close (hfig); |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
125 |