… | |
… | |
2 | |
2 | |
3 | use strict; |
3 | use strict; |
4 | |
4 | |
5 | use List::Util qw(min max); |
5 | use List::Util qw(min max); |
6 | |
6 | |
7 | use SDL::OpenGL; |
7 | use CFClient::OpenGL; |
8 | |
8 | |
9 | our @ISA = CFClient::UI::Base::; |
9 | our @ISA = CFClient::UI::Base::; |
10 | |
10 | |
11 | sub new { |
11 | sub new { |
12 | my $class = shift; |
12 | my $class = shift; |
13 | |
13 | |
14 | $class->SUPER::new ( |
14 | $class->SUPER::new ( |
15 | z => -1, |
15 | z => -1, |
16 | can_focus => 1, |
16 | can_focus => 1, |
17 | list => (glGenLists 1), |
17 | list => glGenList, |
18 | @_ |
18 | @_ |
19 | ) |
19 | ) |
|
|
20 | } |
|
|
21 | |
|
|
22 | sub DESTROY { |
|
|
23 | my $self = shift; |
|
|
24 | |
|
|
25 | glDeleteList $self->{list}; |
|
|
26 | |
|
|
27 | $self->SUPER::DESTROY; |
20 | } |
28 | } |
21 | |
29 | |
22 | sub key_down { |
30 | sub key_down { |
23 | print "MAPKEYDOWN\n"; |
31 | print "MAPKEYDOWN\n"; |
24 | } |
32 | } |
… | |
… | |
76 | |
84 | |
77 | sub draw { |
85 | sub draw { |
78 | my ($self) = @_; |
86 | my ($self) = @_; |
79 | |
87 | |
80 | if (delete $self->{need_update}) { |
88 | if (delete $self->{need_update}) { |
81 | glNewList $self->{list}, GL_COMPILE; |
89 | glNewList $self->{list}; |
82 | |
90 | |
83 | if ($::MAP) { |
91 | if ($::MAP) { |
84 | my $sw = int $::WIDTH / 32; |
92 | my $sw = int $::WIDTH / 32; |
85 | my $sh = int $::HEIGHT / 32; |
93 | my $sh = int $::HEIGHT / 32; |
86 | |
94 | |