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.370 by root, Sun Jul 15 21:02:20 2007 UTC vs.
Revision 1.371 by root, Sun Jul 15 22:07:48 2007 UTC

1100} 1100}
1101 1101
1102sub update_slider { 1102sub update_slider {
1103 my ($self) = @_; 1103 my ($self) = @_;
1104 1104
1105 my $child = ($self->{vp} or return)->child;
1106
1105 my ($w1, $w2) = ($self->{vp}->child->{w}, $self->{vp}{w}); 1107 my ($w1, $w2) = ($child->{w}, $self->{vp}{w});
1106 $self->{hslider}->set_range ([$self->{hslider}{range}[0], 0, $w1, $w2, 1]); 1108 $self->{hslider}->set_range ([$self->{hslider}{range}[0], 0, $w1, $w2, 1]);
1107 #$self->{hslider}->set_visibility ($w1 != $w2); 1109 #$self->{hslider}->set_visibility ($w1 != $w2);
1108 1110
1109 my ($h1, $h2) = ($self->{vp}->child->{h}, $self->{vp}{h}); 1111 my ($h1, $h2) = ($child->{h}, $self->{vp}{h});
1110 $self->{vslider}->set_range ([$self->{vslider}{range}[0], 0, $h1, $h2, 1]); 1112 $self->{vslider}->set_range ([$self->{vslider}{range}[0], 0, $h1, $h2, 1]);
1111 #$self->{vslider}->set_visibility ($h1 != $h2); 1113 #$self->{vslider}->set_visibility ($h1 != $h2);
1112} 1114}
1113 1115
1114sub update { 1116sub update {
3332 $self->{timer} = Event->timer ( 3334 $self->{timer} = Event->timer (
3333 at => $self->{animspeed} * int $::NOW / $self->{animspeed}, 3335 at => $self->{animspeed} * int $::NOW / $self->{animspeed},
3334 hard => 1, 3336 hard => 1,
3335 interval => $self->{animspeed}, 3337 interval => $self->{animspeed},
3336 cb => sub { 3338 cb => sub {
3339 delete $self->{wait_face};
3337 ++$widget->{frame}; 3340 ++$widget->{frame};
3338 $widget->update; 3341 $widget->update;
3339 }, 3342 },
3340 ); 3343 );
3341 } 3344 }
3368 my $anim = $::CONN->{anim}[$self->{anim}]; 3371 my $anim = $::CONN->{anim}[$self->{anim}];
3369 3372
3370 $face = $anim->[ $self->{frame} % @$anim ] 3373 $face = $anim->[ $self->{frame} % @$anim ]
3371 if $anim && @$anim; 3374 if $anim && @$anim;
3372 } 3375 }
3376
3377 my $faceid = $::CONN->{faceid}[$face || $self->{face}]
3378 or return;
3373 3379
3374 my $tex = $::CONN->{texture}[$::CONN->{faceid}[$face || $self->{face}]]; 3380 my $tex = $::CONN->{texture}[$faceid];
3375 3381
3376 if ($tex) { 3382 if ($tex) {
3377 glEnable GL_TEXTURE_2D; 3383 glEnable GL_TEXTURE_2D;
3378 glTexEnv GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE; 3384 glTexEnv GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE;
3379 glColor 0, 0, 0, 1; 3385 glColor 0, 0, 0, 1;
3380 $tex->draw_quad_alpha (0, 0, $self->{w}, $self->{h}); 3386 $tex->draw_quad_alpha (0, 0, $self->{w}, $self->{h});
3381 glDisable GL_TEXTURE_2D; 3387 glDisable GL_TEXTURE_2D;
3388 } else {
3389 $self->{wait_face} ||= $::CONN->connect_face_update ($faceid, sub {
3390 $self->update;
3391 });
3382 } 3392 }
3383} 3393}
3384 3394
3385sub destroy { 3395sub destroy {
3386 my ($self) = @_; 3396 my ($self) = @_;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines