ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra/Deliantra/MapWidget.pm
(Generate patch)

Comparing deliantra/Deliantra/Deliantra/MapWidget.pm (file contents):
Revision 1.6 by root, Sun Feb 5 23:16:10 2006 UTC vs.
Revision 1.7 by root, Sun Feb 5 23:35:57 2006 UTC

29use List::Util qw(min max); 29use List::Util qw(min max);
30 30
31sub INIT_INSTANCE { 31sub INIT_INSTANCE {
32 my ($self) = @_; 32 my ($self) = @_;
33 33
34 $self->signal_connect (destroy => sub { %{$_[0]} = () }); 34 $self->signal_connect (destroy => sub {
35 my ($self) = @_;
36 $self->{tip}->destroy if $self->{tip};
37 %$self = ();
38 0
39 });
35 $self->signal_connect (realize => sub { 40 $self->signal_connect (realize => sub {
36 my ($self) = @_; 41 my ($self) = @_;
37 42
38 $self->{window} = $self->window; 43 $self->{window} = $self->window;
39 44
40 1 45 1
41 }); 46 });
42 47
43 $self->set_redraw_on_allocate (0); # nope 48 $self->set_redraw_on_allocate (0);
44 $self->double_buffered (0); 49 $self->double_buffered (0);
50
51 # reduces unnecessary redraws
52 $self->signal_connect_after (focus_in_event => sub { 1 });
53 $self->signal_connect_after (focus_out_event => sub { 1 });
45 54
46 $self->signal_connect (size_request => sub { 55 $self->signal_connect (size_request => sub {
47 $_[1]->width (20 * TILESIZE); 56 $_[1]->width (20 * TILESIZE);
48 $_[1]->height (20 * TILESIZE); 57 $_[1]->height (20 * TILESIZE);
49 58
56 $self->set_viewport ($self->{x}, $self->{y}); 65 $self->set_viewport ($self->{x}, $self->{y});
57 66
58 0 67 0
59 }); 68 });
60 69
61 # reduces unnecessary redraws 70 $self->{tooltip} = -2; # need to be mapped _and_ inside
62 $self->signal_connect_after (focus_in_event => sub { 1 });
63 $self->signal_connect_after (focus_out_event => sub { 1 });
64 71
65 $self->{tooltip} = -1; # initially disabled 72 $self->signal_connect_after (map_event => sub { $self->enable_tooltip; 0 });
73 $self->signal_connect_after (unmap_event => sub { $self->disable_tooltip; 0 });
66 74
67 $self->signal_connect_after (enter_notify_event => sub { $self->enable_tooltip; 0 }); 75 $self->signal_connect_after (enter_notify_event => sub { $self->enable_tooltip; 0 });
68 $self->signal_connect_after (leave_notify_event => sub { $self->disable_tooltip; 0 }); 76 $self->signal_connect_after (leave_notify_event => sub { $self->disable_tooltip; 0 });
69 77
70 $self->signal_connect (button_press_event => sub { 78 $self->signal_connect (button_press_event => sub {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines