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.422 by root, Thu Aug 2 14:35:21 2007 UTC vs.
Revision 1.426 by root, Sat Aug 11 12:07:54 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) {
3589 3592
3590 if (my $anim = $::CONN->{anim}[$self->{anim}]) { 3593 if (my $anim = $::CONN->{anim}[$self->{anim}]) {
3591 if ($anim && @$anim) { 3594 if ($anim && @$anim) {
3592 delete $self->{wait_face}; 3595 delete $self->{wait_face};
3593 $self->{face} = $anim->[ $self->{frame} % @$anim ]; 3596 $self->{face} = $anim->[ $self->{frame} % @$anim ];
3594 $self->{tex} = $::CONN->{texture}[ $::CONN->{faceid}[$self->{face}] ]; 3597 if (my $tex = $self->{tex} = $::CONN->{texture}[ $::CONN->{faceid}[$self->{face}] ]) {
3598 unless ($tex->{name} || $tex->{loading}) {
3599 $tex->upload (sub { $self->reconfigure });
3600 }
3601 }
3595 } 3602 }
3596 } 3603 }
3597} 3604}
3598 3605
3599sub size_request { 3606sub size_request {
3600 my ($self) = @_; 3607 my ($self) = @_;
3601 3608
3602 if ($::CONN) { 3609 if ($::CONN) {
3603 if (my $faceid = $::CONN->{faceid}[$self->{face}]) { 3610 if (my $faceid = $::CONN->{faceid}[$self->{face}]) {
3604 if (my $tex = $::CONN->{texture}[$faceid]) { 3611 if (my $tex = $self->{tex} = $::CONN->{texture}[$faceid]) {
3605 $self->{tex} = $tex; 3612 if ($tex->{name}) {
3606 return ($self->{size_w} || $tex->{w}, $self->{size_h} || $tex->{h}); 3613 return ($self->{size_w} || $tex->{w}, $self->{size_h} || $tex->{h});
3614 } elsif (!$tex->{loading}) {
3615 $tex->upload (sub { $self->reconfigure });
3616 }
3607 } else { 3617 } else {
3608 $self->{wait_face} ||= $::CONN->connect_face_update ($faceid, sub { 3618 $self->{wait_face} ||= $::CONN->connect_face_update ($faceid, sub {
3609 $self->realloc; 3619 $self->reconfigure;
3610 }); 3620 });
3611 } 3621 }
3612 } 3622 }
3613 } 3623 }
3614 3624
4199} 4209}
4200 4210
4201sub update { 4211sub update {
4202 my ($self) = @_; 4212 my ($self) = @_;
4203 4213
4204 $::WANT_REFRESH++; 4214 $::WANT_REFRESH->start;
4205} 4215}
4206 4216
4207sub add { 4217sub add {
4208 my ($self, @children) = @_; 4218 my ($self, @children) = @_;
4209 4219

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines