Mercurial > hg > octave-nkf
view scripts/plot/private/__next_line_style__.m @ 17141:13da13e1e17f
waitbar.m: Cache axes and patch handles in figure's __guidata__.
* scripts/plot/waitbar.m: Instead of calling "findobj" twice, cache the handles
for the wait bar axes and patch objects in the figure's __guidata__ field.
author | Philipp Kutin <philipp.kutin@gmail.com> |
---|---|
date | Mon, 29 Jul 2013 12:18:16 +0200 |
parents | 22ec459cf7ba |
children | abf384f5d243 |
line wrap: on
line source
## Copyright (C) 2010-2012 David Bateman ## ## This file is part of Octave. ## ## Octave is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 3 of the License, or (at ## your option) any later version. ## ## Octave is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with Octave; see the file COPYING. If not, see ## <http://www.gnu.org/licenses/>. ## -*- texinfo -*- ## @deftypefn {Function File} {@var{style} =} __next_line_style__ (@var{reset}) ## Undocumented internal function. ## @end deftypefn ## Return the next line style in the rotation. function [linestyle, marker] = __next_line_style__ (reset) persistent reset_style = true; if (nargin > 1) print_usage (); endif if (nargin == 1) ## Indicates whether the next call will increment or not reset_style = reset; else ## Find and return the next line style ca = gca (); style_rotation = get (ca, "linestyleorder"); if (ischar (style_rotation)) style_rotation = strsplit (style_rotation, "|"); endif nStyles = length (style_rotation); if (reset_style || (nStyles < 2)) style_index = 1; reset_style = false; else ## Executed when "hold all" is active nChildren = length (get (ca, "Children")); nColors = length (get (ca, "ColorOrder")); style_index = mod (floor (nChildren/nColors), nStyles) + 1; endif options = __pltopt__ ("__next_line_style__", style_rotation(style_index)); linestyle = options.linestyle; marker = options.marker; endif endfunction