diff options
Diffstat (limited to 'src/contrib/SDL-2.30.2/include/SDL_test_common.h')
-rw-r--r-- | src/contrib/SDL-2.30.2/include/SDL_test_common.h | 236 |
1 files changed, 236 insertions, 0 deletions
diff --git a/src/contrib/SDL-2.30.2/include/SDL_test_common.h b/src/contrib/SDL-2.30.2/include/SDL_test_common.h new file mode 100644 index 0000000..d977e46 --- /dev/null +++ b/src/contrib/SDL-2.30.2/include/SDL_test_common.h | |||
@@ -0,0 +1,236 @@ | |||
1 | /* | ||
2 | Simple DirectMedia Layer | ||
3 | Copyright (C) 1997-2024 Sam Lantinga <slouken@libsdl.org> | ||
4 | |||
5 | This software is provided 'as-is', without any express or implied | ||
6 | warranty. In no event will the authors be held liable for any damages | ||
7 | arising from the use of this software. | ||
8 | |||
9 | Permission is granted to anyone to use this software for any purpose, | ||
10 | including commercial applications, and to alter it and redistribute it | ||
11 | freely, subject to the following restrictions: | ||
12 | |||
13 | 1. The origin of this software must not be misrepresented; you must not | ||
14 | claim that you wrote the original software. If you use this software | ||
15 | in a product, an acknowledgment in the product documentation would be | ||
16 | appreciated but is not required. | ||
17 | 2. Altered source versions must be plainly marked as such, and must not be | ||
18 | misrepresented as being the original software. | ||
19 | 3. This notice may not be removed or altered from any source distribution. | ||
20 | */ | ||
21 | |||
22 | /** | ||
23 | * \file SDL_test_common.h | ||
24 | * | ||
25 | * Include file for SDL test framework. | ||
26 | * | ||
27 | * This code is a part of the SDL2_test library, not the main SDL library. | ||
28 | */ | ||
29 | |||
30 | /* Ported from original test\common.h file. */ | ||
31 | |||
32 | #ifndef SDL_test_common_h_ | ||
33 | #define SDL_test_common_h_ | ||
34 | |||
35 | #include "SDL.h" | ||
36 | |||
37 | #if defined(__PSP__) | ||
38 | #define DEFAULT_WINDOW_WIDTH 480 | ||
39 | #define DEFAULT_WINDOW_HEIGHT 272 | ||
40 | #elif defined(__VITA__) | ||
41 | #define DEFAULT_WINDOW_WIDTH 960 | ||
42 | #define DEFAULT_WINDOW_HEIGHT 544 | ||
43 | #else | ||
44 | #define DEFAULT_WINDOW_WIDTH 640 | ||
45 | #define DEFAULT_WINDOW_HEIGHT 480 | ||
46 | #endif | ||
47 | |||
48 | #define VERBOSE_VIDEO 0x00000001 | ||
49 | #define VERBOSE_MODES 0x00000002 | ||
50 | #define VERBOSE_RENDER 0x00000004 | ||
51 | #define VERBOSE_EVENT 0x00000008 | ||
52 | #define VERBOSE_AUDIO 0x00000010 | ||
53 | #define VERBOSE_MOTION 0x00000020 | ||
54 | |||
55 | typedef struct | ||
56 | { | ||
57 | /* SDL init flags */ | ||
58 | char **argv; | ||
59 | Uint32 flags; | ||
60 | Uint32 verbose; | ||
61 | |||
62 | /* Video info */ | ||
63 | const char *videodriver; | ||
64 | int display; | ||
65 | const char *window_title; | ||
66 | const char *window_icon; | ||
67 | Uint32 window_flags; | ||
68 | SDL_bool flash_on_focus_loss; | ||
69 | int window_x; | ||
70 | int window_y; | ||
71 | int window_w; | ||
72 | int window_h; | ||
73 | int window_minW; | ||
74 | int window_minH; | ||
75 | int window_maxW; | ||
76 | int window_maxH; | ||
77 | int logical_w; | ||
78 | int logical_h; | ||
79 | float scale; | ||
80 | int depth; | ||
81 | int refresh_rate; | ||
82 | int num_windows; | ||
83 | SDL_Window **windows; | ||
84 | |||
85 | /* Renderer info */ | ||
86 | const char *renderdriver; | ||
87 | Uint32 render_flags; | ||
88 | SDL_bool skip_renderer; | ||
89 | SDL_Renderer **renderers; | ||
90 | SDL_Texture **targets; | ||
91 | |||
92 | /* Audio info */ | ||
93 | const char *audiodriver; | ||
94 | SDL_AudioSpec audiospec; | ||
95 | |||
96 | /* GL settings */ | ||
97 | int gl_red_size; | ||
98 | int gl_green_size; | ||
99 | int gl_blue_size; | ||
100 | int gl_alpha_size; | ||
101 | int gl_buffer_size; | ||
102 | int gl_depth_size; | ||
103 | int gl_stencil_size; | ||
104 | int gl_double_buffer; | ||
105 | int gl_accum_red_size; | ||
106 | int gl_accum_green_size; | ||
107 | int gl_accum_blue_size; | ||
108 | int gl_accum_alpha_size; | ||
109 | int gl_stereo; | ||
110 | int gl_multisamplebuffers; | ||
111 | int gl_multisamplesamples; | ||
112 | int gl_retained_backing; | ||
113 | int gl_accelerated; | ||
114 | int gl_major_version; | ||
115 | int gl_minor_version; | ||
116 | int gl_debug; | ||
117 | int gl_profile_mask; | ||
118 | |||
119 | /* Additional fields added in 2.0.18 */ | ||
120 | SDL_Rect confine; | ||
121 | |||
122 | } SDLTest_CommonState; | ||
123 | |||
124 | #include "begin_code.h" | ||
125 | /* Set up for C function definitions, even when using C++ */ | ||
126 | #ifdef __cplusplus | ||
127 | extern "C" { | ||
128 | #endif | ||
129 | |||
130 | /* Function prototypes */ | ||
131 | |||
132 | /** | ||
133 | * \brief Parse command line parameters and create common state. | ||
134 | * | ||
135 | * \param argv Array of command line parameters | ||
136 | * \param flags Flags indicating which subsystem to initialize (i.e. SDL_INIT_VIDEO | SDL_INIT_AUDIO) | ||
137 | * | ||
138 | * \returns a newly allocated common state object. | ||
139 | */ | ||
140 | SDLTest_CommonState *SDLTest_CommonCreateState(char **argv, Uint32 flags); | ||
141 | |||
142 | /** | ||
143 | * \brief Process one common argument. | ||
144 | * | ||
145 | * \param state The common state describing the test window to create. | ||
146 | * \param index The index of the argument to process in argv[]. | ||
147 | * | ||
148 | * \returns the number of arguments processed (i.e. 1 for --fullscreen, 2 for --video [videodriver], or -1 on error. | ||
149 | */ | ||
150 | int SDLTest_CommonArg(SDLTest_CommonState * state, int index); | ||
151 | |||
152 | |||
153 | /** | ||
154 | * \brief Logs command line usage info. | ||
155 | * | ||
156 | * This logs the appropriate command line options for the subsystems in use | ||
157 | * plus other common options, and then any application-specific options. | ||
158 | * This uses the SDL_Log() function and splits up output to be friendly to | ||
159 | * 80-character-wide terminals. | ||
160 | * | ||
161 | * \param state The common state describing the test window for the app. | ||
162 | * \param argv0 argv[0], as passed to main/SDL_main. | ||
163 | * \param options an array of strings for application specific options. The last element of the array should be NULL. | ||
164 | */ | ||
165 | void SDLTest_CommonLogUsage(SDLTest_CommonState * state, const char *argv0, const char **options); | ||
166 | |||
167 | /** | ||
168 | * \brief Returns common usage information | ||
169 | * | ||
170 | * You should (probably) be using SDLTest_CommonLogUsage() instead, but this | ||
171 | * function remains for binary compatibility. Strings returned from this | ||
172 | * function are valid until SDLTest_CommonQuit() is called, in which case | ||
173 | * those strings' memory is freed and can no longer be used. | ||
174 | * | ||
175 | * \param state The common state describing the test window to create. | ||
176 | * \returns a string with usage information | ||
177 | */ | ||
178 | const char *SDLTest_CommonUsage(SDLTest_CommonState * state); | ||
179 | |||
180 | /** | ||
181 | * \brief Open test window. | ||
182 | * | ||
183 | * \param state The common state describing the test window to create. | ||
184 | * | ||
185 | * \returns SDL_TRUE if initialization succeeded, false otherwise | ||
186 | */ | ||
187 | SDL_bool SDLTest_CommonInit(SDLTest_CommonState * state); | ||
188 | |||
189 | /** | ||
190 | * \brief Easy argument handling when test app doesn't need any custom args. | ||
191 | * | ||
192 | * \param state The common state describing the test window to create. | ||
193 | * \param argc argc, as supplied to SDL_main | ||
194 | * \param argv argv, as supplied to SDL_main | ||
195 | * | ||
196 | * \returns SDL_FALSE if app should quit, true otherwise. | ||
197 | */ | ||
198 | SDL_bool SDLTest_CommonDefaultArgs(SDLTest_CommonState * state, const int argc, char **argv); | ||
199 | |||
200 | /** | ||
201 | * \brief Common event handler for test windows. | ||
202 | * | ||
203 | * \param state The common state used to create test window. | ||
204 | * \param event The event to handle. | ||
205 | * \param done Flag indicating we are done. | ||
206 | * | ||
207 | */ | ||
208 | void SDLTest_CommonEvent(SDLTest_CommonState * state, SDL_Event * event, int *done); | ||
209 | |||
210 | /** | ||
211 | * \brief Close test window. | ||
212 | * | ||
213 | * \param state The common state used to create test window. | ||
214 | * | ||
215 | */ | ||
216 | void SDLTest_CommonQuit(SDLTest_CommonState * state); | ||
217 | |||
218 | /** | ||
219 | * \brief Draws various window information (position, size, etc.) to the renderer. | ||
220 | * | ||
221 | * \param renderer The renderer to draw to. | ||
222 | * \param window The window whose information should be displayed. | ||
223 | * \param usedHeight Returns the height used, so the caller can draw more below. | ||
224 | * | ||
225 | */ | ||
226 | void SDLTest_CommonDrawWindowInfo(SDL_Renderer * renderer, SDL_Window * window, int * usedHeight); | ||
227 | |||
228 | /* Ends C function definitions when using C++ */ | ||
229 | #ifdef __cplusplus | ||
230 | } | ||
231 | #endif | ||
232 | #include "close_code.h" | ||
233 | |||
234 | #endif /* SDL_test_common_h_ */ | ||
235 | |||
236 | /* vi: set ts=4 sw=4 expandtab: */ | ||