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.254 by root, Mon May 29 01:53:23 2006 UTC vs.
Revision 1.255 by root, Mon May 29 02:01:56 2006 UTC

1000 1000
1001our @ISA = CFClient::UI::Bin::; 1001our @ISA = CFClient::UI::Bin::;
1002 1002
1003use CFClient::OpenGL; 1003use CFClient::OpenGL;
1004 1004
1005my @tex = 1005my $bg =
1006 new_from_file CFClient::Texture CFClient::find_rcfile "d1_bg.png",
1007 mipmap => 1, wrap => 1;
1008
1009my @border =
1006 map { new_from_file CFClient::Texture CFClient::find_rcfile $_, mipmap => 1 } 1010 map { new_from_file CFClient::Texture CFClient::find_rcfile $_, mipmap => 1 }
1007 qw(d1_bg.png d1_border_top.png d1_border_right.png d1_border_left.png d1_border_bottom.png); 1011 qw(d1_border_top.png d1_border_right.png d1_border_left.png d1_border_bottom.png);
1008 1012
1009sub new { 1013sub new {
1010 my $class = shift; 1014 my $class = shift;
1011 1015
1012 my $self = $class->SUPER::new ( 1016 my $self = $class->SUPER::new (
1127 glTexEnv GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE; 1131 glTexEnv GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE;
1128 1132
1129 my $border = $self->border; 1133 my $border = $self->border;
1130 1134
1131 glColor @{ $self->{border_bg} }; 1135 glColor @{ $self->{border_bg} };
1132 $tex[1]->draw_quad_alpha (0, 0, $w, $border); 1136 $border[0]->draw_quad_alpha (0, 0, $w, $border);
1133 $tex[3]->draw_quad_alpha (0, $border, $border, $ch); 1137 $border[1]->draw_quad_alpha (0, $border, $border, $ch);
1134 $tex[2]->draw_quad_alpha ($w - $border, $border, $border, $ch); 1138 $border[2]->draw_quad_alpha ($w - $border, $border, $border, $ch);
1135 $tex[4]->draw_quad_alpha (0, $h - $border, $w, $border); 1139 $border[3]->draw_quad_alpha (0, $h - $border, $w, $border);
1136 1140
1137 if (@{$self->{bg}} < 4 || $self->{bg}[3]) { 1141 if (@{$self->{bg}} < 4 || $self->{bg}[3]) {
1138 my $bg = $tex[0]; 1142 glColor @{ $self->{bg} };
1139 1143
1140 # TODO: repeat texture not scale 1144 # TODO: repeat texture not scale
1145 # solve this better(?)
1141 my $rep_x = $cw / $bg->{w}; 1146 $bg->{s} = $cw / $bg->{w};
1142 my $rep_y = $ch / $bg->{h}; 1147 $bg->{t} = $ch / $bg->{h};
1143
1144 glColor @{ $self->{bg} };
1145
1146 $bg->{s} = $rep_x;
1147 $bg->{t} = $rep_y;
1148 $bg->{wrap_mode} = 1;
1149 $bg->draw_quad_alpha ($border, $border, $cw, $ch); 1148 $bg->draw_quad_alpha ($border, $border, $cw, $ch);
1150 } 1149 }
1151 1150
1152 glDisable GL_TEXTURE_2D; 1151 glDisable GL_TEXTURE_2D;
1153 1152

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines