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.63 by root, Tue Apr 11 13:29:24 2006 UTC vs.
Revision 1.64 by root, Tue Apr 11 13:38:22 2006 UTC

215package CFClient::Widget::Container; 215package CFClient::Widget::Container;
216 216
217our @ISA = CFClient::Widget::; 217our @ISA = CFClient::Widget::;
218 218
219sub new { 219sub new {
220 my ($class, @widgets) = @_; 220 my ($class, %arg) = @_;
221
222 my $children = delete $arg{children} || [];
221 223
222 my $self = $class->SUPER::new (children => []); 224 my $self = $class->SUPER::new (children => []);
223 $self->add ($_) for @widgets; 225 $self->add ($_) for @$children;
224 226
225 $self 227 $self
226} 228}
227 229
228sub add { 230sub add {
296our @ISA = CFClient::Widget::Bin::; 298our @ISA = CFClient::Widget::Bin::;
297 299
298use SDL::OpenGL; 300use SDL::OpenGL;
299 301
300sub new { 302sub new {
301 my ($class, $x, $y, $z, $w, $h) = @_; 303 my ($class, %arg) = @_;
302 304
303 my $self = $class->SUPER::new; 305 my $self = $class->SUPER::new (%arg);
304
305 @$self{qw(x y z w h)} = ($x, $y, $z, $w, $h);
306} 306}
307 307
308sub update { 308sub update {
309 my ($self) = @_; 309 my ($self) = @_;
310 310
634our @ISA = CFClient::Widget::; 634our @ISA = CFClient::Widget::;
635 635
636use SDL::OpenGL; 636use SDL::OpenGL;
637 637
638sub new { 638sub new {
639 my ($class, $x, $y, $z, $height, $text) = @_; 639 my ($class, %arg) = @_;
640
641 $height ||= $::FONTSIZE;
642 640
643 # TODO: color, and make height, xyz etc. optional 641 # TODO: color, and make height, xyz etc. optional
644 my $self = $class->SUPER::new ( 642 my $self = $class->SUPER::new (
645 color => [1, 1, 1], 643 color => [1, 1, 1],
646 x => $x, 644 height => $::FONTSIZE,
647 y => $y, 645 text => "",
648 z => $z,
649 height => $height,
650 layout => new CFClient::Layout $height, 646 layout => new CFClient::Layout,
647 %arg
651 ); 648 );
652 649
653 $self->set_text ($text); 650 $self->set_text ($self->{text});
654 651
655 $self 652 $self
656} 653}
657 654
658sub set_text { 655sub set_text {
672 669
673sub size_request { 670sub size_request {
674 my ($self) = @_; 671 my ($self) = @_;
675 672
676 $self->{layout}->set_width; 673 $self->{layout}->set_width;
674 $self->{layout}->set_height ($self->{height});
677 $self->{layout}->size 675 $self->{layout}->size
678# if ($self->{texture}{width} > 1 && $self->{texture}{height} > 1) { #TODO: hack 676# if ($self->{texture}{width} > 1 && $self->{texture}{height} > 1) { #TODO: hack
679# ( 677# (
680# $self->{texture}{width}, 678# $self->{texture}{width},
681# $self->{texture}{height}, 679# $self->{texture}{height},
784use SDL; 782use SDL;
785use SDL::OpenGL; 783use SDL::OpenGL;
786use SDL::OpenGL::Constants; 784use SDL::OpenGL::Constants;
787 785
788our @ISA = CFClient::Widget::; 786our @ISA = CFClient::Widget::;
787
788sub new {
789 my $class = shift;
790
791 $class->SUPER::new (z => -1, @_)
792}
789 793
790sub key_down { 794sub key_down {
791 print "MAPKEYDOWN\n"; 795 print "MAPKEYDOWN\n";
792} 796}
793 797

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines