--- deliantra/Deliantra-Client/DC/UI.pm 2006/04/07 20:34:44 1.10 +++ deliantra/Deliantra-Client/DC/UI.pm 2006/04/07 20:39:58 1.11 @@ -1,6 +1,8 @@ package Crossfire::Client::Widget; use strict; +use SDL::OpenGL; +use SDL::OpenGL::Constants; our $FOCUS; # the widget with current focus our %ACTIVE_WIDGETS; @@ -50,7 +52,19 @@ my ($widget, $sdlev) = @_; } +sub x { $_[0]->{x} = $_[1] if $_[1]; $_[0]->{x} } +sub y { $_[0]->{y} = $_[1] if $_[1]; $_[0]->{y} } + sub draw { + my ($self) = @_; + + glPushMatrix; + glTranslate ($self->{x} || 0, $self->{y} || 0, 0); + $self->_draw; + glPopMatrix; +} + +sub _draw { my ($widget) = @_; } @@ -72,7 +86,7 @@ $self } -sub draw { +sub _draw { my ($self) = @_; my $tex = $self->{texture}; @@ -104,7 +118,7 @@ push @{$self->{lines}}, $line; } -sub draw { +sub _draw { my ($self) = @_; } @@ -125,7 +139,7 @@ sub key_up { } -sub draw { +sub _draw { glEnable GL_TEXTURE_2D; glEnable GL_BLEND;