diff options
Diffstat (limited to 'vendor/SDL2/include/SDL_test_common.h')
-rw-r--r-- | vendor/SDL2/include/SDL_test_common.h | 235 |
1 files changed, 235 insertions, 0 deletions
diff --git a/vendor/SDL2/include/SDL_test_common.h b/vendor/SDL2/include/SDL_test_common.h new file mode 100644 index 0000000..0f50967 --- /dev/null +++ b/vendor/SDL2/include/SDL_test_common.h | |||
@@ -0,0 +1,235 @@ | |||
1 | /* | ||
2 | Simple DirectMedia Layer | ||
3 | Copyright (C) 1997-2022 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 | |||
54 | typedef struct | ||
55 | { | ||
56 | /* SDL init flags */ | ||
57 | char **argv; | ||
58 | Uint32 flags; | ||
59 | Uint32 verbose; | ||
60 | |||
61 | /* Video info */ | ||
62 | const char *videodriver; | ||
63 | int display; | ||
64 | const char *window_title; | ||
65 | const char *window_icon; | ||
66 | Uint32 window_flags; | ||
67 | SDL_bool flash_on_focus_loss; | ||
68 | int window_x; | ||
69 | int window_y; | ||
70 | int window_w; | ||
71 | int window_h; | ||
72 | int window_minW; | ||
73 | int window_minH; | ||
74 | int window_maxW; | ||
75 | int window_maxH; | ||
76 | int logical_w; | ||
77 | int logical_h; | ||
78 | float scale; | ||
79 | int depth; | ||
80 | int refresh_rate; | ||
81 | int num_windows; | ||
82 | SDL_Window **windows; | ||
83 | |||
84 | /* Renderer info */ | ||
85 | const char *renderdriver; | ||
86 | Uint32 render_flags; | ||
87 | SDL_bool skip_renderer; | ||
88 | SDL_Renderer **renderers; | ||
89 | SDL_Texture **targets; | ||
90 | |||
91 | /* Audio info */ | ||
92 | const char *audiodriver; | ||
93 | SDL_AudioSpec audiospec; | ||
94 | |||
95 | /* GL settings */ | ||
96 | int gl_red_size; | ||
97 | int gl_green_size; | ||
98 | int gl_blue_size; | ||
99 | int gl_alpha_size; | ||
100 | int gl_buffer_size; | ||
101 | int gl_depth_size; | ||
102 | int gl_stencil_size; | ||
103 | int gl_double_buffer; | ||
104 | int gl_accum_red_size; | ||
105 | int gl_accum_green_size; | ||
106 | int gl_accum_blue_size; | ||
107 | int gl_accum_alpha_size; | ||
108 | int gl_stereo; | ||
109 | int gl_multisamplebuffers; | ||
110 | int gl_multisamplesamples; | ||
111 | int gl_retained_backing; | ||
112 | int gl_accelerated; | ||
113 | int gl_major_version; | ||
114 | int gl_minor_version; | ||
115 | int gl_debug; | ||
116 | int gl_profile_mask; | ||
117 | |||
118 | /* Additional fields added in 2.0.18 */ | ||
119 | SDL_Rect confine; | ||
120 | |||
121 | } SDLTest_CommonState; | ||
122 | |||
123 | #include "begin_code.h" | ||
124 | /* Set up for C function definitions, even when using C++ */ | ||
125 | #ifdef __cplusplus | ||
126 | extern "C" { | ||
127 | #endif | ||
128 | |||
129 | /* Function prototypes */ | ||
130 | |||
131 | /** | ||
132 | * \brief Parse command line parameters and create common state. | ||
133 | * | ||
134 | * \param argv Array of command line parameters | ||
135 | * \param flags Flags indicating which subsystem to initialize (i.e. SDL_INIT_VIDEO | SDL_INIT_AUDIO) | ||
136 | * | ||
137 | * \returns a newly allocated common state object. | ||
138 | */ | ||
139 | SDLTest_CommonState *SDLTest_CommonCreateState(char **argv, Uint32 flags); | ||
140 | |||
141 | /** | ||
142 | * \brief Process one common argument. | ||
143 | * | ||
144 | * \param state The common state describing the test window to create. | ||
145 | * \param index The index of the argument to process in argv[]. | ||
146 | * | ||
147 | * \returns the number of arguments processed (i.e. 1 for --fullscreen, 2 for --video [videodriver], or -1 on error. | ||
148 | */ | ||
149 | int SDLTest_CommonArg(SDLTest_CommonState * state, int index); | ||
150 | |||
151 | |||
152 | /** | ||
153 | * \brief Logs command line usage info. | ||
154 | * | ||
155 | * This logs the appropriate command line options for the subsystems in use | ||
156 | * plus other common options, and then any application-specific options. | ||
157 | * This uses the SDL_Log() function and splits up output to be friendly to | ||
158 | * 80-character-wide terminals. | ||
159 | * | ||
160 | * \param state The common state describing the test window for the app. | ||
161 | * \param argv0 argv[0], as passed to main/SDL_main. | ||
162 | * \param options an array of strings for application specific options. The last element of the array should be NULL. | ||
163 | */ | ||
164 | void SDLTest_CommonLogUsage(SDLTest_CommonState * state, const char *argv0, const char **options); | ||
165 | |||
166 | /** | ||
167 | * \brief Returns common usage information | ||
168 | * | ||
169 | * You should (probably) be using SDLTest_CommonLogUsage() instead, but this | ||
170 | * function remains for binary compatibility. Strings returned from this | ||
171 | * function are valid until SDLTest_CommonQuit() is called, in which case | ||
172 | * those strings' memory is freed and can no longer be used. | ||
173 | * | ||
174 | * \param state The common state describing the test window to create. | ||
175 | * \returns a string with usage information | ||
176 | */ | ||
177 | const char *SDLTest_CommonUsage(SDLTest_CommonState * state); | ||
178 | |||
179 | /** | ||
180 | * \brief Open test window. | ||
181 | * | ||
182 | * \param state The common state describing the test window to create. | ||
183 | * | ||
184 | * \returns SDL_TRUE if initialization succeeded, false otherwise | ||
185 | */ | ||
186 | SDL_bool SDLTest_CommonInit(SDLTest_CommonState * state); | ||
187 | |||
188 | /** | ||
189 | * \brief Easy argument handling when test app doesn't need any custom args. | ||
190 | * | ||
191 | * \param state The common state describing the test window to create. | ||
192 | * \param argc argc, as supplied to SDL_main | ||
193 | * \param argv argv, as supplied to SDL_main | ||
194 | * | ||
195 | * \returns SDL_FALSE if app should quit, true otherwise. | ||
196 | */ | ||
197 | SDL_bool SDLTest_CommonDefaultArgs(SDLTest_CommonState * state, const int argc, char **argv); | ||
198 | |||
199 | /** | ||
200 | * \brief Common event handler for test windows. | ||
201 | * | ||
202 | * \param state The common state used to create test window. | ||
203 | * \param event The event to handle. | ||
204 | * \param done Flag indicating we are done. | ||
205 | * | ||
206 | */ | ||
207 | void SDLTest_CommonEvent(SDLTest_CommonState * state, SDL_Event * event, int *done); | ||
208 | |||
209 | /** | ||
210 | * \brief Close test window. | ||
211 | * | ||
212 | * \param state The common state used to create test window. | ||
213 | * | ||
214 | */ | ||
215 | void SDLTest_CommonQuit(SDLTest_CommonState * state); | ||
216 | |||
217 | /** | ||
218 | * \brief Draws various window information (position, size, etc.) to the renderer. | ||
219 | * | ||
220 | * \param renderer The renderer to draw to. | ||
221 | * \param window The window whose information should be displayed. | ||
222 | * \param usedHeight Returns the height used, so the caller can draw more below. | ||
223 | * | ||
224 | */ | ||
225 | void SDLTest_CommonDrawWindowInfo(SDL_Renderer * renderer, SDL_Window * window, int * usedHeight); | ||
226 | |||
227 | /* Ends C function definitions when using C++ */ | ||
228 | #ifdef __cplusplus | ||
229 | } | ||
230 | #endif | ||
231 | #include "close_code.h" | ||
232 | |||
233 | #endif /* SDL_test_common_h_ */ | ||
234 | |||
235 | /* vi: set ts=4 sw=4 expandtab: */ | ||