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.273 by root, Sat Jun 3 02:32:35 2006 UTC vs.
Revision 1.276 by root, Sun Jun 4 00:16:01 2006 UTC

793 793
794 $self->{children}[0]->configure (0, 0, $w, $h); 794 $self->{children}[0]->configure (0, 0, $w, $h);
795} 795}
796 796
797############################################################################# 797#############################################################################
798
799# back-buffered drawing area
798 800
799package CFClient::UI::Window; 801package CFClient::UI::Window;
800 802
801our @ISA = CFClient::UI::Bin::; 803our @ISA = CFClient::UI::Bin::;
802 804
1674 1676
1675 delete $self->{cur_h}; 1677 delete $self->{cur_h};
1676 1678
1677 return if $self->{text} eq $text; 1679 return if $self->{text} eq $text;
1678 1680
1679 delete $self->{texture};
1680
1681 $self->{last_activity} = $::NOW; 1681 $self->{last_activity} = $::NOW;
1682 $self->{text} = $text; 1682 $self->{text} = $text;
1683 1683
1684 $text =~ s/./*/g if $self->{hidden}; 1684 $text =~ s/./*/g if $self->{hidden};
1685 $self->{layout}->set_text ("$text "); 1685 $self->{layout}->set_text ("$text ");
1686 1686
1687 $self->_emit (changed => $self->{text}); 1687 $self->_emit (changed => $self->{text});
1688 $self->update;
1688} 1689}
1689 1690
1690sub set_text { 1691sub set_text {
1691 my ($self, $text) = @_; 1692 my ($self, $text) = @_;
1692 1693
2342} 2343}
2343 2344
2344sub update { 2345sub update {
2345 my ($self) = @_; 2346 my ($self) = @_;
2346 2347
2347 $CFClient::UI::ROOT->on_post_alloc ($self => sub { 2348 delete $self->{knob_w};
2349 $self->SUPER::update;
2350}
2351
2352sub _draw {
2353 my ($self) = @_;
2354
2355 unless ($self->{knob_w}) {
2348 $self->set_value ($self->{range}[0]); 2356 $self->set_value ($self->{range}[0]);
2349 2357
2350 my ($value, $lo, $hi, $page) = @{$self->{range}}; 2358 my ($value, $lo, $hi, $page) = @{$self->{range}};
2351 my $range = ($hi - $page - $lo) || 1e-100; 2359 my $range = ($hi - $page - $lo) || 1e-100;
2352 2360
2358 $value = ($value - $lo) / $range; 2366 $value = ($value - $lo) / $range;
2359 $value = $value * $self->{scale} + $self->{offset}; 2367 $value = $value * $self->{scale} + $self->{offset};
2360 2368
2361 $self->{knob_x} = $value - $knob_w * 0.5; 2369 $self->{knob_x} = $value - $knob_w * 0.5;
2362 $self->{knob_w} = $knob_w; 2370 $self->{knob_w} = $knob_w;
2363 }); 2371 }
2364
2365 $self->SUPER::update;
2366}
2367
2368sub _draw {
2369 my ($self) = @_;
2370 2372
2371 $self->SUPER::_draw (); 2373 $self->SUPER::_draw ();
2372 2374
2373 glScale $self->{w}, $self->{h}; 2375 glScale $self->{w}, $self->{h};
2374 2376

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines