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

Comparing deliantra/Deliantra-Client/DC/UI.pm (file contents):
Revision 1.425 by root, Fri Aug 10 04:02:13 2007 UTC vs.
Revision 1.427 by root, Sun Aug 19 10:32:49 2007 UTC

2044 : ($self->{w} - $size->[0]) * 0.5); 2044 : ($self->{w} - $size->[0]) * 0.5);
2045 2045
2046 $self->{oy} = int ($self->{valign} < 0 ? $self->{padding_y} 2046 $self->{oy} = int ($self->{valign} < 0 ? $self->{padding_y}
2047 : $self->{valign} > 0 ? $self->{h} - $size->[1] - $self->{padding_y} 2047 : $self->{valign} > 0 ? $self->{h} - $size->[1] - $self->{padding_y}
2048 : ($self->{h} - $size->[1]) * 0.5); 2048 : ($self->{h} - $size->[1]) * 0.5);
2049
2050 $self->{layout}->render ($self->{ox}, $self->{oy}, $self->{style});
2049 }; 2051 };
2050 2052
2051# unless ($self->{list}) { 2053# unless ($self->{list}) {
2052# $self->{list} = CFPlus::OpenGL::glGenList; 2054# $self->{list} = CFPlus::OpenGL::glGenList;
2053# CFPlus::OpenGL::glNewList $self->{list}; 2055# CFPlus::OpenGL::glNewList $self->{list};
2055# CFPlus::OpenGL::glEndList; 2057# CFPlus::OpenGL::glEndList;
2056# } 2058# }
2057# 2059#
2058# CFPlus::OpenGL::glCallList $self->{list}; 2060# CFPlus::OpenGL::glCallList $self->{list};
2059 2061
2060 $self->{layout}->render ($self->{ox}, $self->{oy}, $self->{style}); 2062 $self->{layout}->draw;
2061} 2063}
2062 2064
2063#sub destroy { 2065#sub destroy {
2064# my ($self) = @_; 2066# my ($self) = @_;
2065# 2067#
3304 3306
3305 if ($y0 < $y + $h && $y < $y1) { 3307 if ($y0 < $y + $h && $y < $y1) {
3306 my $layout = $self->get_layout ($para); 3308 my $layout = $self->get_layout ($para);
3307 3309
3308 $layout->render ($para->{indent}, $y - $y0); 3310 $layout->render ($para->{indent}, $y - $y0);
3311 $layout->draw;
3309 3312
3310 if (my @w = @{ $para->{widget} }) { 3313 if (my @w = @{ $para->{widget} }) {
3311 my @s = $layout->get_shapes; 3314 my @s = $layout->get_shapes;
3312 3315
3313 for (@w) { 3316 for (@w) {
3546 $widget->{animspeed} = List::Util::max 0.05, $widget->{animspeed}; 3549 $widget->{animspeed} = List::Util::max 0.05, $widget->{animspeed};
3547 $widget->{anim_start} = $self->{animspeed} * int Event::time / $self->{animspeed}; 3550 $widget->{anim_start} = $self->{animspeed} * int Event::time / $self->{animspeed};
3548 $self->{timer} = Event->timer ( 3551 $self->{timer} = Event->timer (
3549 parked => 1, 3552 parked => 1,
3550 cb => sub { 3553 cb => sub {
3551 return unless $::CONN && $widget; 3554 return unless $::CONN;
3552 3555
3556 my $w = $widget
3557 or return;
3558
3553 ++$widget->{frame}; 3559 ++$w->{frame};
3554 $widget->update_face; 3560 $w->update_face;
3561
3562 # somehow, $widget can go away
3555 $widget->update; 3563 $w->update;
3556
3557 $widget->update_timer; 3564 $w->update_timer;
3558 }, 3565 },
3559 ); 3566 );
3560 3567
3561 $self->update_face; 3568 $self->update_face;
3562 $self->update_timer; 3569 $self->update_timer;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines