diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/hello_world_sdl.cpp | 8 | ||||
-rwxr-xr-x | tests/runner.py | 3 | ||||
-rw-r--r-- | tests/sdl_canvas_blank.c | 17 | ||||
-rw-r--r-- | tests/sdl_canvas_blank.png | bin | 0 -> 914 bytes |
4 files changed, 23 insertions, 5 deletions
diff --git a/tests/hello_world_sdl.cpp b/tests/hello_world_sdl.cpp index b6401995..eeaad0cd 100644 --- a/tests/hello_world_sdl.cpp +++ b/tests/hello_world_sdl.cpp @@ -2,7 +2,7 @@ #include <SDL/SDL.h> -int main() { +extern "C" int main(int argc, char** argv) { printf("hello, world!\n"); SDL_Init(SDL_INIT_VIDEO); @@ -11,10 +11,8 @@ int main() { if (SDL_MUSTLOCK(screen)) SDL_LockSurface(screen); for (int i = 0; i < 256; i++) { for (int j = 0; j < 256; j++) { - *((char*)screen->pixels + i*256*4 + j*4 + 0) = i; - *((char*)screen->pixels + i*256*4 + j*4 + 1) = j; - *((char*)screen->pixels + i*256*4 + j*4 + 2) = 255-i; - *((char*)screen->pixels + i*256*4 + j*4 + 3) = (i+j)%255; // actually ignored, since this is to the screen + // alpha component is actually ignored, since this is to the screen + *((Uint32*)screen->pixels + i * 256 + j) = SDL_MapRGBA(screen->format, i, j, 255-i, (i+j) % 255); } } if (SDL_MUSTLOCK(screen)) SDL_UnlockSurface(screen); diff --git a/tests/runner.py b/tests/runner.py index e7434479..4b8a3010 100755 --- a/tests/runner.py +++ b/tests/runner.py @@ -12735,6 +12735,9 @@ elif 'browser' in str(sys.argv): def test_cube_explosion(self): self.btest('cube_explosion.c', expected=['667220544', '-1543354600', '-1485258415']) + def test_sdl_canvas_blank(self): + self.btest('sdl_canvas_blank.c', reference='sdl_canvas_blank.png') + def test_sdl_canvas_palette(self): self.btest('sdl_canvas_palette.c', reference='sdl_canvas_palette.png') diff --git a/tests/sdl_canvas_blank.c b/tests/sdl_canvas_blank.c new file mode 100644 index 00000000..0e7607a6 --- /dev/null +++ b/tests/sdl_canvas_blank.c @@ -0,0 +1,17 @@ +#include <stdio.h> +#include <SDL/SDL.h> + + +int main() { + SDL_Init(SDL_INIT_VIDEO); + SDL_Surface *screen = SDL_SetVideoMode(256, 256, 32, SDL_SWSURFACE); + + if (SDL_MUSTLOCK(screen)) SDL_LockSurface(screen); + if (SDL_MUSTLOCK(screen)) SDL_UnlockSurface(screen); + SDL_Flip(screen); + + SDL_Quit(); + + return 0; +} + diff --git a/tests/sdl_canvas_blank.png b/tests/sdl_canvas_blank.png Binary files differnew file mode 100644 index 00000000..dc5a4a26 --- /dev/null +++ b/tests/sdl_canvas_blank.png |