App-Asciio
view release on metacpan or search on metacpan
lib/App/Asciio/GTK/Asciio.pm view on Meta::CPAN
package App::Asciio::GTK::Asciio ;
use base qw(App::Asciio) ;
$|++ ;
use strict;
use warnings;
use Glib ':constants';
use Gtk2 -init;
use Gtk2::Gdk::Keysyms ;
use App::Asciio::GTK::Asciio::stripes::editable_arrow2;
use App::Asciio::GTK::Asciio::stripes::wirl_arrow ;
use App::Asciio::GTK::Asciio::stripes::editable_box2;
use App::Asciio::GTK::Asciio::Dialogs ;
use App::Asciio::GTK::Asciio::Menues ;
#-----------------------------------------------------------------------------
our $VERSION = '0.01' ;
#-----------------------------------------------------------------------------
=head1 NAME
=cut
sub new
{
my ($class, $width, $height) = @_ ;
my $self = App::Asciio::new($class) ;
bless $self, $class ;
$self->{KEYS}{K} = {%Gtk2::Gdk::Keysyms} ;
$self->{KEYS}{C}= {map{$self ->{KEYS}{K}{$_} => $_} keys %{$self->{KEYS}{K}}} ;
my $drawing_area = Gtk2::DrawingArea->new;
$self->{widget} = $drawing_area ;
$drawing_area->can_focus(TRUE) ;
$drawing_area->signal_connect(configure_event => \&configure_event, $self);
$drawing_area->signal_connect(expose_event => \&expose_event, $self);
$drawing_area->signal_connect(motion_notify_event => \&motion_notify_event, $self);
$drawing_area->signal_connect(button_press_event => \&button_press_event, $self);
$drawing_area->signal_connect(button_release_event => \&button_release_event, $self);
$drawing_area->signal_connect(key_press_event => \&key_press_event, $self);
$drawing_area->set_events
([qw/
exposure-mask
leave-notify-mask
button-press-mask
button-release-mask
pointer-motion-mask
key-press-mask
key-release-mask
/]);
$self->event_options_changed() ;
return($self) ;
}
#-----------------------------------------------------------------------------
sub destroy
{
my ($self) = @_;
$self->{widget}->get_toplevel()->destroy() ;
}
#-----------------------------------------------------------------------------
( run in 2.331 seconds using v1.01-cache-2.11-cpan-5a3173703d6 )