aboutsummaryrefslogtreecommitdiff
path: root/tests/sdl_canvas_alpha.c
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-09-24 17:49:32 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-09-24 17:53:45 -0700
commit323b01cf131118ddcd0aa641c5762526f8654edc (patch)
tree204aac07960d3e0993530f7343afb945ba4ab203 /tests/sdl_canvas_alpha.c
parent4c845acc4c6e370825522076d1528df4daece274 (diff)
sdl alpha test
Diffstat (limited to 'tests/sdl_canvas_alpha.c')
-rw-r--r--tests/sdl_canvas_alpha.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/sdl_canvas_alpha.c b/tests/sdl_canvas_alpha.c
new file mode 100644
index 00000000..1a41d115
--- /dev/null
+++ b/tests/sdl_canvas_alpha.c
@@ -0,0 +1,46 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <SDL/SDL.h>
+#include <SDL/SDL_ttf.h>
+#include <emscripten.h>
+
+
+int main(int argc, char **argv) {
+ SDL_Init(SDL_INIT_VIDEO);
+ SDL_Surface *screen = SDL_SetVideoMode(600, 450, 32, SDL_HWSURFACE);
+
+ printf("Init: %d\n", TTF_Init());
+
+ TTF_Font *font = TTF_OpenFont("sans-serif", 40);
+ printf("Font: %p\n", font);
+
+ SDL_Color color = { 0xff, 0x99, 0x00, 0xff };
+ SDL_Surface *text = TTF_RenderText_Solid(font, "hello orange world", color);
+
+ // render
+ for (int i = 0; i < 255; i++) {
+ SDL_Rect dest = { i, i, 0, 0 };
+ SDL_SetAlpha(text, 0, (((float)i)/255)*(((float)i)/255)*255);
+ SDL_BlitSurface (text, NULL, screen, &dest);
+ }
+
+ SDL_Flip(screen);
+
+ SDL_LockSurface(screen);
+
+ int width, height, isFullscreen;
+ emscripten_get_canvas_size(&width, &height, &isFullscreen);
+
+ if (width != 600 && height != 450)
+ {
+ printf("error: wrong width/height\n");
+ abort();
+ }
+
+ SDL_Quit();
+
+ printf("done.\n");
+
+ return 0;
+}
+