… | |
… | |
40 | our %SDL_CB; |
40 | our %SDL_CB; |
41 | |
41 | |
42 | our @GL_INIT; # hooks called on every gl init |
42 | our @GL_INIT; # hooks called on every gl init |
43 | |
43 | |
44 | our $ALT_ENTER_MESSAGE; |
44 | our $ALT_ENTER_MESSAGE; |
|
|
45 | |
|
|
46 | our $tw; |
45 | |
47 | |
46 | sub init_screen { |
48 | sub init_screen { |
47 | $SDL_APP = new SDL::App |
49 | $SDL_APP = new SDL::App |
48 | -flags => SDL_ANYFORMAT | SDL_HWSURFACE, |
50 | -flags => SDL_ANYFORMAT | SDL_HWSURFACE, |
49 | -title => "Crossfire+ Client", |
51 | -title => "Crossfire+ Client", |
… | |
… | |
66 | or die "TTFOpenFont: $!"; |
68 | or die "TTFOpenFont: $!"; |
67 | |
69 | |
68 | $ALT_ENTER_MESSAGE = new Crossfire::Client::Widget::Label 0, $HEIGHT - $HEIGHT / 40, 10, $UIFONT, "Alt-Enter toggles fullscreen mode"; |
70 | $ALT_ENTER_MESSAGE = new Crossfire::Client::Widget::Label 0, $HEIGHT - $HEIGHT / 40, 10, $UIFONT, "Alt-Enter toggles fullscreen mode"; |
69 | $ALT_ENTER_MESSAGE->move (0, $HEIGHT - ($ALT_ENTER_MESSAGE->size_request)[1]); |
71 | $ALT_ENTER_MESSAGE->move (0, $HEIGHT - ($ALT_ENTER_MESSAGE->size_request)[1]); |
70 | $ALT_ENTER_MESSAGE->activate; |
72 | $ALT_ENTER_MESSAGE->activate; |
|
|
73 | |
|
|
74 | $tw = new Crossfire::Client::Widget::Window; |
|
|
75 | $tw->add (my $lbl = new Crossfire::Client::Widget::Label 0, $HEIGHT - $HEIGHT / 40, 10, $UIFONT, "Foo in the garden!"); |
|
|
76 | # $tw = new Crossfire::Client::Widget::Label 0, $HEIGHT - $HEIGHT / 40, 10, $UIFONT, "Foo in the garden!"; |
|
|
77 | |
|
|
78 | $tw->move (0, $HEIGHT - 50); |
|
|
79 | $tw->activate; |
71 | |
80 | |
72 | glClearColor 0, 0, 0, 0; |
81 | glClearColor 0, 0, 0, 0; |
73 | |
82 | |
74 | glEnable GL_TEXTURE_2D; |
83 | glEnable GL_TEXTURE_2D; |
75 | glShadeModel GL_FLAT; |
84 | glShadeModel GL_FLAT; |