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 | |
parent | ee500a3d942327563451bfc81dee0a3044a3cb7e (diff) |
support for SDL resize event
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/runner.py | 3 | ||||
-rw-r--r-- | tests/sdl_resize.c | 45 |
2 files changed, 48 insertions, 0 deletions
diff --git a/tests/runner.py b/tests/runner.py index db566c3f..d965e3e7 100755 --- a/tests/runner.py +++ b/tests/runner.py @@ -8850,6 +8850,9 @@ elif 'browser' in str(sys.argv): def test_sdl_quit(self): self.btest('sdl_quit.c', '1') + def test_sdl_resize(self): + self.btest('sdl_resize.c', '1') + def test_gc(self): self.btest('browser_gc.cpp', '1') 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); +} + |