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.275 by root, Sat Jun 3 22:50:48 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
2342} 2344}
2343 2345
2344sub update { 2346sub update {
2345 my ($self) = @_; 2347 my ($self) = @_;
2346 2348
2347 $CFClient::UI::ROOT->on_post_alloc ($self => sub { 2349 delete $self->{knob_w};
2350 $self->SUPER::update;
2351}
2352
2353sub _draw {
2354 my ($self) = @_;
2355
2356 unless ($self->{knob_w}) {
2348 $self->set_value ($self->{range}[0]); 2357 $self->set_value ($self->{range}[0]);
2349 2358
2350 my ($value, $lo, $hi, $page) = @{$self->{range}}; 2359 my ($value, $lo, $hi, $page) = @{$self->{range}};
2351 my $range = ($hi - $page - $lo) || 1e-100; 2360 my $range = ($hi - $page - $lo) || 1e-100;
2352 2361
2358 $value = ($value - $lo) / $range; 2367 $value = ($value - $lo) / $range;
2359 $value = $value * $self->{scale} + $self->{offset}; 2368 $value = $value * $self->{scale} + $self->{offset};
2360 2369
2361 $self->{knob_x} = $value - $knob_w * 0.5; 2370 $self->{knob_x} = $value - $knob_w * 0.5;
2362 $self->{knob_w} = $knob_w; 2371 $self->{knob_w} = $knob_w;
2363 }); 2372 }
2364
2365 $self->SUPER::update;
2366}
2367
2368sub _draw {
2369 my ($self) = @_;
2370 2373
2371 $self->SUPER::_draw (); 2374 $self->SUPER::_draw ();
2372 2375
2373 glScale $self->{w}, $self->{h}; 2376 glScale $self->{w}, $self->{h};
2374 2377

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines