1 | package Client::Widget; |
1 | package Crossfire::Client::Widget; |
2 | use strict; |
2 | use strict; |
3 | |
3 | |
4 | our $FOCUS; # the widget with current focus |
4 | our $FOCUS; # the widget with current focus |
5 | our %ACTIVE_WIDGETS; |
5 | our %ACTIVE_WIDGETS; |
6 | |
6 | |
… | |
… | |
77 | } |
77 | } |
78 | |
78 | |
79 | package Client::MapWidget; |
79 | package Client::MapWidget; |
80 | |
80 | |
81 | use strict; |
81 | use strict; |
|
|
82 | |
82 | our @ISA = qw/Client::Widget/; |
83 | our @ISA = qw/Client::Widget/; |
83 | |
84 | |
84 | use SDL::OpenGL; |
85 | use SDL::OpenGL; |
85 | use SDL::OpenGL::Constants; |
86 | use SDL::OpenGL::Constants; |
86 | |
87 | |
… | |
… | |
89 | } |
90 | } |
90 | |
91 | |
91 | sub key_up { |
92 | sub key_up { |
92 | } |
93 | } |
93 | |
94 | |
|
|
95 | my $x; |
|
|
96 | |
94 | sub draw { |
97 | sub draw { |
95 | glEnable GL_TEXTURE_2D; |
98 | glEnable GL_TEXTURE_2D; |
96 | glEnable GL_BLEND; |
99 | glEnable GL_BLEND; |
|
|
100 | |
|
|
101 | glPushMatrix; |
97 | |
102 | |
98 | my $map = $::CONN->{map}; |
103 | my $map = $::CONN->{map}; |
99 | |
104 | |
100 | for my $x (0 .. $::CONN->{mapw} - 1) { |
105 | for my $x (0 .. $::CONN->{mapw} - 1) { |
101 | for my $y (0 .. $::CONN->{maph} - 1) { |
106 | for my $y (0 .. $::CONN->{maph} - 1) { |
… | |
… | |
119 | glEnd; |
124 | glEnd; |
120 | } |
125 | } |
121 | } |
126 | } |
122 | } |
127 | } |
123 | |
128 | |
|
|
129 | glPopMatrix; |
|
|
130 | |
124 | glDisable GL_TEXTURE_2D; |
131 | glDisable GL_TEXTURE_2D; |
125 | glDisable GL_BLEND; |
132 | glDisable GL_BLEND; |
126 | } |
133 | } |
127 | |
134 | |
128 | 1; |
135 | 1; |
|
|
136 | |