package SDL::X::SimpleButton; sub new { my ($class,@params) = @_; my $self = {}; bless($self,$class); for(qw(ID APP X IMG IMGHV)){ $self->{$_} = shift(@params); } $self->{HV} = 0; $self->draw($self->{IMG}); return($self); } sub draw{ my ($self,$img) = @_; my $frame_rect = SDL::Rect->new(-height => $img->height(),-width => $img->width(),-x => 0, -y => 0); my $dest_rect = SDL::Rect->new(-height => $img->height(),-width => $img->width(), -x => $self->{X},-y => $self->{Y},); $img->blit( $frame_rect, $self->{APP}, $dest_rect ); $self->{APP}->update( $dest_rect ); $self->{APP}->flip; return 1; } sub check{ my ($self,$mx,$my,$event) = @_; my $img = $self->{IMG}; #Hover - Effekt if($mx > $self->{X} && $mx < ($self->{X}+ $img->width) && $my > $self->{Y} && $my < ($self->{Y}+ $img->height) ){ if(not $self->{HV}) { $self->{HV}=1; $self->draw($self->{IMGHV}); } if($event->button == 1 ) { return $self->{ID}; } } else{ if($self->{HV}) { $self->{HV}=0; $self->draw($self->{IMG}); } return 0; } } 1;