… | |
… | |
475 | $self->{root}->on_post_alloc (prepare => sub { $self->refresh_hook }); |
475 | $self->{root}->on_post_alloc (prepare => sub { $self->refresh_hook }); |
476 | |
476 | |
477 | return unless $self->{list}; |
477 | return unless $self->{list}; |
478 | |
478 | |
479 | my $focused = $CFPlus::UI::FOCUS == $self |
479 | my $focused = $CFPlus::UI::FOCUS == $self |
480 | || $CFPlus::UI::FOCUS == $::COMPLETER{entry}; |
480 | || $CFPlus::UI::FOCUS == $::COMPLETER->{entry}; |
481 | |
481 | |
482 | return |
482 | return |
483 | unless $focused || !$::FAST; |
483 | unless $focused || !$::FAST; |
484 | |
484 | |
485 | glCallList $self->{list}; |
485 | glCallList $self->{list}; |
486 | |
486 | |
487 | # TNT2 emulates logops in software (or worse :) |
487 | # TNT2 emulates logops in software (or worse :) |
488 | unless ($focused) { |
488 | unless ($focused) { |
489 | glColor 0.4, 0.2, 0.2, 0.6; |
489 | glColor_premultiply 0, 0, 1, 0.25; |
490 | glEnable GL_BLEND; |
490 | glEnable GL_BLEND; |
491 | glBlendFunc GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA; |
491 | glBlendFunc GL_ONE, GL_ONE_MINUS_SRC_ALPHA; |
492 | glBegin GL_QUADS; |
492 | glBegin GL_QUADS; |
493 | glVertex 0, 0; |
493 | glVertex 0, 0; |
494 | glVertex 0, $::HEIGHT; |
494 | glVertex 0, $::HEIGHT; |
495 | glVertex $::WIDTH, $::HEIGHT; |
495 | glVertex $::WIDTH, $::HEIGHT; |
496 | glVertex $::WIDTH, 0; |
496 | glVertex $::WIDTH, 0; |