annotate SDL3/SDL_properties.h @ 1:20d02a178406 default tip

*: check in everything else yay
author Paper <paper@tflc.us>
date Mon, 05 Jan 2026 02:15:46 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
1 /*
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
2 Simple DirectMedia Layer
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
3 Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org>
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
4
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
5 This software is provided 'as-is', without any express or implied
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
6 warranty. In no event will the authors be held liable for any damages
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
7 arising from the use of this software.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
8
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
9 Permission is granted to anyone to use this software for any purpose,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
10 including commercial applications, and to alter it and redistribute it
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
11 freely, subject to the following restrictions:
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
12
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
13 1. The origin of this software must not be misrepresented; you must not
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
14 claim that you wrote the original software. If you use this software
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
15 in a product, an acknowledgment in the product documentation would be
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
16 appreciated but is not required.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
17 2. Altered source versions must be plainly marked as such, and must not be
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
18 misrepresented as being the original software.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
19 3. This notice may not be removed or altered from any source distribution.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
20 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
21
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
22 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
23 * # CategoryProperties
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
24 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
25 * A property is a variable that can be created and retrieved by name at
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
26 * runtime.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
27 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
28 * All properties are part of a property group (SDL_PropertiesID). A property
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
29 * group can be created with the SDL_CreateProperties function and destroyed
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
30 * with the SDL_DestroyProperties function.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
31 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
32 * Properties can be added to and retrieved from a property group through the
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
33 * following functions:
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
34 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
35 * - SDL_SetPointerProperty and SDL_GetPointerProperty operate on `void*`
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
36 * pointer types.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
37 * - SDL_SetStringProperty and SDL_GetStringProperty operate on string types.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
38 * - SDL_SetNumberProperty and SDL_GetNumberProperty operate on signed 64-bit
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
39 * integer types.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
40 * - SDL_SetFloatProperty and SDL_GetFloatProperty operate on floating point
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
41 * types.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
42 * - SDL_SetBooleanProperty and SDL_GetBooleanProperty operate on boolean
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
43 * types.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
44 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
45 * Properties can be removed from a group by using SDL_ClearProperty.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
46 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
47
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
48
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
49 #ifndef SDL_properties_h_
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
50 #define SDL_properties_h_
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
51
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
52 #include <SDL3/SDL_stdinc.h>
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
53 #include <SDL3/SDL_error.h>
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
54
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
55 #include <SDL3/SDL_begin_code.h>
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
56 /* Set up for C function definitions, even when using C++ */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
57 #ifdef __cplusplus
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
58 extern "C" {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
59 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
60
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
61 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
62 * An ID that represents a properties set.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
63 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
64 * \since This datatype is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
65 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
66 typedef Uint32 SDL_PropertiesID;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
67
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
68 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
69 * SDL property type
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
70 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
71 * \since This enum is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
72 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
73 typedef enum SDL_PropertyType
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
74 {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
75 SDL_PROPERTY_TYPE_INVALID,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
76 SDL_PROPERTY_TYPE_POINTER,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
77 SDL_PROPERTY_TYPE_STRING,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
78 SDL_PROPERTY_TYPE_NUMBER,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
79 SDL_PROPERTY_TYPE_FLOAT,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
80 SDL_PROPERTY_TYPE_BOOLEAN
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
81 } SDL_PropertyType;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
82
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
83 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
84 * A generic property for naming things.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
85 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
86 * This property is intended to be added to any SDL_PropertiesID that needs a
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
87 * generic name associated with the property set. It is not guaranteed that
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
88 * any property set will include this key, but it is convenient to have a
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
89 * standard key that any piece of code could reasonably agree to use.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
90 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
91 * For example, the properties associated with an SDL_Texture might have a
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
92 * name string of "player sprites", or an SDL_AudioStream might have
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
93 * "background music", etc. This might also be useful for an SDL_IOStream to
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
94 * list the path to its asset.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
95 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
96 * There is no format for the value set with this key; it is expected to be
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
97 * human-readable and informational in nature, possibly for logging or
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
98 * debugging purposes.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
99 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
100 * SDL does not currently set this property on any objects it creates, but
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
101 * this may change in later versions; it is currently expected that apps and
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
102 * external libraries will take advantage of it, when appropriate.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
103 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
104 * \since This macro is available since SDL 3.4.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
105 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
106 #define SDL_PROP_NAME_STRING "SDL.name"
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
107
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
108 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
109 * Get the global SDL properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
110 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
111 * \returns a valid property ID on success or 0 on failure; call
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
112 * SDL_GetError() for more information.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
113 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
114 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
115 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
116 extern SDL_DECLSPEC SDL_PropertiesID SDLCALL SDL_GetGlobalProperties(void);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
117
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
118 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
119 * Create a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
120 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
121 * All properties are automatically destroyed when SDL_Quit() is called.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
122 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
123 * \returns an ID for a new group of properties, or 0 on failure; call
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
124 * SDL_GetError() for more information.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
125 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
126 * \threadsafety It is safe to call this function from any thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
127 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
128 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
129 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
130 * \sa SDL_DestroyProperties
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
131 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
132 extern SDL_DECLSPEC SDL_PropertiesID SDLCALL SDL_CreateProperties(void);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
133
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
134 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
135 * Copy a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
136 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
137 * Copy all the properties from one group of properties to another, with the
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
138 * exception of properties requiring cleanup (set using
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
139 * SDL_SetPointerPropertyWithCleanup()), which will not be copied. Any
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
140 * property that already exists on `dst` will be overwritten.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
141 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
142 * \param src the properties to copy.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
143 * \param dst the destination properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
144 * \returns true on success or false on failure; call SDL_GetError() for more
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
145 * information.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
146 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
147 * \threadsafety It is safe to call this function from any thread. This
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
148 * function acquires simultaneous mutex locks on both the source
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
149 * and destination property sets.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
150 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
151 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
152 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
153 extern SDL_DECLSPEC bool SDLCALL SDL_CopyProperties(SDL_PropertiesID src, SDL_PropertiesID dst);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
154
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
155 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
156 * Lock a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
157 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
158 * Obtain a multi-threaded lock for these properties. Other threads will wait
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
159 * while trying to lock these properties until they are unlocked. Properties
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
160 * must be unlocked before they are destroyed.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
161 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
162 * The lock is automatically taken when setting individual properties, this
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
163 * function is only needed when you want to set several properties atomically
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
164 * or want to guarantee that properties being queried aren't freed in another
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
165 * thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
166 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
167 * \param props the properties to lock.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
168 * \returns true on success or false on failure; call SDL_GetError() for more
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
169 * information.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
170 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
171 * \threadsafety It is safe to call this function from any thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
172 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
173 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
174 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
175 * \sa SDL_UnlockProperties
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
176 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
177 extern SDL_DECLSPEC bool SDLCALL SDL_LockProperties(SDL_PropertiesID props);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
178
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
179 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
180 * Unlock a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
181 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
182 * \param props the properties to unlock.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
183 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
184 * \threadsafety It is safe to call this function from any thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
185 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
186 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
187 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
188 * \sa SDL_LockProperties
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
189 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
190 extern SDL_DECLSPEC void SDLCALL SDL_UnlockProperties(SDL_PropertiesID props);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
191
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
192 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
193 * A callback used to free resources when a property is deleted.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
194 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
195 * This should release any resources associated with `value` that are no
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
196 * longer needed.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
197 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
198 * This callback is set per-property. Different properties in the same group
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
199 * can have different cleanup callbacks.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
200 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
201 * This callback will be called _during_ SDL_SetPointerPropertyWithCleanup if
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
202 * the function fails for any reason.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
203 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
204 * \param userdata an app-defined pointer passed to the callback.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
205 * \param value the pointer assigned to the property to clean up.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
206 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
207 * \threadsafety This callback may fire without any locks held; if this is a
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
208 * concern, the app should provide its own locking.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
209 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
210 * \since This datatype is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
211 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
212 * \sa SDL_SetPointerPropertyWithCleanup
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
213 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
214 typedef void (SDLCALL *SDL_CleanupPropertyCallback)(void *userdata, void *value);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
215
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
216 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
217 * Set a pointer property in a group of properties with a cleanup function
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
218 * that is called when the property is deleted.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
219 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
220 * The cleanup function is also called if setting the property fails for any
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
221 * reason.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
222 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
223 * For simply setting basic data types, like numbers, bools, or strings, use
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
224 * SDL_SetNumberProperty, SDL_SetBooleanProperty, or SDL_SetStringProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
225 * instead, as those functions will handle cleanup on your behalf. This
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
226 * function is only for more complex, custom data.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
227 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
228 * \param props the properties to modify.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
229 * \param name the name of the property to modify.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
230 * \param value the new value of the property, or NULL to delete the property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
231 * \param cleanup the function to call when this property is deleted, or NULL
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
232 * if no cleanup is necessary.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
233 * \param userdata a pointer that is passed to the cleanup function.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
234 * \returns true on success or false on failure; call SDL_GetError() for more
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
235 * information.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
236 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
237 * \threadsafety It is safe to call this function from any thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
238 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
239 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
240 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
241 * \sa SDL_GetPointerProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
242 * \sa SDL_SetPointerProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
243 * \sa SDL_CleanupPropertyCallback
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
244 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
245 extern SDL_DECLSPEC bool SDLCALL SDL_SetPointerPropertyWithCleanup(SDL_PropertiesID props, const char *name, void *value, SDL_CleanupPropertyCallback cleanup, void *userdata);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
246
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
247 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
248 * Set a pointer property in a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
249 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
250 * \param props the properties to modify.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
251 * \param name the name of the property to modify.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
252 * \param value the new value of the property, or NULL to delete the property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
253 * \returns true on success or false on failure; call SDL_GetError() for more
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
254 * information.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
255 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
256 * \threadsafety It is safe to call this function from any thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
257 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
258 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
259 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
260 * \sa SDL_GetPointerProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
261 * \sa SDL_HasProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
262 * \sa SDL_SetBooleanProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
263 * \sa SDL_SetFloatProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
264 * \sa SDL_SetNumberProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
265 * \sa SDL_SetPointerPropertyWithCleanup
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
266 * \sa SDL_SetStringProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
267 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
268 extern SDL_DECLSPEC bool SDLCALL SDL_SetPointerProperty(SDL_PropertiesID props, const char *name, void *value);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
269
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
270 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
271 * Set a string property in a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
272 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
273 * This function makes a copy of the string; the caller does not have to
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
274 * preserve the data after this call completes.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
275 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
276 * \param props the properties to modify.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
277 * \param name the name of the property to modify.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
278 * \param value the new value of the property, or NULL to delete the property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
279 * \returns true on success or false on failure; call SDL_GetError() for more
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
280 * information.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
281 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
282 * \threadsafety It is safe to call this function from any thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
283 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
284 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
285 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
286 * \sa SDL_GetStringProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
287 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
288 extern SDL_DECLSPEC bool SDLCALL SDL_SetStringProperty(SDL_PropertiesID props, const char *name, const char *value);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
289
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
290 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
291 * Set an integer property in a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
292 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
293 * \param props the properties to modify.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
294 * \param name the name of the property to modify.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
295 * \param value the new value of the property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
296 * \returns true on success or false on failure; call SDL_GetError() for more
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
297 * information.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
298 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
299 * \threadsafety It is safe to call this function from any thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
300 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
301 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
302 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
303 * \sa SDL_GetNumberProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
304 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
305 extern SDL_DECLSPEC bool SDLCALL SDL_SetNumberProperty(SDL_PropertiesID props, const char *name, Sint64 value);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
306
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
307 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
308 * Set a floating point property in a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
309 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
310 * \param props the properties to modify.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
311 * \param name the name of the property to modify.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
312 * \param value the new value of the property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
313 * \returns true on success or false on failure; call SDL_GetError() for more
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
314 * information.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
315 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
316 * \threadsafety It is safe to call this function from any thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
317 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
318 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
319 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
320 * \sa SDL_GetFloatProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
321 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
322 extern SDL_DECLSPEC bool SDLCALL SDL_SetFloatProperty(SDL_PropertiesID props, const char *name, float value);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
323
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
324 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
325 * Set a boolean property in a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
326 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
327 * \param props the properties to modify.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
328 * \param name the name of the property to modify.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
329 * \param value the new value of the property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
330 * \returns true on success or false on failure; call SDL_GetError() for more
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
331 * information.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
332 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
333 * \threadsafety It is safe to call this function from any thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
334 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
335 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
336 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
337 * \sa SDL_GetBooleanProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
338 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
339 extern SDL_DECLSPEC bool SDLCALL SDL_SetBooleanProperty(SDL_PropertiesID props, const char *name, bool value);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
340
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
341 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
342 * Return whether a property exists in a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
343 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
344 * \param props the properties to query.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
345 * \param name the name of the property to query.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
346 * \returns true if the property exists, or false if it doesn't.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
347 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
348 * \threadsafety It is safe to call this function from any thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
349 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
350 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
351 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
352 * \sa SDL_GetPropertyType
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
353 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
354 extern SDL_DECLSPEC bool SDLCALL SDL_HasProperty(SDL_PropertiesID props, const char *name);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
355
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
356 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
357 * Get the type of a property in a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
358 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
359 * \param props the properties to query.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
360 * \param name the name of the property to query.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
361 * \returns the type of the property, or SDL_PROPERTY_TYPE_INVALID if it is
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
362 * not set.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
363 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
364 * \threadsafety It is safe to call this function from any thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
365 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
366 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
367 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
368 * \sa SDL_HasProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
369 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
370 extern SDL_DECLSPEC SDL_PropertyType SDLCALL SDL_GetPropertyType(SDL_PropertiesID props, const char *name);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
371
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
372 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
373 * Get a pointer property from a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
374 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
375 * By convention, the names of properties that SDL exposes on objects will
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
376 * start with "SDL.", and properties that SDL uses internally will start with
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
377 * "SDL.internal.". These should be considered read-only and should not be
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
378 * modified by applications.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
379 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
380 * \param props the properties to query.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
381 * \param name the name of the property to query.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
382 * \param default_value the default value of the property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
383 * \returns the value of the property, or `default_value` if it is not set or
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
384 * not a pointer property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
385 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
386 * \threadsafety It is safe to call this function from any thread, although
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
387 * the data returned is not protected and could potentially be
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
388 * freed if you call SDL_SetPointerProperty() or
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
389 * SDL_ClearProperty() on these properties from another thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
390 * If you need to avoid this, use SDL_LockProperties() and
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
391 * SDL_UnlockProperties().
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
392 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
393 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
394 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
395 * \sa SDL_GetBooleanProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
396 * \sa SDL_GetFloatProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
397 * \sa SDL_GetNumberProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
398 * \sa SDL_GetPropertyType
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
399 * \sa SDL_GetStringProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
400 * \sa SDL_HasProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
401 * \sa SDL_SetPointerProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
402 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
403 extern SDL_DECLSPEC void * SDLCALL SDL_GetPointerProperty(SDL_PropertiesID props, const char *name, void *default_value);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
404
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
405 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
406 * Get a string property from a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
407 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
408 * \param props the properties to query.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
409 * \param name the name of the property to query.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
410 * \param default_value the default value of the property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
411 * \returns the value of the property, or `default_value` if it is not set or
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
412 * not a string property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
413 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
414 * \threadsafety It is safe to call this function from any thread, although
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
415 * the data returned is not protected and could potentially be
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
416 * freed if you call SDL_SetStringProperty() or
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
417 * SDL_ClearProperty() on these properties from another thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
418 * If you need to avoid this, use SDL_LockProperties() and
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
419 * SDL_UnlockProperties().
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
420 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
421 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
422 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
423 * \sa SDL_GetPropertyType
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
424 * \sa SDL_HasProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
425 * \sa SDL_SetStringProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
426 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
427 extern SDL_DECLSPEC const char * SDLCALL SDL_GetStringProperty(SDL_PropertiesID props, const char *name, const char *default_value);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
428
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
429 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
430 * Get a number property from a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
431 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
432 * You can use SDL_GetPropertyType() to query whether the property exists and
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
433 * is a number property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
434 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
435 * \param props the properties to query.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
436 * \param name the name of the property to query.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
437 * \param default_value the default value of the property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
438 * \returns the value of the property, or `default_value` if it is not set or
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
439 * not a number property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
440 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
441 * \threadsafety It is safe to call this function from any thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
442 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
443 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
444 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
445 * \sa SDL_GetPropertyType
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
446 * \sa SDL_HasProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
447 * \sa SDL_SetNumberProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
448 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
449 extern SDL_DECLSPEC Sint64 SDLCALL SDL_GetNumberProperty(SDL_PropertiesID props, const char *name, Sint64 default_value);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
450
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
451 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
452 * Get a floating point property from a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
453 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
454 * You can use SDL_GetPropertyType() to query whether the property exists and
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
455 * is a floating point property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
456 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
457 * \param props the properties to query.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
458 * \param name the name of the property to query.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
459 * \param default_value the default value of the property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
460 * \returns the value of the property, or `default_value` if it is not set or
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
461 * not a float property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
462 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
463 * \threadsafety It is safe to call this function from any thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
464 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
465 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
466 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
467 * \sa SDL_GetPropertyType
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
468 * \sa SDL_HasProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
469 * \sa SDL_SetFloatProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
470 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
471 extern SDL_DECLSPEC float SDLCALL SDL_GetFloatProperty(SDL_PropertiesID props, const char *name, float default_value);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
472
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
473 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
474 * Get a boolean property from a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
475 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
476 * You can use SDL_GetPropertyType() to query whether the property exists and
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
477 * is a boolean property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
478 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
479 * \param props the properties to query.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
480 * \param name the name of the property to query.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
481 * \param default_value the default value of the property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
482 * \returns the value of the property, or `default_value` if it is not set or
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
483 * not a boolean property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
484 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
485 * \threadsafety It is safe to call this function from any thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
486 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
487 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
488 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
489 * \sa SDL_GetPropertyType
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
490 * \sa SDL_HasProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
491 * \sa SDL_SetBooleanProperty
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
492 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
493 extern SDL_DECLSPEC bool SDLCALL SDL_GetBooleanProperty(SDL_PropertiesID props, const char *name, bool default_value);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
494
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
495 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
496 * Clear a property from a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
497 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
498 * \param props the properties to modify.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
499 * \param name the name of the property to clear.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
500 * \returns true on success or false on failure; call SDL_GetError() for more
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
501 * information.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
502 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
503 * \threadsafety It is safe to call this function from any thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
504 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
505 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
506 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
507 extern SDL_DECLSPEC bool SDLCALL SDL_ClearProperty(SDL_PropertiesID props, const char *name);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
508
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
509 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
510 * A callback used to enumerate all the properties in a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
511 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
512 * This callback is called from SDL_EnumerateProperties(), and is called once
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
513 * per property in the set.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
514 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
515 * \param userdata an app-defined pointer passed to the callback.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
516 * \param props the SDL_PropertiesID that is being enumerated.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
517 * \param name the next property name in the enumeration.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
518 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
519 * \threadsafety SDL_EnumerateProperties holds a lock on `props` during this
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
520 * callback.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
521 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
522 * \since This datatype is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
523 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
524 * \sa SDL_EnumerateProperties
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
525 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
526 typedef void (SDLCALL *SDL_EnumeratePropertiesCallback)(void *userdata, SDL_PropertiesID props, const char *name);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
527
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
528 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
529 * Enumerate the properties contained in a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
530 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
531 * The callback function is called for each property in the group of
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
532 * properties. The properties are locked during enumeration.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
533 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
534 * \param props the properties to query.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
535 * \param callback the function to call for each property.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
536 * \param userdata a pointer that is passed to `callback`.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
537 * \returns true on success or false on failure; call SDL_GetError() for more
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
538 * information.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
539 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
540 * \threadsafety It is safe to call this function from any thread.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
541 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
542 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
543 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
544 extern SDL_DECLSPEC bool SDLCALL SDL_EnumerateProperties(SDL_PropertiesID props, SDL_EnumeratePropertiesCallback callback, void *userdata);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
545
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
546 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
547 * Destroy a group of properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
548 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
549 * All properties are deleted and their cleanup functions will be called, if
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
550 * any.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
551 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
552 * \param props the properties to destroy.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
553 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
554 * \threadsafety This function should not be called while these properties are
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
555 * locked or other threads might be setting or getting values
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
556 * from these properties.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
557 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
558 * \since This function is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
559 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
560 * \sa SDL_CreateProperties
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
561 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
562 extern SDL_DECLSPEC void SDLCALL SDL_DestroyProperties(SDL_PropertiesID props);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
563
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
564 /* Ends C function definitions when using C++ */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
565 #ifdef __cplusplus
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
566 }
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
567 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
568 #include <SDL3/SDL_close_code.h>
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
569
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
570 #endif /* SDL_properties_h_ */