… | |
… | |
898 | glClear GL_COLOR_BUFFER_BIT; |
898 | glClear GL_COLOR_BUFFER_BIT; |
899 | |
899 | |
900 | { |
900 | { |
901 | package CFPlus::UI::Base; |
901 | package CFPlus::UI::Base; |
902 | |
902 | |
903 | ($draw_x, $draw_y, $draw_w, $draw_h) = |
903 | local ($draw_x, $draw_y, $draw_w, $draw_h) = |
904 | (0, 0, $self->{w}, $self->{h}); |
904 | (0, 0, $self->{w}, $self->{h}); |
|
|
905 | |
|
|
906 | $self->_render; |
905 | } |
907 | } |
906 | |
|
|
907 | $self->_render; |
|
|
908 | }; |
908 | }; |
909 | } |
909 | } |
910 | |
910 | |
911 | sub _draw { |
911 | sub _draw { |
912 | my ($self) = @_; |
912 | my ($self) = @_; |
… | |
… | |
2959 | |
2959 | |
2960 | $self->{texture} ||= new_from_opengl CFPlus::Texture $W, $H, sub { |
2960 | $self->{texture} ||= new_from_opengl CFPlus::Texture $W, $H, sub { |
2961 | glClearColor 0, 0, 0, 0; |
2961 | glClearColor 0, 0, 0, 0; |
2962 | glClear GL_COLOR_BUFFER_BIT; |
2962 | glClear GL_COLOR_BUFFER_BIT; |
2963 | |
2963 | |
|
|
2964 | package CFPlus::UI::Base; |
|
|
2965 | local ($draw_x, $draw_y, $draw_w, $draw_h) = |
|
|
2966 | (0, 0, $self->{w}, $self->{h}); |
|
|
2967 | |
2964 | my $top = int $self->{children}[1]{range}[0]; |
2968 | my $top = int $self->{children}[1]{range}[0]; |
2965 | |
2969 | |
2966 | my $paridx = 0; |
2970 | my $paridx = 0; |
2967 | my $top_paragraph; |
2971 | my $top_paragraph; |
2968 | my $top = int $self->{children}[1]{range}[0]; |
2972 | my $top = int $self->{children}[1]{range}[0]; |
… | |
… | |
3284 | |
3288 | |
3285 | package CFPlus::UI::Buttonbar; |
3289 | package CFPlus::UI::Buttonbar; |
3286 | |
3290 | |
3287 | our @ISA = CFPlus::UI::HBox::; |
3291 | our @ISA = CFPlus::UI::HBox::; |
3288 | |
3292 | |
3289 | # TODO: should actualyl wrap buttons and other goodies. |
3293 | # TODO: should actually wrap buttons and other goodies. |
3290 | |
3294 | |
3291 | ############################################################################# |
3295 | ############################################################################# |
3292 | |
3296 | |
3293 | package CFPlus::UI::Menu; |
3297 | package CFPlus::UI::Menu; |
3294 | |
3298 | |
… | |
… | |
4124 | glLoadIdentity; |
4128 | glLoadIdentity; |
4125 | |
4129 | |
4126 | { |
4130 | { |
4127 | package CFPlus::UI::Base; |
4131 | package CFPlus::UI::Base; |
4128 | |
4132 | |
4129 | ($draw_x, $draw_y, $draw_w, $draw_h) = |
4133 | local ($draw_x, $draw_y, $draw_w, $draw_h) = |
4130 | (0, 0, $self->{w}, $self->{h}); |
4134 | (0, 0, $self->{w}, $self->{h}); |
4131 | } |
|
|
4132 | |
4135 | |
4133 | $self->_draw; |
4136 | $self->_draw; |
|
|
4137 | } |
4134 | } |
4138 | } |
4135 | |
4139 | |
4136 | ############################################################################# |
4140 | ############################################################################# |
4137 | |
4141 | |
4138 | package CFPlus::UI; |
4142 | package CFPlus::UI; |