App-Asciio
view release on metacpan or search on metacpan
lib/App/Asciio.pm view on Meta::CPAN
/| \
More::Stuff' ' \
/ '---Last::One
More::Stuff'
____[]
| ___ |
|| || device
||___|| loads
| ooo |------------------------------------------------------------.
| ooo | | | |
| ooo | | | |
'_____' | | |
| | |
v v v
.-------------------. .---------------------------. .-------------------.
| Loadable module C | | Loadable module A | | Loadable module B |
'-------------------' |---------------------------| | (instrumented) |
| | .-----. | '-------------------'
'--------------------->| A.o | | |
calls | '-----' | |
| .------------------. | |
| | A.instrumented.o |<-----------------'
| '------------------' | calls
'---------------------------'
=cut
sub new
{
my ($class) = @_ ;
my $self =
bless
{
ELEMENT_TYPES => [],
ELEMENTS => [],
CONNECTIONS => [],
CLIPBOARD => {},
FONT_FAMILY => 'Monospace',
FONT_SIZE => '10',
TAB_AS_SPACES => ' ',
OPAQUE_ELEMENTS => 1,
DISPLAY_GRID => 1,
PREVIOUS_X => -1, PREVIOUS_Y => -1,
MOUSE_X => 0, MOUSE_Y => 0,
DRAGGING => '',
SELECTION_RECTANGLE =>{START_X => 0, START_Y => 0},
KEYS => {K =>{}, C =>{},},
ACTIONS => {},
VALID_SELECT_ACTION => { map {$_, 1} qw(resize move)},
COPY_OFFSET_X => 3,
COPY_OFFSET_Y => 3,
COLORS =>
{
background => [255, 255, 255],
grid => [229, 235, 255],
ruler_line => [85, 155, 225],
selected_element_background => [180, 244, 255],
element_background => [251, 251, 254],
element_foreground => [0, 0, 0] ,
selection_rectangle => [255, 0, 255],
test => [0, 255, 255],
group_colors =>
[
[[250, 221, 190], [250, 245, 239]],
[[182, 250, 182], [241, 250, 241]],
[[185, 219, 250], [244, 247, 250]],
[[137, 250, 250], [235, 250, 250]],
[[198, 229, 198], [239, 243, 239]],
],
connection => 'Chocolate',
connection_point => [230, 198, 133],
connector_point => 'DodgerBlue',
new_connection => 'red' ,
extra_point => [230, 198, 133],
},
NEXT_GROUP_COLOR => 0,
WORK_DIRECTORY => '.asciio_work_dir',
CREATE_BACKUP => 1,
MODIFIED => 0,
DO_STACK_POINTER => 0,
DO_STACK => [] ,
}, $class ;
return($self) ;
}
#-----------------------------------------------------------------------------
sub event_options_changed
{
my ($self) = @_;
my $number_of_group_colors = scalar(@{$self->{COLORS}{group_colors}}) ;
$self->{GROUP_COLORS} = [0 .. $number_of_group_colors - 1] ,
$self->{CURRENT_ACTIONS} = $self->{ACTIONS} ;
$self->set_font($self->{FONT_FAMILY}, $self->{FONT_SIZE});
}
#-----------------------------------------------------------------------------
sub set_title
{
my ($self, $title) = @_;
if(defined $title)
{
$self->{TITLE} = $title ;
}
}
sub get_title
( run in 2.562 seconds using v1.01-cache-2.11-cpan-d8267643d1d )