Mercurial > sdl-ios-xcode
comparison test/common.c @ 3194:c18c03927a77
Proper window resize handling in GLES test application.
author | Mike Gorchak <lestat@i.com.ua> |
---|---|
date | Thu, 11 Jun 2009 06:03:05 +0000 |
parents | 51750b7a966f |
children | 3e0f51e60fa2 |
comparison
equal
deleted
inserted
replaced
3193:64e4442676a6 | 3194:c18c03927a77 |
---|---|
9 "[--video driver] [--renderer driver] [--info all|video|modes|render|event] [--display %d] [--fullscreen | --windows N] [--title title] [--center | --position X,Y] [--geometry WxH] [--depth N] [--refresh R] [--vsync] [--noframe] [--resize] [--minimize] [--maximize] [--grab]" | 9 "[--video driver] [--renderer driver] [--info all|video|modes|render|event] [--display %d] [--fullscreen | --windows N] [--title title] [--center | --position X,Y] [--geometry WxH] [--depth N] [--refresh R] [--vsync] [--noframe] [--resize] [--minimize] [--maximize] [--grab]" |
10 | 10 |
11 #define AUDIO_USAGE \ | 11 #define AUDIO_USAGE \ |
12 "[--rate N] [--format U8|S8|U16|U16LE|U16BE|S16|S16LE|S16BE] [--channels N] [--samples N]" | 12 "[--rate N] [--format U8|S8|U16|U16LE|U16BE|S16|S16LE|S16BE] [--channels N] [--samples N]" |
13 | 13 |
14 struct pformat | 14 struct pformat { |
15 { | |
16 Uint32 id; | 15 Uint32 id; |
17 const char *idstr; | 16 const char* idstr; |
18 } pixel_format[] = { | 17 } pixel_format[]={ |
19 { | 18 {SDL_PIXELFORMAT_INDEX1LSB, "SDL_PIXELFORMAT_INDEX1LSB"}, |
20 SDL_PIXELFORMAT_INDEX1LSB, "SDL_PIXELFORMAT_INDEX1LSB"}, { | 19 {SDL_PIXELFORMAT_INDEX1MSB, "SDL_PIXELFORMAT_INDEX1MSB"}, |
21 SDL_PIXELFORMAT_INDEX1MSB, "SDL_PIXELFORMAT_INDEX1MSB"}, { | 20 {SDL_PIXELFORMAT_INDEX4LSB, "SDL_PIXELFORMAT_INDEX4LSB"}, |
22 SDL_PIXELFORMAT_INDEX4LSB, "SDL_PIXELFORMAT_INDEX4LSB"}, { | 21 {SDL_PIXELFORMAT_INDEX4MSB, "SDL_PIXELFORMAT_INDEX4MSB"}, |
23 SDL_PIXELFORMAT_INDEX4MSB, "SDL_PIXELFORMAT_INDEX4MSB"}, { | 22 {SDL_PIXELFORMAT_INDEX8, "SDL_PIXELFORMAT_INDEX8"}, |
24 SDL_PIXELFORMAT_INDEX8, "SDL_PIXELFORMAT_INDEX8"}, { | 23 {SDL_PIXELFORMAT_RGB332, "SDL_PIXELFORMAT_RGB332"}, |
25 SDL_PIXELFORMAT_RGB332, "SDL_PIXELFORMAT_RGB332"}, { | 24 {SDL_PIXELFORMAT_RGB444, "SDL_PIXELFORMAT_RGB444"}, |
26 SDL_PIXELFORMAT_RGB444, "SDL_PIXELFORMAT_RGB444"}, { | 25 {SDL_PIXELFORMAT_RGB555, "SDL_PIXELFORMAT_RGB555"}, |
27 SDL_PIXELFORMAT_RGB555, "SDL_PIXELFORMAT_RGB555"}, { | 26 {SDL_PIXELFORMAT_BGR555, "SDL_PIXELFORMAT_BGR555"}, |
28 SDL_PIXELFORMAT_BGR555, "SDL_PIXELFORMAT_BGR555"}, { | 27 {SDL_PIXELFORMAT_ARGB4444, "SDL_PIXELFORMAT_ARGB4444"}, |
29 SDL_PIXELFORMAT_ARGB4444, "SDL_PIXELFORMAT_ARGB4444"}, { | 28 {SDL_PIXELFORMAT_ABGR4444, "SDL_PIXELFORMAT_ABGR4444"}, |
30 SDL_PIXELFORMAT_ABGR4444, "SDL_PIXELFORMAT_ABGR4444"}, { | 29 {SDL_PIXELFORMAT_ARGB1555, "SDL_PIXELFORMAT_ARGB1555"}, |
31 SDL_PIXELFORMAT_ARGB1555, "SDL_PIXELFORMAT_ARGB1555"}, { | 30 {SDL_PIXELFORMAT_ABGR1555, "SDL_PIXELFORMAT_ABGR1555"}, |
32 SDL_PIXELFORMAT_ABGR1555, "SDL_PIXELFORMAT_ABGR1555"}, { | 31 {SDL_PIXELFORMAT_RGB565, "SDL_PIXELFORMAT_RGB565"}, |
33 SDL_PIXELFORMAT_RGB565, "SDL_PIXELFORMAT_RGB565"}, { | 32 {SDL_PIXELFORMAT_BGR565, "SDL_PIXELFORMAT_BGR565"}, |
34 SDL_PIXELFORMAT_BGR565, "SDL_PIXELFORMAT_BGR565"}, { | 33 {SDL_PIXELFORMAT_RGB24, "SDL_PIXELFORMAT_RGB24"}, |
35 SDL_PIXELFORMAT_RGB24, "SDL_PIXELFORMAT_RGB24"}, { | 34 {SDL_PIXELFORMAT_BGR24, "SDL_PIXELFORMAT_BGR24"}, |
36 SDL_PIXELFORMAT_BGR24, "SDL_PIXELFORMAT_BGR24"}, { | 35 {SDL_PIXELFORMAT_RGB888, "SDL_PIXELFORMAT_RGB888"}, |
37 SDL_PIXELFORMAT_RGB888, "SDL_PIXELFORMAT_RGB888"}, { | 36 {SDL_PIXELFORMAT_BGR888, "SDL_PIXELFORMAT_BGR888"}, |
38 SDL_PIXELFORMAT_BGR888, "SDL_PIXELFORMAT_BGR888"}, { | 37 {SDL_PIXELFORMAT_ARGB8888, "SDL_PIXELFORMAT_ARGB8888"}, |
39 SDL_PIXELFORMAT_ARGB8888, "SDL_PIXELFORMAT_ARGB8888"}, { | 38 {SDL_PIXELFORMAT_RGBA8888, "SDL_PIXELFORMAT_RGBA8888"}, |
40 SDL_PIXELFORMAT_RGBA8888, "SDL_PIXELFORMAT_RGBA8888"}, { | 39 {SDL_PIXELFORMAT_ABGR8888, "SDL_PIXELFORMAT_ABGR8888"}, |
41 SDL_PIXELFORMAT_ABGR8888, "SDL_PIXELFORMAT_ABGR8888"}, { | 40 {SDL_PIXELFORMAT_BGRA8888, "SDL_PIXELFORMAT_BGRA8888"}, |
42 SDL_PIXELFORMAT_BGRA8888, "SDL_PIXELFORMAT_BGRA8888"}, { | 41 {SDL_PIXELFORMAT_ARGB2101010, "SDL_PIXELFORMAT_ARGB2101010"}, |
43 SDL_PIXELFORMAT_ARGB2101010, "SDL_PIXELFORMAT_ARGB2101010"}, { | 42 {SDL_PIXELFORMAT_YV12, "SDL_PIXELFORMAT_YV12"}, |
44 SDL_PIXELFORMAT_YV12, "SDL_PIXELFORMAT_YV12"}, { | 43 {SDL_PIXELFORMAT_IYUV, "SDL_PIXELFORMAT_IYUV"}, |
45 SDL_PIXELFORMAT_IYUV, "SDL_PIXELFORMAT_IYUV"}, { | 44 {SDL_PIXELFORMAT_YUY2, "SDL_PIXELFORMAT_YUY2"}, |
46 SDL_PIXELFORMAT_YUY2, "SDL_PIXELFORMAT_YUY2"}, { | 45 {SDL_PIXELFORMAT_UYVY, "SDL_PIXELFORMAT_UYVY"}, |
47 SDL_PIXELFORMAT_UYVY, "SDL_PIXELFORMAT_UYVY"}, { | 46 {SDL_PIXELFORMAT_YVYU, "SDL_PIXELFORMAT_YVYU"} |
48 SDL_PIXELFORMAT_YVYU, "SDL_PIXELFORMAT_YVYU"} | |
49 }; | 47 }; |
50 | 48 |
51 const char * | 49 const char* PixelFormatToString(Uint32 pformat) |
52 PixelFormatToString(Uint32 pformat) | 50 { |
53 { | 51 Uint32 it=0; |
54 Uint32 it = 0; | 52 |
55 | 53 do { |
56 do { | 54 if (pixel_format[it].idstr == NULL) { |
57 if (pixel_format[it].idstr == NULL) { | 55 break; |
58 break; | 56 } |
59 } | 57 if (pixel_format[it].id == pformat) { |
60 if (pixel_format[it].id == pformat) { | 58 return pixel_format[it].idstr; |
61 return pixel_format[it].idstr; | 59 } |
62 } | 60 it++; |
63 it++; | 61 } while(1); |
64 } while (1); | 62 |
65 | 63 return "SDL_PIXELFORMAT_UNKNOWN"; |
66 return "SDL_PIXELFORMAT_UNKNOWN"; | |
67 } | 64 } |
68 | 65 |
69 CommonState * | 66 CommonState * |
70 CommonCreateState(char **argv, Uint32 flags) | 67 CommonCreateState(char **argv, Uint32 flags) |
71 { | 68 { |
80 state->flags = flags; | 77 state->flags = flags; |
81 state->window_title = argv[0]; | 78 state->window_title = argv[0]; |
82 state->window_flags = SDL_WINDOW_SHOWN; | 79 state->window_flags = SDL_WINDOW_SHOWN; |
83 state->window_x = SDL_WINDOWPOS_UNDEFINED; | 80 state->window_x = SDL_WINDOWPOS_UNDEFINED; |
84 state->window_y = SDL_WINDOWPOS_UNDEFINED; | 81 state->window_y = SDL_WINDOWPOS_UNDEFINED; |
85 state->window_w = 640; | 82 state->window_w = DEFAULT_WINDOW_WIDTH; |
86 state->window_h = 480; | 83 state->window_h = DEFAULT_WINDOW_HEIGHT; |
87 state->num_windows = 1; | 84 state->num_windows = 1; |
88 state->audiospec.freq = 22050; | 85 state->audiospec.freq = 22050; |
89 state->audiospec.format = AUDIO_S16; | 86 state->audiospec.format = AUDIO_S16; |
90 state->audiospec.channels = 2; | 87 state->audiospec.channels = 2; |
91 state->audiospec.samples = 2048; | 88 state->audiospec.samples = 2048; |
707 break; | 704 break; |
708 } | 705 } |
709 fullscreen_mode.w = state->window_w; | 706 fullscreen_mode.w = state->window_w; |
710 fullscreen_mode.h = state->window_h; | 707 fullscreen_mode.h = state->window_h; |
711 fullscreen_mode.refresh_rate = state->refresh_rate; | 708 fullscreen_mode.refresh_rate = state->refresh_rate; |
712 if (SDL_SetFullscreenDisplayMode(&fullscreen_mode) < 0) { | 709 if (SDL_SetFullscreenDisplayMode(&fullscreen_mode)<0) { |
713 fprintf(stderr, "Can't switch to fullscreen display mode: %s\n", | 710 fprintf(stderr, "Can't switch to fullscreen display mode: %s\n", |
714 SDL_GetError()); | 711 SDL_GetError()); |
715 return SDL_FALSE; | 712 return SDL_FALSE; |
716 } | 713 } |
717 | 714 |