App-Asciio
view release on metacpan or search on metacpan
documentation/scripting/lib/scripting_lib.pm view on Meta::CPAN
use strict;
use warnings;
use lib qw(lib lib/stripes) ;
#--------------------------------------------------------------------------------------------
sub new_box
{
my (@arguments_to_constructor) = @_ ;
use App::Asciio::stripes::editable_box2 ;
my $box = new App::Asciio::stripes::editable_box2
({
TEXT_ONLY => 'box',
TITLE => '',
EDITABLE => 1,
RESIZABLE => 1,
@arguments_to_constructor,
}) ;
return($box) ;
}
#-----------------------------------------------------------------------------------------------------------
sub new_wirl_arrow
{
my (@arguments) = @_ ;
use App::Asciio::stripes::section_wirl_arrow ;
my $arrow = new App::Asciio::stripes::section_wirl_arrow
({
POINTS => [[5, 5, 'downright']],
DIRECTION => '',
ALLOW_DIAGONAL_LINES => 0,
EDITABLE => 1,
RESIZABLE => 1,
@arguments,
}) ;
}
#--------------------------------------------------------------------------------------------
sub add_connection
{
my ($self, $source_element, $destination_element, $hint, @arguments_to_constructor) = @_ ;
$hint ||= 'right-down' ;
my @destination_connections = grep {$_->{NAME} ne 'resize'} $destination_element->get_connection_points() ;
my $destination_connection = $destination_connections[0] ;
my @source_connections = grep {$_->{NAME} ne 'resize'} $source_element->get_connection_points() ;
my $source_connection = $source_connections[0] ;
my $new_element = new App::Asciio::stripes::section_wirl_arrow
({
POINTS =>
[
[
($destination_element->{X} + $destination_connection->{X})
- ($source_element->{X} + $source_connection->{X}) ,
($destination_element->{Y} + $destination_connection->{Y})
- ($source_element->{Y} + $source_connection->{Y}) ,
$hint,
]
],
DIRECTION => $hint,
ALLOW_DIAGONAL_LINES => 0,
( run in 0.916 second using v1.01-cache-2.11-cpan-524268b4103 )