Mercurial > hg > octave-nkf
comparison scripts/plot/fill.m @ 7215:dd88d61d443f
[project @ 2007-11-29 16:44:45 by jwe]
author | jwe |
---|---|
date | Thu, 29 Nov 2007 16:46:40 +0000 |
parents | a730e47fda4d |
children | 5389a52df87b |
comparison
equal
deleted
inserted
replaced
7214:86d0b16f2bb2 | 7215:dd88d61d443f |
---|---|
25 ## Create one or more filled patch objects, returning a patch object for each. | 25 ## Create one or more filled patch objects, returning a patch object for each. |
26 ## @end deftypefn | 26 ## @end deftypefn |
27 | 27 |
28 function h = fill (varargin) | 28 function h = fill (varargin) |
29 | 29 |
30 [h, varargin] = __plt_get_axis_arg__ ("fill", varargin{:}); | |
30 htmp = []; | 31 htmp = []; |
32 iargs = __find_patches__ (varargin{:}); | |
33 oldh = gca (); | |
34 unwind_protect | |
35 axes (h); | |
31 | 36 |
32 if (isscalar (varargin{1}) && ishandle (varargin{1})) | |
33 h = varargin{1}; | |
34 if (! strcmp (get (h, "type"), "axes")) | |
35 error ("fill: expecting first argument to be an axes object"); | |
36 endif | |
37 | |
38 iargs = __find_patches__ (varargin{:}) + 1; | |
39 oldh = gca (); | |
40 unwind_protect | |
41 axes (h); | |
42 | |
43 for i = 1 : length (iargs) | |
44 if (i == length (iargs)) | |
45 args = varargin (iargs(i):end); | |
46 else | |
47 args = varargin (iargs(i):iargs(i+1)-1); | |
48 endif | |
49 newplot (); | |
50 [tmp, fail] = __patch__ (h, args{:}); | |
51 if (fail) | |
52 print_usage(); | |
53 endif | |
54 htmp (end + 1) = tmp; | |
55 endfor | |
56 unwind_protect_cleanup | |
57 axes (oldh); | |
58 end_unwind_protect | |
59 else | |
60 iargs = __find_patches__ (varargin{:}); | |
61 for i = 1 : length (iargs) | 37 for i = 1 : length (iargs) |
62 if (i == length (iargs)) | 38 if (i == length (iargs)) |
63 args = varargin (iargs(i):end); | 39 args = varargin (iargs(i):end); |
64 else | 40 else |
65 args = varargin (iargs(i):iargs(i+1)-1); | 41 args = varargin (iargs(i):iargs(i+1)-1); |
66 endif | 42 endif |
67 newplot (); | 43 newplot (); |
68 [tmp, fail] = __patch__ (gca (), args{:}); | 44 [tmp, fail] = __patch__ (h, args{:}); |
69 if (fail) | 45 if (fail) |
70 print_usage(); | 46 print_usage(); |
71 endif | 47 endif |
72 htmp (end + 1) = tmp; | 48 htmp (end + 1) = tmp; |
73 endfor | 49 endfor |
74 endif | 50 unwind_protect_cleanup |
51 axes (oldh); | |
52 end_unwind_protect | |
53 | |
75 if (nargout > 0) | 54 if (nargout > 0) |
76 h = htmp; | 55 h = htmp; |
77 endif | 56 endif |
57 | |
78 endfunction | 58 endfunction |
79 | 59 |
80 function iargs = __find_patches__ (varargin) | 60 function iargs = __find_patches__ (varargin) |
81 iargs = []; | 61 iargs = []; |
82 i = 1; | 62 i = 1; |