diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-10-17 11:25:01 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-10-17 13:58:42 -0700 |
commit | 998106173842d2e6510368ed0ef325fe78370475 (patch) | |
tree | 1ca5d212b130faf485971c0db933c2030fa2ea99 /tests/sdl_resize.c | |
parent | ee500a3d942327563451bfc81dee0a3044a3cb7e (diff) |
support for SDL resize event
Diffstat (limited to 'tests/sdl_resize.c')
-rw-r--r-- | tests/sdl_resize.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/sdl_resize.c b/tests/sdl_resize.c new file mode 100644 index 00000000..dc3b374e --- /dev/null +++ b/tests/sdl_resize.c @@ -0,0 +1,45 @@ +#include <stdio.h> +#include <SDL/SDL.h> +#include <SDL/SDL_ttf.h> +#include <assert.h> +#include <emscripten.h> + +int stage = 0; + +void loop() { + SDL_Event event; + while (SDL_PollEvent(&event)) { + switch(event.type) { + case SDL_VIDEORESIZE: { + SDL_ResizeEvent *r = (SDL_ResizeEvent*)&event; + printf("resize event! %d:%d\n", r->w, r->h); + switch (stage) { + case 0: + assert(r->w == 100); + assert(r->h == 200); + emscripten_set_canvas_size(123, 246); + stage++; + break; + case 1: + assert(r->w == 123); + assert(r->h == 246); + int result = 1; + REPORT_RESULT(); + break; + } + } + } + } +} + +void main_2(); + +int main() { + SDL_Init(SDL_INIT_VIDEO); + SDL_Surface *screen = SDL_SetVideoMode(600, 450, 32, SDL_HWSURFACE); + + emscripten_set_canvas_size(100, 200); + + emscripten_set_main_loop(loop, 0, 0); +} + |