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;