State - A package to keep track of plotting commands
This is a very simple, at present almost trivial, package to keep track of the current set of plotting commands.
You create a new object by calling the
$state = PDLA::Graphics::State->new();
Then for each new command you call
add on this object so that for a call to
line of the form
line $x, $y, $opt;
the call to
add would be like
$state->add(\&line, 'line', [$x, $y], $opt);
which is stored internally as:
[\&line, 'line', [$x, $y], $opt]
The state can later be extracted using
get which returns the state object which is an array of anonymous arrays like the one above where the first object is a reference to the function, the second an anomymous array of arguments to the function and finally an anonymous hash with options to the command.
If you know the order in which you inserted commands they can be removed by calling
remove with the number in the stack. No further interaction is implemented except
clear which clears the stack and
copy which returns a "deep" copy of the state.
Jarle Brinchmann (email@example.com) after some prodding by Karl Glazebrook.
All rights reserved. There is no warranty. You are allowed to redistribute this software / documentation under certain conditions. For details, see the file COPYING in the PDLA distribution. If this file is separated from the PDLA distribution, the copyright notice should be included in the file.