ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/kgsueme/kgsueme/game.pl
(Generate patch)

Comparing kgsueme/kgsueme/game.pl (file contents):
Revision 1.5 by pcg, Sat May 31 14:15:12 2003 UTC vs.
Revision 1.6 by pcg, Sat May 31 14:55:55 2003 UTC

33 33
34 $self->{hpane}->pack1((my $vbox = new Gtk2::VBox), 1, 1); 34 $self->{hpane}->pack1((my $vbox = new Gtk2::VBox), 1, 1);
35 35
36 $vbox->pack_start((my $frame = new Gtk2::Frame), 0, 1, 0); 36 $vbox->pack_start((my $frame = new Gtk2::Frame), 0, 1, 0);
37 37
38 # grrr...
39 { 38 {
39 # grrr...
40 $frame->add(my $vbox = new Gtk2::VBox); 40 $frame->add(my $vbox = new Gtk2::VBox);
41 $vbox->add($self->{title} = new Gtk2::Label $title); 41 $vbox->add($self->{title} = new Gtk2::Label $title);
42 42
43 $self->{moveadj} = new Gtk2::Adjustment 1, 0, 1, 0.01, 0.1, 0; 43 $self->{moveadj} = new Gtk2::Adjustment 1, 0, 1, 0.01, 0.1, 0;
44 44
57 57
58 $self->{text}->set_text(KGS::Listener::Debug::dumpval([$self->{board}{time},$self->{board}{captures}]). $self->{board}{comment}); 58 $self->{text}->set_text(KGS::Listener::Debug::dumpval([$self->{board}{time},$self->{board}{captures}]). $self->{board}{comment});
59 }); 59 });
60 } 60 }
61 61
62 #Gtk2::Widget->push_visual (Gtk2::Gdk::Rgb->get_visual); #d# gdk_rgb_* not yet implemented(?)
63 #Gtk2::Widget->push_colormap (Gtk2::Gdk::Rgb->get_cmap);
64 $vbox->pack_start(($self->{canvas} = new Gtk2::DrawingArea), 1, 1, 0); 62 $vbox->pack_start(($self->{canvas} = new Gtk2::DrawingArea), 1, 1, 0);
65 #Gtk2::Widget->pop_colormap;
66 #Gtk2::Widget->pop_visual;
67 63
68 $self->{canvas}->signal_connect(configure_event => \&configure_event, $self); 64 $self->{canvas}->signal_connect(configure_event => \&configure_event, $self);
69 $self->{canvas}->signal_connect(expose_event => \&expose_event, $self); 65 $self->{canvas}->signal_connect(expose_event => \&expose_event, $self);
70 66
71 $self->{hpane}->pack2(($self->{vpane} = new Gtk2::VPaned), 0, 0); 67 $self->{hpane}->pack2(($self->{vpane} = new Gtk2::VPaned), 0, 0);
119 delete $self->{stack}; 115 delete $self->{stack};
120 delete $self->{pixbuf}; 116 delete $self->{pixbuf};
121 delete $self->{board_shown}; 117 delete $self->{board_shown};
122 delete $self->{background}; 118 delete $self->{background};
123 $self->repaint_board; 119 $self->repaint_board;
124 1; 120 0;
121}
122
123sub expose_event {
124 my ($widget, $event, $self) = @_;
125
126 $self->{pixbuf} or return;
127
128 my $area = $event->area;
129 my ($ox, $oy, $s) = @{$self->{offsets}};
130
131 $self->redraw (
132 (new Gtk2::Gdk::Rectangle $area->x - $ox, $area->y - $oy, $area->width, $area->height)
133 ->intersect(new Gtk2::Gdk::Rectangle 0, 0, $s, $s)
134 );
135
136 0;
125} 137}
126 138
127# something Gtk2 fixed 139# something Gtk2 fixed
128sub INTERP_NEAREST (){ 'nearest' } 140sub INTERP_NEAREST (){ 'nearest' }
129sub INTERP_TILES (){ 'tiles' } 141sub INTERP_TILES (){ 'tiles' }
266 return $expose_area unless $self->{board}; 278 return $expose_area unless $self->{board};
267 279
268 my ($w, $h) = ($canvas->allocation->values)[2,3]; 280 my ($w, $h) = ($canvas->allocation->values)[2,3];
269 281
270 my $s = $w > $h ? $h : $w; 282 my $s = $w > $h ? $h : $w;
283
284 return unless $s > 128;
271 285
272 $self->{offsets} = [int (($w - $s) / 2), int (($h - $s) / 2), $s]; 286 $self->{offsets} = [int (($w - $s) / 2), int (($h - $s) / 2), $s];
273 287
274 my $size = $self->{size}; 288 my $size = $self->{size};
275 289
415 $self->{canvas}->window->draw_rectangle ($self->{canvas}->style->black_gc, 0, 429 $self->{canvas}->window->draw_rectangle ($self->{canvas}->style->black_gc, 0,
416 $x + $ox - 1, $y + $oy - 1, $w + 2, $h + 2) if $::DEBUG_EXPOSE; 430 $x + $ox - 1, $y + $oy - 1, $w + 2, $h + 2) if $::DEBUG_EXPOSE;
417 } 431 }
418} 432}
419 433
420sub expose_event {
421 my ($widget, $event, $self) = @_;
422
423 $self->{pixbuf} or return;
424
425 my $area = $event->area;
426 my ($ox, $oy, $s) = @{$self->{offsets}};
427
428 $self->redraw (
429 (new Gtk2::Gdk::Rectangle $area->x - $ox, $area->y - $oy, $area->width, $area->height)
430 ->intersect(new Gtk2::Gdk::Rectangle 0, 0, $s, $s)
431 );
432
433 1;
434}
435
436sub event_update_tree { 434sub event_update_tree {
437 my ($self) = @_; 435 my ($self) = @_;
438 436
439 $self->{path} = $self->get_path; 437 $self->{path} = $self->get_path;
440
441 $self->{moveadj}->value_changed (); 438 $self->{moveadj}->value_changed if $self->{moveadj};
442} 439}
443 440
444sub event_part { 441sub event_part {
445 my ($self) = @_; 442 my ($self) = @_;
446 $self->SUPER::event_part; 443 $self->SUPER::event_part;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines