1#[derive(Debug, Clone, Copy, PartialEq, Eq)]
4pub enum PropertyType {
5 Pointer,
6 String,
7 Number,
8 Float,
9 Boolean,
10}
11
12#[derive(Debug, Clone, Copy)]
13pub struct Hint {
14 pub name: &'static str,
15 pub value: &'static str,
16 pub doc: &'static str,
17}
18
19#[derive(Debug, Clone, Copy)]
20pub struct Property {
21 pub name: &'static str,
22 pub value: &'static str,
23 pub ty: PropertyType,
24 pub doc: &'static str,
25}
26
27pub const SDL_HINT_ALLOW_ALT_TAB_WHILE_GRABBED: Hint = Hint {
45 name: "SDL_HINT_ALLOW_ALT_TAB_WHILE_GRABBED",
46 value: "SDL_ALLOW_ALT_TAB_WHILE_GRABBED",
47 doc: "/**\n* Specify the behavior of Alt+Tab while the keyboard is grabbed.\n*\n* By default, SDL emulates Alt+Tab functionality while the keyboard is\n* grabbed and your window is full-screen. This prevents the user from getting\n* stuck in your application if you've enabled keyboard grab.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": SDL will not handle Alt+Tab. Your application is responsible for\n* handling Alt+Tab while the keyboard is grabbed.\n* - \"1\": SDL will minimize your window when Alt+Tab is pressed (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
48};
49pub const SDL_HINT_ANDROID_ALLOW_RECREATE_ACTIVITY: Hint = Hint {
68 name: "SDL_HINT_ANDROID_ALLOW_RECREATE_ACTIVITY",
69 value: "SDL_ANDROID_ALLOW_RECREATE_ACTIVITY",
70 doc: "/**\n* A variable to control whether the SDL activity is allowed to be re-created.\n*\n* If this hint is true, the activity can be recreated on demand by the OS,\n* and Java static data and C++ static data remain with their current values.\n* If this hint is false, then SDL will call exit() when you return from your\n* main function and the application will be terminated and then started fresh\n* each time.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": The application starts fresh at each launch. (default)\n* - \"1\": The application activity can be recreated by the OS.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
71};
72pub const SDL_HINT_ANDROID_BLOCK_ON_PAUSE: Hint = Hint {
86 name: "SDL_HINT_ANDROID_BLOCK_ON_PAUSE",
87 value: "SDL_ANDROID_BLOCK_ON_PAUSE",
88 doc: "/**\n* A variable to control whether the event loop will block itself when the app\n* is paused.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Non blocking.\n* - \"1\": Blocking. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
89};
90pub const SDL_HINT_ANDROID_LOW_LATENCY_AUDIO: Hint = Hint {
106 name: "SDL_HINT_ANDROID_LOW_LATENCY_AUDIO",
107 value: "SDL_ANDROID_LOW_LATENCY_AUDIO",
108 doc: "/**\n* A variable to control whether low latency audio should be enabled.\n*\n* Some devices have poor quality output when this is enabled, but this is\n* usually an improvement in audio latency.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Low latency audio is not enabled.\n* - \"1\": Low latency audio is enabled. (default)\n*\n* This hint should be set before SDL audio is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
109};
110pub const SDL_HINT_ANDROID_TRAP_BACK_BUTTON: Hint = Hint {
132 name: "SDL_HINT_ANDROID_TRAP_BACK_BUTTON",
133 value: "SDL_ANDROID_TRAP_BACK_BUTTON",
134 doc: "/**\n* A variable to control whether we trap the Android back button to handle it\n* manually.\n*\n* This is necessary for the right mouse button to work on some Android\n* devices, or to be able to trap the back button for use in your code\n* reliably. If this hint is true, the back button will show up as an\n* SDL_EVENT_KEY_DOWN / SDL_EVENT_KEY_UP pair with a keycode of\n* SDL_SCANCODE_AC_BACK.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Back button will be handled as usual for system. (default)\n* - \"1\": Back button will be trapped, allowing you to handle the key press\n* manually. (This will also let right mouse click work on systems where the\n* right mouse button functions as back.)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
135};
136pub const SDL_HINT_APP_ID: Hint = Hint {
151 name: "SDL_HINT_APP_ID",
152 value: "SDL_APP_ID",
153 doc: "/**\n* A variable setting the app ID string.\n*\n* This string is used by desktop compositors to identify and group windows\n* together, as well as match applications with associated desktop settings\n* and icons.\n*\n* This will override SDL_PROP_APP_METADATA_IDENTIFIER_STRING, if set by the\n* application.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
154};
155pub const SDL_HINT_APP_NAME: Hint = Hint {
172 name: "SDL_HINT_APP_NAME",
173 value: "SDL_APP_NAME",
174 doc: "/**\n* A variable setting the application name.\n*\n* This hint lets you specify the application name sent to the OS when\n* required. For example, this will often appear in volume control applets for\n* audio streams, and in lists of applications which are inhibiting the\n* screensaver. You should use a string that describes your program (\"My Game\n* 2: The Revenge\")\n*\n* This will override SDL_PROP_APP_METADATA_NAME_STRING, if set by the\n* application.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
175};
176pub const SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS: Hint = Hint {
198 name: "SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS",
199 value: "SDL_APPLE_TV_CONTROLLER_UI_EVENTS",
200 doc: "/**\n* A variable controlling whether controllers used with the Apple TV generate\n* UI events.\n*\n* When UI events are generated by controller input, the app will be\n* backgrounded when the Apple TV remote's menu button is pressed, and when\n* the pause or B buttons on gamepads are pressed.\n*\n* More information about properly making use of controllers for the Apple TV\n* can be found here:\n* https://developer.apple.com/tvos/human-interface-guidelines/remote-and-controllers/\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Controller input does not generate UI events. (default)\n* - \"1\": Controller input generates UI events.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
201};
202pub const SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION: Hint = Hint {
216 name: "SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION",
217 value: "SDL_APPLE_TV_REMOTE_ALLOW_ROTATION",
218 doc: "/**\n* A variable controlling whether the Apple TV remote's joystick axes will\n* automatically match the rotation of the remote.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Remote orientation does not affect joystick axes. (default)\n* - \"1\": Joystick axes are based on the orientation of the remote.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
219};
220pub const SDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE: Hint = Hint {
239 name: "SDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE",
240 value: "SDL_AUDIO_ALSA_DEFAULT_DEVICE",
241 doc: "/**\n* Specify the default ALSA audio device name.\n*\n* This variable is a specific audio device to open when the \"default\" audio\n* device is used.\n*\n* This hint will be ignored when opening the default playback device if\n* SDL_HINT_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE is set, or when opening the\n* default recording device if SDL_HINT_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE is\n* set.\n*\n* This hint should be set before an audio device is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*\n* \\sa SDL_HINT_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE\n* \\sa SDL_HINT_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE\n*/\n",
242};
243pub const SDL_HINT_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE: Hint = Hint {
260 name: "SDL_HINT_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE",
261 value: "SDL_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE",
262 doc: "/**\n* Specify the default ALSA audio playback device name.\n*\n* This variable is a specific audio device to open for playback, when the\n* \"default\" audio device is used.\n*\n* If this hint isn't set, SDL will check SDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE\n* before choosing a reasonable default.\n*\n* This hint should be set before an audio device is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*\n* \\sa SDL_HINT_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE\n* \\sa SDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE\n*/\n",
263};
264pub const SDL_HINT_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE: Hint = Hint {
281 name: "SDL_HINT_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE",
282 value: "SDL_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE",
283 doc: "/**\n* Specify the default ALSA audio recording device name.\n*\n* This variable is a specific audio device to open for recording, when the\n* \"default\" audio device is used.\n*\n* If this hint isn't set, SDL will check SDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE\n* before choosing a reasonable default.\n*\n* This hint should be set before an audio device is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*\n* \\sa SDL_HINT_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE\n* \\sa SDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE\n*/\n",
284};
285pub const SDL_HINT_AUDIO_CATEGORY: Hint = Hint {
302 name: "SDL_HINT_AUDIO_CATEGORY",
303 value: "SDL_AUDIO_CATEGORY",
304 doc: "/**\n* A variable controlling the audio category on iOS and macOS.\n*\n* The variable can be set to the following values:\n*\n* - \"ambient\": Use the AVAudioSessionCategoryAmbient audio category, will be\n* muted by the phone mute switch (default)\n* - \"playback\": Use the AVAudioSessionCategoryPlayback category.\n*\n* For more information, see Apple's documentation:\n* https://developer.apple.com/library/content/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/AudioSessionCategoriesandModes/AudioSessionCategoriesandModes.html\n*\n* This hint should be set before an audio device is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
305};
306pub const SDL_HINT_AUDIO_CHANNELS: Hint = Hint {
318 name: "SDL_HINT_AUDIO_CHANNELS",
319 value: "SDL_AUDIO_CHANNELS",
320 doc: "/**\n* A variable controlling the default audio channel count.\n*\n* If the application doesn't specify the audio channel count when opening the\n* device, this hint can be used to specify a default channel count that will\n* be used. This defaults to \"1\" for recording and \"2\" for playback devices.\n*\n* This hint should be set before an audio device is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
321};
322pub const SDL_HINT_AUDIO_DEVICE_APP_ICON_NAME: Hint = Hint {
344 name: "SDL_HINT_AUDIO_DEVICE_APP_ICON_NAME",
345 value: "SDL_AUDIO_DEVICE_APP_ICON_NAME",
346 doc: "/**\n* Specify an application icon name for an audio device.\n*\n* Some audio backends (such as Pulseaudio and Pipewire) allow you to set an\n* XDG icon name for your application. Among other things, this icon might\n* show up in a system control panel that lets the user adjust the volume on\n* specific audio streams instead of using one giant master volume slider.\n* Note that this is unrelated to the icon used by the windowing system, which\n* may be set with SDL_SetWindowIcon (or via desktop file on Wayland).\n*\n* Setting this to \"\" or leaving it unset will have SDL use a reasonable\n* default, \"applications-games\", which is likely to be installed. See\n* https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html\n* and\n* https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html\n* for the relevant XDG icon specs.\n*\n* This hint should be set before an audio device is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
347};
348pub const SDL_HINT_AUDIO_DEVICE_SAMPLE_FRAMES: Hint = Hint {
369 name: "SDL_HINT_AUDIO_DEVICE_SAMPLE_FRAMES",
370 value: "SDL_AUDIO_DEVICE_SAMPLE_FRAMES",
371 doc: "/**\n* A variable controlling device buffer size.\n*\n* This hint is an integer > 0, that represents the size of the device's\n* buffer in sample frames (stereo audio data in 16-bit format is 4 bytes per\n* sample frame, for example).\n*\n* SDL3 generally decides this value on behalf of the app, but if for some\n* reason the app needs to dictate this (because they want either lower\n* latency or higher throughput AND ARE WILLING TO DEAL WITH what that might\n* require of the app), they can specify it.\n*\n* SDL will try to accommodate this value, but there is no promise you'll get\n* the buffer size requested. Many platforms won't honor this request at all,\n* or might adjust it.\n*\n* This hint should be set before an audio device is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
372};
373pub const SDL_HINT_AUDIO_DEVICE_STREAM_NAME: Hint = Hint {
399 name: "SDL_HINT_AUDIO_DEVICE_STREAM_NAME",
400 value: "SDL_AUDIO_DEVICE_STREAM_NAME",
401 doc: "/**\n* Specify an audio stream name for an audio device.\n*\n* Some audio backends (such as PulseAudio) allow you to describe your audio\n* stream. Among other things, this description might show up in a system\n* control panel that lets the user adjust the volume on specific audio\n* streams instead of using one giant master volume slider.\n*\n* This hints lets you transmit that information to the OS. The contents of\n* this hint are used while opening an audio device. You should use a string\n* that describes your what your program is playing (\"audio stream\" is\n* probably sufficient in many cases, but this could be useful for something\n* like \"team chat\" if you have a headset playing VoIP audio separately).\n*\n* Setting this to \"\" or leaving it unset will have SDL use a reasonable\n* default: \"audio stream\" or something similar.\n*\n* Note that while this talks about audio streams, this is an OS-level\n* concept, so it applies to a physical audio device in this case, and not an\n* SDL_AudioStream, nor an SDL logical audio device.\n*\n* This hint should be set before an audio device is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
402};
403pub const SDL_HINT_AUDIO_DEVICE_STREAM_ROLE: Hint = Hint {
442 name: "SDL_HINT_AUDIO_DEVICE_STREAM_ROLE",
443 value: "SDL_AUDIO_DEVICE_STREAM_ROLE",
444 doc: "/**\n* Specify an application role for an audio device.\n*\n* Some audio backends (such as Pipewire) allow you to describe the role of\n* your audio stream. Among other things, this description might show up in a\n* system control panel or software for displaying and manipulating media\n* playback/recording graphs.\n*\n* This hints lets you transmit that information to the OS. The contents of\n* this hint are used while opening an audio device. You should use a string\n* that describes your what your program is playing (Game, Music, Movie,\n* etc...).\n*\n* Setting this to \"\" or leaving it unset will have SDL use a reasonable\n* default: \"Game\" or something similar.\n*\n* Note that while this talks about audio streams, this is an OS-level\n* concept, so it applies to a physical audio device in this case, and not an\n* SDL_AudioStream, nor an SDL logical audio device.\n*\n* For Windows WASAPI audio, the following roles are supported, and map to\n* `AUDIO_STREAM_CATEGORY`:\n*\n* - \"Other\" (default)\n* - \"Communications\" - Real-time communications, such as VOIP or chat\n* - \"Game\" - Game audio\n* - \"GameChat\" - Game chat audio, similar to \"Communications\" except that\n* this will not attenuate other audio streams\n* - \"Movie\" - Music or sound with dialog\n* - \"Media\" - Music or sound without dialog\n*\n* If your application applies its own echo cancellation, gain control, and\n* noise reduction it should also set SDL_HINT_AUDIO_DEVICE_RAW_STREAM.\n*\n* This hint should be set before an audio device is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
445};
446pub const SDL_HINT_AUDIO_DEVICE_RAW_STREAM: Hint = Hint {
465 name: "SDL_HINT_AUDIO_DEVICE_RAW_STREAM",
466 value: "SDL_AUDIO_DEVICE_RAW_STREAM",
467 doc: "/**\n* Specify whether this audio device should do audio processing.\n*\n* Some operating systems perform echo cancellation, gain control, and noise\n* reduction as needed. If your application already handles these, you can set\n* this hint to prevent the OS from doing additional audio processing.\n*\n* This corresponds to the WASAPI audio option `AUDCLNT_STREAMOPTIONS_RAW`.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": audio processing can be done by the OS. (default)\n* - \"1\": audio processing is done by the application.\n*\n* This hint should be set before an audio device is opened.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
468};
469pub const SDL_HINT_AUDIO_DISK_INPUT_FILE: Hint = Hint {
479 name: "SDL_HINT_AUDIO_DISK_INPUT_FILE",
480 value: "SDL_AUDIO_DISK_INPUT_FILE",
481 doc: "/**\n* Specify the input file when recording audio using the disk audio driver.\n*\n* This defaults to \"sdlaudio-in.raw\"\n*\n* This hint should be set before an audio device is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
482};
483pub const SDL_HINT_AUDIO_DISK_OUTPUT_FILE: Hint = Hint {
493 name: "SDL_HINT_AUDIO_DISK_OUTPUT_FILE",
494 value: "SDL_AUDIO_DISK_OUTPUT_FILE",
495 doc: "/**\n* Specify the output file when playing audio using the disk audio driver.\n*\n* This defaults to \"sdlaudio.raw\"\n*\n* This hint should be set before an audio device is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
496};
497pub const SDL_HINT_AUDIO_DISK_TIMESCALE: Hint = Hint {
509 name: "SDL_HINT_AUDIO_DISK_TIMESCALE",
510 value: "SDL_AUDIO_DISK_TIMESCALE",
511 doc: "/**\n* A variable controlling the audio rate when using the disk audio driver.\n*\n* The disk audio driver normally simulates real-time for the audio rate that\n* was specified, but you can use this variable to adjust this rate higher or\n* lower down to 0. The default value is \"1.0\".\n*\n* This hint should be set before an audio device is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
512};
513pub const SDL_HINT_AUDIO_DRIVER: Hint = Hint {
526 name: "SDL_HINT_AUDIO_DRIVER",
527 value: "SDL_AUDIO_DRIVER",
528 doc: "/**\n* A variable that specifies an audio backend to use.\n*\n* By default, SDL will try all available audio backends in a reasonable order\n* until it finds one that can work, but this hint allows the app or user to\n* force a specific driver, such as \"pipewire\" if, say, you are on PulseAudio\n* but want to try talking to the lower level instead.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
529};
530pub const SDL_HINT_AUDIO_DUMMY_TIMESCALE: Hint = Hint {
542 name: "SDL_HINT_AUDIO_DUMMY_TIMESCALE",
543 value: "SDL_AUDIO_DUMMY_TIMESCALE",
544 doc: "/**\n* A variable controlling the audio rate when using the dummy audio driver.\n*\n* The dummy audio driver normally simulates real-time for the audio rate that\n* was specified, but you can use this variable to adjust this rate higher or\n* lower down to 0. The default value is \"1.0\".\n*\n* This hint should be set before an audio device is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
545};
546pub const SDL_HINT_AUDIO_FORMAT: Hint = Hint {
572 name: "SDL_HINT_AUDIO_FORMAT",
573 value: "SDL_AUDIO_FORMAT",
574 doc: "/**\n* A variable controlling the default audio format.\n*\n* If the application doesn't specify the audio format when opening the\n* device, this hint can be used to specify a default format that will be\n* used.\n*\n* The variable can be set to the following values:\n*\n* - \"U8\": Unsigned 8-bit audio\n* - \"S8\": Signed 8-bit audio\n* - \"S16LE\": Signed 16-bit little-endian audio\n* - \"S16BE\": Signed 16-bit big-endian audio\n* - \"S16\": Signed 16-bit native-endian audio (default)\n* - \"S32LE\": Signed 32-bit little-endian audio\n* - \"S32BE\": Signed 32-bit big-endian audio\n* - \"S32\": Signed 32-bit native-endian audio\n* - \"F32LE\": Floating point little-endian audio\n* - \"F32BE\": Floating point big-endian audio\n* - \"F32\": Floating point native-endian audio\n*\n* This hint should be set before an audio device is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
575};
576pub const SDL_HINT_AUDIO_FREQUENCY: Hint = Hint {
588 name: "SDL_HINT_AUDIO_FREQUENCY",
589 value: "SDL_AUDIO_FREQUENCY",
590 doc: "/**\n* A variable controlling the default audio frequency.\n*\n* If the application doesn't specify the audio frequency when opening the\n* device, this hint can be used to specify a default frequency that will be\n* used. This defaults to \"44100\".\n*\n* This hint should be set before an audio device is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
591};
592pub const SDL_HINT_AUDIO_INCLUDE_MONITORS: Hint = Hint {
614 name: "SDL_HINT_AUDIO_INCLUDE_MONITORS",
615 value: "SDL_AUDIO_INCLUDE_MONITORS",
616 doc: "/**\n* A variable that causes SDL to not ignore audio \"monitors\".\n*\n* This is currently only used by the PulseAudio driver.\n*\n* By default, SDL ignores audio devices that aren't associated with physical\n* hardware. Changing this hint to \"1\" will expose anything SDL sees that\n* appears to be an audio source or sink. This will add \"devices\" to the list\n* that the user probably doesn't want or need, but it can be useful in\n* scenarios where you want to hook up SDL to some sort of virtual device,\n* etc.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Audio monitor devices will be ignored. (default)\n* - \"1\": Audio monitor devices will show up in the device list.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
617};
618pub const SDL_HINT_AUTO_UPDATE_JOYSTICKS: Hint = Hint {
632 name: "SDL_HINT_AUTO_UPDATE_JOYSTICKS",
633 value: "SDL_AUTO_UPDATE_JOYSTICKS",
634 doc: "/**\n* A variable controlling whether SDL updates joystick state when getting\n* input events.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": You'll call SDL_UpdateJoysticks() manually.\n* - \"1\": SDL will automatically call SDL_UpdateJoysticks(). (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
635};
636pub const SDL_HINT_AUTO_UPDATE_SENSORS: Hint = Hint {
650 name: "SDL_HINT_AUTO_UPDATE_SENSORS",
651 value: "SDL_AUTO_UPDATE_SENSORS",
652 doc: "/**\n* A variable controlling whether SDL updates sensor state when getting input\n* events.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": You'll call SDL_UpdateSensors() manually.\n* - \"1\": SDL will automatically call SDL_UpdateSensors(). (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
653};
654pub const SDL_HINT_BMP_SAVE_LEGACY_FORMAT: Hint = Hint {
676 name: "SDL_HINT_BMP_SAVE_LEGACY_FORMAT",
677 value: "SDL_BMP_SAVE_LEGACY_FORMAT",
678 doc: "/**\n* Prevent SDL from using version 4 of the bitmap header when saving BMPs.\n*\n* The bitmap header version 4 is required for proper alpha channel support\n* and SDL will use it when required. Should this not be desired, this hint\n* can force the use of the 40 byte header version which is supported\n* everywhere.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Surfaces with a colorkey or an alpha channel are saved to a 32-bit\n* BMP file with an alpha mask. SDL will use the bitmap header version 4 and\n* set the alpha mask accordingly. (default)\n* - \"1\": Surfaces with a colorkey or an alpha channel are saved to a 32-bit\n* BMP file without an alpha mask. The alpha channel data will be in the\n* file, but applications are going to ignore it.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
679};
680pub const SDL_HINT_CAMERA_DRIVER: Hint = Hint {
695 name: "SDL_HINT_CAMERA_DRIVER",
696 value: "SDL_CAMERA_DRIVER",
697 doc: "/**\n* A variable that decides what camera backend to use.\n*\n* By default, SDL will try all available camera backends in a reasonable\n* order until it finds one that can work, but this hint allows the app or\n* user to force a specific target, such as \"directshow\" if, say, you are on\n* Windows Media Foundations but want to try DirectShow instead.\n*\n* The default value is unset, in which case SDL will try to figure out the\n* best camera backend on your behalf. This hint needs to be set before\n* SDL_Init() is called to be useful.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
698};
699pub const SDL_HINT_CPU_FEATURE_MASK: Hint = Hint {
731 name: "SDL_HINT_CPU_FEATURE_MASK",
732 value: "SDL_CPU_FEATURE_MASK",
733 doc: "/**\n* A variable that limits what CPU features are available.\n*\n* By default, SDL marks all features the current CPU supports as available.\n* This hint allows the enabled features to be limited to a subset.\n*\n* When the hint is unset, or empty, SDL will enable all detected CPU\n* features.\n*\n* The variable can be set to a comma separated list containing the following\n* items:\n*\n* - \"all\"\n* - \"altivec\"\n* - \"sse\"\n* - \"sse2\"\n* - \"sse3\"\n* - \"sse41\"\n* - \"sse42\"\n* - \"avx\"\n* - \"avx2\"\n* - \"avx512f\"\n* - \"arm-simd\"\n* - \"neon\"\n* - \"lsx\"\n* - \"lasx\"\n*\n* The items can be prefixed by '+'/'-' to add/remove features.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
734};
735pub const SDL_HINT_JOYSTICK_DIRECTINPUT: Hint = Hint {
748 name: "SDL_HINT_JOYSTICK_DIRECTINPUT",
749 value: "SDL_JOYSTICK_DIRECTINPUT",
750 doc: "/**\n* A variable controlling whether DirectInput should be used for controllers.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Disable DirectInput detection.\n* - \"1\": Enable DirectInput detection. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
751};
752pub const SDL_HINT_FILE_DIALOG_DRIVER: Hint = Hint {
780 name: "SDL_HINT_FILE_DIALOG_DRIVER",
781 value: "SDL_FILE_DIALOG_DRIVER",
782 doc: "/**\n* A variable that specifies a dialog backend to use.\n*\n* By default, SDL will try all available dialog backends in a reasonable\n* order until it finds one that can work, but this hint allows the app or\n* user to force a specific target.\n*\n* If the specified target does not exist or is not available, the\n* dialog-related function calls will fail.\n*\n* This hint currently only applies to platforms using the generic \"Unix\"\n* dialog implementation, but may be extended to more platforms in the future.\n* Note that some Unix and Unix-like platforms have their own implementation,\n* such as macOS and Haiku.\n*\n* The variable can be set to the following values:\n*\n* - NULL: Select automatically (default, all platforms)\n* - \"portal\": Use XDG Portals through DBus (Unix only)\n* - \"zenity\": Use the Zenity program (Unix only)\n*\n* More options may be added in the future.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
783};
784pub const SDL_HINT_DISPLAY_USABLE_BOUNDS: Hint = Hint {
801 name: "SDL_HINT_DISPLAY_USABLE_BOUNDS",
802 value: "SDL_DISPLAY_USABLE_BOUNDS",
803 doc: "/**\n* Override for SDL_GetDisplayUsableBounds().\n*\n* If set, this hint will override the expected results for\n* SDL_GetDisplayUsableBounds() for display index 0. Generally you don't want\n* to do this, but this allows an embedded system to request that some of the\n* screen be reserved for other uses when paired with a well-behaved\n* application.\n*\n* The contents of this hint must be 4 comma-separated integers, the first is\n* the bounds x, then y, width and height, in that order.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
804};
805pub const SDL_HINT_INVALID_PARAM_CHECKS: Hint = Hint {
819 name: "SDL_HINT_INVALID_PARAM_CHECKS",
820 value: "SDL_INVALID_PARAM_CHECKS",
821 doc: "/**\n* Set the level of checking for invalid parameters passed to SDL functions.\n*\n* The variable can be set to the following values:\n*\n* - \"1\": Enable fast parameter error checking, e.g. quick NULL checks, etc.\n* - \"2\": Enable full parameter error checking, e.g. validating objects are\n* the correct type, etc. (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
822};
823pub const SDL_HINT_EMSCRIPTEN_ASYNCIFY: Hint = Hint {
843 name: "SDL_HINT_EMSCRIPTEN_ASYNCIFY",
844 value: "SDL_EMSCRIPTEN_ASYNCIFY",
845 doc: "/**\n* Disable giving back control to the browser automatically when running with\n* asyncify.\n*\n* With -s ASYNCIFY, SDL calls emscripten_sleep during operations such as\n* refreshing the screen or polling events.\n*\n* This hint only applies to the emscripten platform.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Disable emscripten_sleep calls (if you give back browser control\n* manually or use asyncify for other purposes).\n* - \"1\": Enable emscripten_sleep calls. (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
846};
847pub const SDL_HINT_EMSCRIPTEN_CANVAS_SELECTOR: Hint = Hint {
857 name: "SDL_HINT_EMSCRIPTEN_CANVAS_SELECTOR",
858 value: "SDL_EMSCRIPTEN_CANVAS_SELECTOR",
859 doc: "/**\n* Specify the CSS selector used for the \"default\" window/canvas.\n*\n* This hint only applies to the emscripten platform.\n*\n* This hint should be set before creating a window.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
860};
861pub const SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT: Hint = Hint {
881 name: "SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT",
882 value: "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT",
883 doc: "/**\n* Override the binding element for keyboard inputs for Emscripten builds.\n*\n* This hint only applies to the emscripten platform.\n*\n* The variable can be one of:\n*\n* - \"#window\": the javascript window object\n* - \"#document\": the javascript document object\n* - \"#screen\": the javascript window.screen object\n* - \"#canvas\": the WebGL canvas element\n* - \"#none\": Don't bind anything at all\n* - any other string without a leading # sign applies to the element on the\n* page with that ID.\n*\n* This hint should be set before creating a window.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
884};
885pub const SDL_HINT_ENABLE_SCREEN_KEYBOARD: Hint = Hint {
901 name: "SDL_HINT_ENABLE_SCREEN_KEYBOARD",
902 value: "SDL_ENABLE_SCREEN_KEYBOARD",
903 doc: "/**\n* A variable that controls whether the on-screen keyboard should be shown\n* when text input is active.\n*\n* The variable can be set to the following values:\n*\n* - \"auto\": The on-screen keyboard will be shown if there is no physical\n* keyboard attached. (default)\n* - \"0\": Do not show the on-screen keyboard.\n* - \"1\": Show the on-screen keyboard, if available.\n*\n* This hint must be set before SDL_StartTextInput() is called\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
904};
905pub const SDL_HINT_EVDEV_DEVICES: Hint = Hint {
921 name: "SDL_HINT_EVDEV_DEVICES",
922 value: "SDL_EVDEV_DEVICES",
923 doc: "/**\n* A variable containing a list of evdev devices to use if udev is not\n* available.\n*\n* The list of devices is in the form:\n*\n* deviceclass:path[,deviceclass:path[,...]]\n*\n* where device class is an integer representing the SDL_UDEV_deviceclass and\n* path is the full path to the event device.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
924};
925pub const SDL_HINT_EVENT_LOGGING: Hint = Hint {
948 name: "SDL_HINT_EVENT_LOGGING",
949 value: "SDL_EVENT_LOGGING",
950 doc: "/**\n* A variable controlling verbosity of the logging of SDL events pushed onto\n* the internal queue.\n*\n* The variable can be set to the following values, from least to most\n* verbose:\n*\n* - \"0\": Don't log any events. (default)\n* - \"1\": Log most events (other than the really spammy ones).\n* - \"2\": Include mouse and finger motion events.\n*\n* This is generally meant to be used to debug SDL itself, but can be useful\n* for application developers that need better visibility into what is going\n* on in the event queue. Logged events are sent through SDL_Log(), which\n* means by default they appear on stdout on most platforms or maybe\n* OutputDebugString() on Windows, and can be funneled by the app with\n* SDL_SetLogOutputFunction(), etc.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
951};
952pub const SDL_HINT_FORCE_RAISEWINDOW: Hint = Hint {
971 name: "SDL_HINT_FORCE_RAISEWINDOW",
972 value: "SDL_FORCE_RAISEWINDOW",
973 doc: "/**\n* A variable controlling whether raising the window should be done more\n* forcefully.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Honor the OS policy for raising windows. (default)\n* - \"1\": Force the window to be raised, overriding any OS policy.\n*\n* At present, this is only an issue under MS Windows, which makes it nearly\n* impossible to programmatically move a window to the foreground, for\n* \"security\" reasons. See http://stackoverflow.com/a/34414846 for a\n* discussion.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
974};
975pub const SDL_HINT_FRAMEBUFFER_ACCELERATION: Hint = Hint {
995 name: "SDL_HINT_FRAMEBUFFER_ACCELERATION",
996 value: "SDL_FRAMEBUFFER_ACCELERATION",
997 doc: "/**\n* A variable controlling how 3D acceleration is used to accelerate the SDL\n* screen surface.\n*\n* SDL can try to accelerate the SDL screen surface by using streaming\n* textures with a 3D rendering engine. This variable controls whether and how\n* this is done.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Disable 3D acceleration\n* - \"1\": Enable 3D acceleration, using the default renderer. (default)\n* - \"X\": Enable 3D acceleration, using X where X is one of the valid\n* rendering drivers. (e.g. \"direct3d\", \"opengl\", etc.)\n*\n* This hint should be set before calling SDL_GetWindowSurface()\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
998};
999pub const SDL_HINT_GAMECONTROLLERCONFIG: Hint = Hint {
1013 name: "SDL_HINT_GAMECONTROLLERCONFIG",
1014 value: "SDL_GAMECONTROLLERCONFIG",
1015 doc: "/**\n* A variable that lets you manually hint extra gamecontroller db entries.\n*\n* The variable should be newline delimited rows of gamecontroller config\n* data, see SDL_gamepad.h\n*\n* You can update mappings after SDL is initialized with\n* SDL_GetGamepadMappingForGUID() and SDL_AddGamepadMapping()\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1016};
1017pub const SDL_HINT_GAMECONTROLLERCONFIG_FILE: Hint = Hint {
1032 name: "SDL_HINT_GAMECONTROLLERCONFIG_FILE",
1033 value: "SDL_GAMECONTROLLERCONFIG_FILE",
1034 doc: "/**\n* A variable that lets you provide a file with extra gamecontroller db\n* entries.\n*\n* The file should contain lines of gamecontroller config data, see\n* SDL_gamepad.h\n*\n* You can update mappings after SDL is initialized with\n* SDL_GetGamepadMappingForGUID() and SDL_AddGamepadMapping()\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1035};
1036pub const SDL_HINT_GAMECONTROLLERTYPE: Hint = Hint {
1059 name: "SDL_HINT_GAMECONTROLLERTYPE",
1060 value: "SDL_GAMECONTROLLERTYPE",
1061 doc: "/**\n* A variable that overrides the automatic controller type detection.\n*\n* The variable should be comma separated entries, in the form: VID/PID=type\n*\n* The VID and PID should be hexadecimal with exactly 4 digits, e.g. 0x00fd\n*\n* This hint affects what low level protocol is used with the HIDAPI driver.\n*\n* The variable can be set to the following values:\n*\n* - \"Xbox360\"\n* - \"XboxOne\"\n* - \"PS3\"\n* - \"PS4\"\n* - \"PS5\"\n* - \"SwitchPro\"\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1062};
1063pub const SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES: Hint = Hint {
1080 name: "SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES",
1081 value: "SDL_GAMECONTROLLER_IGNORE_DEVICES",
1082 doc: "/**\n* A variable containing a list of devices to skip when scanning for game\n* controllers.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* 0xAAAA/0xBBBB,0xCCCC/0xDDDD\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1083};
1084pub const SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT: Hint = Hint {
1101 name: "SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT",
1102 value: "SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT",
1103 doc: "/**\n* If set, all devices will be skipped when scanning for game controllers\n* except for the ones listed in this variable.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* 0xAAAA/0xBBBB,0xCCCC/0xDDDD\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1104};
1105pub const SDL_HINT_GAMECONTROLLER_SENSOR_FUSION: Hint = Hint {
1127 name: "SDL_HINT_GAMECONTROLLER_SENSOR_FUSION",
1128 value: "SDL_GAMECONTROLLER_SENSOR_FUSION",
1129 doc: "/**\n* A variable that controls whether the device's built-in accelerometer and\n* gyro should be used as sensors for gamepads.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Sensor fusion is disabled\n* - \"1\": Sensor fusion is enabled for all controllers that lack sensors\n*\n* Or the variable can be a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* 0xAAAA/0xBBBB,0xCCCC/0xDDDD\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint should be set before a gamepad is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1130};
1131pub const SDL_HINT_GDK_TEXTINPUT_DEFAULT_TEXT: Hint = Hint {
1142 name: "SDL_HINT_GDK_TEXTINPUT_DEFAULT_TEXT",
1143 value: "SDL_GDK_TEXTINPUT_DEFAULT_TEXT",
1144 doc: "/**\n* This variable sets the default text of the TextInput window on GDK\n* platforms.\n*\n* This hint is available only if SDL_GDK_TEXTINPUT defined.\n*\n* This hint should be set before calling SDL_StartTextInput()\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1145};
1146pub const SDL_HINT_GDK_TEXTINPUT_DESCRIPTION: Hint = Hint {
1157 name: "SDL_HINT_GDK_TEXTINPUT_DESCRIPTION",
1158 value: "SDL_GDK_TEXTINPUT_DESCRIPTION",
1159 doc: "/**\n* This variable sets the description of the TextInput window on GDK\n* platforms.\n*\n* This hint is available only if SDL_GDK_TEXTINPUT defined.\n*\n* This hint should be set before calling SDL_StartTextInput()\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1160};
1161pub const SDL_HINT_GDK_TEXTINPUT_MAX_LENGTH: Hint = Hint {
1175 name: "SDL_HINT_GDK_TEXTINPUT_MAX_LENGTH",
1176 value: "SDL_GDK_TEXTINPUT_MAX_LENGTH",
1177 doc: "/**\n* This variable sets the maximum input length of the TextInput window on GDK\n* platforms.\n*\n* The value must be a stringified integer, for example \"10\" to allow for up\n* to 10 characters of text input.\n*\n* This hint is available only if SDL_GDK_TEXTINPUT defined.\n*\n* This hint should be set before calling SDL_StartTextInput()\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1178};
1179pub const SDL_HINT_GDK_TEXTINPUT_SCOPE: Hint = Hint {
1194 name: "SDL_HINT_GDK_TEXTINPUT_SCOPE",
1195 value: "SDL_GDK_TEXTINPUT_SCOPE",
1196 doc: "/**\n* This variable sets the input scope of the TextInput window on GDK\n* platforms.\n*\n* Set this hint to change the XGameUiTextEntryInputScope value that will be\n* passed to the window creation function. The value must be a stringified\n* integer, for example \"0\" for XGameUiTextEntryInputScope::Default.\n*\n* This hint is available only if SDL_GDK_TEXTINPUT defined.\n*\n* This hint should be set before calling SDL_StartTextInput()\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1197};
1198pub const SDL_HINT_GDK_TEXTINPUT_TITLE: Hint = Hint {
1208 name: "SDL_HINT_GDK_TEXTINPUT_TITLE",
1209 value: "SDL_GDK_TEXTINPUT_TITLE",
1210 doc: "/**\n* This variable sets the title of the TextInput window on GDK platforms.\n*\n* This hint is available only if SDL_GDK_TEXTINPUT defined.\n*\n* This hint should be set before calling SDL_StartTextInput()\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1211};
1212pub const SDL_HINT_HIDAPI_LIBUSB: Hint = Hint {
1229 name: "SDL_HINT_HIDAPI_LIBUSB",
1230 value: "SDL_HIDAPI_LIBUSB",
1231 doc: "/**\n* A variable to control whether HIDAPI uses libusb for device access.\n*\n* By default libusb will only be used for a few devices that require direct\n* USB access, and this can be controlled with\n* SDL_HINT_HIDAPI_LIBUSB_WHITELIST.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI will not use libusb for device access.\n* - \"1\": HIDAPI will use libusb for device access if available. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1232};
1233pub const SDL_HINT_HIDAPI_LIBUSB_GAMECUBE: Hint = Hint {
1246 name: "SDL_HINT_HIDAPI_LIBUSB_GAMECUBE",
1247 value: "SDL_HIDAPI_LIBUSB_GAMECUBE",
1248 doc: "/**\n* A variable to control whether HIDAPI uses libusb for GameCube adapters.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI will not use libusb for GameCube adapters.\n* - \"1\": HIDAPI will use libusb for GameCube adapters if available. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
1249};
1250pub const SDL_HINT_HIDAPI_LIBUSB_WHITELIST: Hint = Hint {
1267 name: "SDL_HINT_HIDAPI_LIBUSB_WHITELIST",
1268 value: "SDL_HIDAPI_LIBUSB_WHITELIST",
1269 doc: "/**\n* A variable to control whether HIDAPI uses libusb only for whitelisted\n* devices.\n*\n* By default libusb will only be used for a few devices that require direct\n* USB access.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI will use libusb for all device access.\n* - \"1\": HIDAPI will use libusb only for whitelisted devices. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1270};
1271pub const SDL_HINT_HIDAPI_UDEV: Hint = Hint {
1284 name: "SDL_HINT_HIDAPI_UDEV",
1285 value: "SDL_HIDAPI_UDEV",
1286 doc: "/**\n* A variable to control whether HIDAPI uses udev for device detection.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI will poll for device changes.\n* - \"1\": HIDAPI will use udev for device detection. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1287};
1288pub const SDL_HINT_GPU_DRIVER: Hint = Hint {
1301 name: "SDL_HINT_GPU_DRIVER",
1302 value: "SDL_GPU_DRIVER",
1303 doc: "/**\n* A variable that specifies a GPU backend to use.\n*\n* By default, SDL will try all available GPU backends in a reasonable order\n* until it finds one that can work, but this hint allows the app or user to\n* force a specific target, such as \"direct3d12\" if, say, your hardware\n* supports Vulkan but you want to try using D3D12 instead.\n*\n* This hint should be set before any GPU functions are called.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1304};
1305pub const SDL_HINT_OPENXR_LIBRARY: Hint = Hint {
1319 name: "SDL_HINT_OPENXR_LIBRARY",
1320 value: "SDL_OPENXR_LIBRARY",
1321 doc: "/**\n* A variable that specifies the library name to use when loading the OpenXR\n* loader.\n*\n* By default, SDL will try the system default name, but on some platforms\n* like Windows, debug builds of the OpenXR loader have a different name, and\n* are not always directly compatible with release applications. Setting this\n* hint allows you to compensate for this difference in your app when\n* applicable.\n*\n* This hint should be set before the OpenXR loader is loaded. For example,\n* creating an OpenXR GPU device will load the OpenXR loader.\n*/\n",
1322};
1323pub const SDL_HINT_HIDAPI_ENUMERATE_ONLY_CONTROLLERS: Hint = Hint {
1341 name: "SDL_HINT_HIDAPI_ENUMERATE_ONLY_CONTROLLERS",
1342 value: "SDL_HIDAPI_ENUMERATE_ONLY_CONTROLLERS",
1343 doc: "/**\n* A variable to control whether SDL_hid_enumerate() enumerates all HID\n* devices or only controllers.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": SDL_hid_enumerate() will enumerate all HID devices.\n* - \"1\": SDL_hid_enumerate() will only enumerate controllers. (default)\n*\n* By default SDL will only enumerate controllers, to reduce risk of hanging\n* or crashing on devices with bad drivers and avoiding macOS keyboard capture\n* permission prompts.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1344};
1345pub const SDL_HINT_HIDAPI_IGNORE_DEVICES: Hint = Hint {
1361 name: "SDL_HINT_HIDAPI_IGNORE_DEVICES",
1362 value: "SDL_HIDAPI_IGNORE_DEVICES",
1363 doc: "/**\n* A variable containing a list of devices to ignore in SDL_hid_enumerate().\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* `0xAAAA/0xBBBB,0xCCCC/0xDDDD`\n*\n* For example, to ignore the Shanwan DS3 controller and any Valve controller,\n* you might use the string \"0x2563/0x0523,0x28de/0x0000\"\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1364};
1365pub const SDL_HINT_IME_IMPLEMENTED_UI: Hint = Hint {
1387 name: "SDL_HINT_IME_IMPLEMENTED_UI",
1388 value: "SDL_IME_IMPLEMENTED_UI",
1389 doc: "/**\n* A variable describing what IME UI elements the application can display.\n*\n* By default IME UI is handled using native components by the OS where\n* possible, however this can interfere with or not be visible when exclusive\n* fullscreen mode is used.\n*\n* The variable can be set to a comma separated list containing the following\n* items:\n*\n* - \"none\" or \"0\": The application can't render any IME elements, and native\n* UI should be used. (default)\n* - \"composition\": The application handles SDL_EVENT_TEXT_EDITING events and\n* can render the composition text.\n* - \"candidates\": The application handles SDL_EVENT_TEXT_EDITING_CANDIDATES\n* and can render the candidate list.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1390};
1391pub const SDL_HINT_IOS_HIDE_HOME_INDICATOR: Hint = Hint {
1409 name: "SDL_HINT_IOS_HIDE_HOME_INDICATOR",
1410 value: "SDL_IOS_HIDE_HOME_INDICATOR",
1411 doc: "/**\n* A variable controlling whether the home indicator bar on iPhone X and later\n* should be hidden.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": The indicator bar is not hidden. (default for windowed applications)\n* - \"1\": The indicator bar is hidden and is shown when the screen is touched\n* (useful for movie playback applications).\n* - \"2\": The indicator bar is dim and the first swipe makes it visible and\n* the second swipe performs the \"home\" action. (default for fullscreen\n* applications)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1412};
1413pub const SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS: Hint = Hint {
1429 name: "SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS",
1430 value: "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS",
1431 doc: "/**\n* A variable that lets you enable joystick (and gamecontroller) events even\n* when your app is in the background.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Disable joystick & gamecontroller input events when the application\n* is in the background. (default)\n* - \"1\": Enable joystick & gamecontroller input events when the application\n* is in the background.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1432};
1433pub const SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES: Hint = Hint {
1449 name: "SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES",
1450 value: "SDL_JOYSTICK_ARCADESTICK_DEVICES",
1451 doc: "/**\n* A variable containing a list of arcade stick style controllers.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* `0xAAAA/0xBBBB,0xCCCC/0xDDDD`\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1452};
1453pub const SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED: Hint = Hint {
1473 name: "SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED",
1474 value: "SDL_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED",
1475 doc: "/**\n* A variable containing a list of devices that are not arcade stick style\n* controllers.\n*\n* This will override SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES and the built in\n* device list.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* `0xAAAA/0xBBBB,0xCCCC/0xDDDD`\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1476};
1477pub const SDL_HINT_JOYSTICK_BLACKLIST_DEVICES: Hint = Hint {
1494 name: "SDL_HINT_JOYSTICK_BLACKLIST_DEVICES",
1495 value: "SDL_JOYSTICK_BLACKLIST_DEVICES",
1496 doc: "/**\n* A variable containing a list of devices that should not be considered\n* joysticks.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* `0xAAAA/0xBBBB,0xCCCC/0xDDDD`\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1497};
1498pub const SDL_HINT_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED: Hint = Hint {
1518 name: "SDL_HINT_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED",
1519 value: "SDL_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED",
1520 doc: "/**\n* A variable containing a list of devices that should be considered\n* joysticks.\n*\n* This will override SDL_HINT_JOYSTICK_BLACKLIST_DEVICES and the built in\n* device list.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* `0xAAAA/0xBBBB,0xCCCC/0xDDDD`\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1521};
1522pub const SDL_HINT_JOYSTICK_DEVICE: Hint = Hint {
1531 name: "SDL_HINT_JOYSTICK_DEVICE",
1532 value: "SDL_JOYSTICK_DEVICE",
1533 doc: "/**\n* A variable containing a comma separated list of devices to open as\n* joysticks.\n*\n* This variable is currently only used by the Linux joystick driver.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1534};
1535pub const SDL_HINT_JOYSTICK_DRUM_DEVICES: Hint = Hint {
1551 name: "SDL_HINT_JOYSTICK_DRUM_DEVICES",
1552 value: "SDL_JOYSTICK_DRUM_DEVICES",
1553 doc: "/**\n* A variable containing a list of drum style controllers.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* `0xAAAA/0xBBBB,0xCCCC/0xDDDD`\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.4.4.\n*/\n",
1554};
1555pub const SDL_HINT_JOYSTICK_ENHANCED_REPORTS: Hint = Hint {
1579 name: "SDL_HINT_JOYSTICK_ENHANCED_REPORTS",
1580 value: "SDL_JOYSTICK_ENHANCED_REPORTS",
1581 doc: "/**\n* A variable controlling whether enhanced reports should be used for\n* controllers when using the HIDAPI driver.\n*\n* Enhanced reports allow rumble and effects on Bluetooth PlayStation\n* controllers and gyro on Nintendo Switch controllers, but break Windows\n* DirectInput for other applications that don't use SDL.\n*\n* Once enhanced reports are enabled, they can't be disabled on PlayStation\n* controllers without power cycling the controller.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": enhanced reports are not enabled.\n* - \"1\": enhanced reports are enabled. (default)\n* - \"auto\": enhanced features are advertised to the application, but SDL\n* doesn't change the controller report mode unless the application uses\n* them.\n*\n* This hint can be enabled anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1582};
1583pub const SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES: Hint = Hint {
1599 name: "SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES",
1600 value: "SDL_JOYSTICK_FLIGHTSTICK_DEVICES",
1601 doc: "/**\n* A variable containing a list of flightstick style controllers.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* `0xAAAA/0xBBBB,0xCCCC/0xDDDD`\n*\n* The variable can also take the form of @file, in which case the named file\n* will be loaded and interpreted as the value of the variable.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1602};
1603pub const SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED: Hint = Hint {
1623 name: "SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED",
1624 value: "SDL_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED",
1625 doc: "/**\n* A variable containing a list of devices that are not flightstick style\n* controllers.\n*\n* This will override SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES and the built in\n* device list.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* `0xAAAA/0xBBBB,0xCCCC/0xDDDD`\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1626};
1627pub const SDL_HINT_JOYSTICK_GAMEINPUT: Hint = Hint {
1643 name: "SDL_HINT_JOYSTICK_GAMEINPUT",
1644 value: "SDL_JOYSTICK_GAMEINPUT",
1645 doc: "/**\n* A variable controlling whether GameInput should be used for controller\n* handling on Windows.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": GameInput is not used.\n* - \"1\": GameInput is used.\n*\n* The default is \"1\" on GDK platforms, and \"0\" otherwise.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1646};
1647pub const SDL_HINT_JOYSTICK_GAMECUBE_DEVICES: Hint = Hint {
1664 name: "SDL_HINT_JOYSTICK_GAMECUBE_DEVICES",
1665 value: "SDL_JOYSTICK_GAMECUBE_DEVICES",
1666 doc: "/**\n* A variable containing a list of devices known to have a GameCube form\n* factor.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* `0xAAAA/0xBBBB,0xCCCC/0xDDDD`\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1667};
1668pub const SDL_HINT_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED: Hint = Hint {
1688 name: "SDL_HINT_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED",
1689 value: "SDL_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED",
1690 doc: "/**\n* A variable containing a list of devices known not to have a GameCube form\n* factor.\n*\n* This will override SDL_HINT_JOYSTICK_GAMECUBE_DEVICES and the built in\n* device list.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* `0xAAAA/0xBBBB,0xCCCC/0xDDDD`\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1691};
1692pub const SDL_HINT_JOYSTICK_GUITAR_DEVICES: Hint = Hint {
1708 name: "SDL_HINT_JOYSTICK_GUITAR_DEVICES",
1709 value: "SDL_JOYSTICK_GUITAR_DEVICES",
1710 doc: "/**\n* A variable containing a list of guitar style controllers.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* `0xAAAA/0xBBBB,0xCCCC/0xDDDD`\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.4.4.\n*/\n",
1711};
1712pub const SDL_HINT_JOYSTICK_HIDAPI: Hint = Hint {
1728 name: "SDL_HINT_JOYSTICK_HIDAPI",
1729 value: "SDL_JOYSTICK_HIDAPI",
1730 doc: "/**\n* A variable controlling whether the HIDAPI joystick drivers should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI drivers are not used.\n* - \"1\": HIDAPI drivers are used. (default)\n*\n* This variable is the default for all drivers, but can be overridden by the\n* hints for specific drivers below.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1731};
1732pub const SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS: Hint = Hint {
1748 name: "SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS",
1749 value: "SDL_JOYSTICK_HIDAPI_COMBINE_JOY_CONS",
1750 doc: "/**\n* A variable controlling whether Nintendo Switch Joy-Con controllers will be\n* combined into a single Pro-like controller when using the HIDAPI driver.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Left and right Joy-Con controllers will not be combined and each\n* will be a mini-gamepad.\n* - \"1\": Left and right Joy-Con controllers will be combined into a single\n* controller. (default)\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1751};
1752pub const SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE: Hint = Hint {
1768 name: "SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE",
1769 value: "SDL_JOYSTICK_HIDAPI_GAMECUBE",
1770 doc: "/**\n* A variable controlling whether the HIDAPI driver for Nintendo GameCube\n* controllers should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1771};
1772pub const SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE: Hint = Hint {
1792 name: "SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE",
1793 value: "SDL_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE",
1794 doc: "/**\n* A variable controlling whether rumble is used to implement the GameCube\n* controller's 3 rumble modes, Stop(0), Rumble(1), and StopHard(2).\n*\n* This is useful for applications that need full compatibility for things\n* like ADSR envelopes. - Stop is implemented by setting low_frequency_rumble\n* to 0 and high_frequency_rumble >0 - Rumble is both at any arbitrary value -\n* StopHard is implemented by setting both low_frequency_rumble and\n* high_frequency_rumble to 0\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Normal rumble behavior is behavior is used. (default)\n* - \"1\": Proper GameCube controller rumble behavior is used.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1795};
1796pub const SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS: Hint = Hint {
1812 name: "SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS",
1813 value: "SDL_JOYSTICK_HIDAPI_JOY_CONS",
1814 doc: "/**\n* A variable controlling whether the HIDAPI driver for Nintendo Switch\n* Joy-Cons should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1815};
1816pub const SDL_HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED: Hint = Hint {
1834 name: "SDL_HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED",
1835 value: "SDL_JOYSTICK_HIDAPI_JOYCON_HOME_LED",
1836 doc: "/**\n* A variable controlling whether the Home button LED should be turned on when\n* a Nintendo Switch Joy-Con controller is opened.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": home button LED is turned off\n* - \"1\": home button LED is turned on\n*\n* By default the Home button LED state is not changed. This hint can also be\n* set to a floating point value between 0.0 and 1.0 which controls the\n* brightness of the Home button LED.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1837};
1838pub const SDL_HINT_JOYSTICK_HIDAPI_LUNA: Hint = Hint {
1854 name: "SDL_HINT_JOYSTICK_HIDAPI_LUNA",
1855 value: "SDL_JOYSTICK_HIDAPI_LUNA",
1856 doc: "/**\n* A variable controlling whether the HIDAPI driver for Amazon Luna\n* controllers connected via Bluetooth should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1857};
1858pub const SDL_HINT_JOYSTICK_HIDAPI_NINTENDO_CLASSIC: Hint = Hint {
1874 name: "SDL_HINT_JOYSTICK_HIDAPI_NINTENDO_CLASSIC",
1875 value: "SDL_JOYSTICK_HIDAPI_NINTENDO_CLASSIC",
1876 doc: "/**\n* A variable controlling whether the HIDAPI driver for Nintendo Online\n* classic controllers should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1877};
1878pub const SDL_HINT_JOYSTICK_HIDAPI_PS3: Hint = Hint {
1899 name: "SDL_HINT_JOYSTICK_HIDAPI_PS3",
1900 value: "SDL_JOYSTICK_HIDAPI_PS3",
1901 doc: "/**\n* A variable controlling whether the HIDAPI driver for PS3 controllers should\n* be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI on macOS, and \"0\" on\n* other platforms.\n*\n* For official Sony driver (sixaxis.sys) use\n* SDL_HINT_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER. See\n* https://github.com/ViGEm/DsHidMini for an alternative driver on Windows.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1902};
1903pub const SDL_HINT_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER: Hint = Hint {
1919 name: "SDL_HINT_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER",
1920 value: "SDL_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER",
1921 doc: "/**\n* A variable controlling whether the Sony driver (sixaxis.sys) for PS3\n* controllers (Sixaxis/DualShock 3) should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Sony driver (sixaxis.sys) is not used.\n* - \"1\": Sony driver (sixaxis.sys) is used.\n*\n* The default value is 0.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1922};
1923pub const SDL_HINT_JOYSTICK_HIDAPI_PS4: Hint = Hint {
1939 name: "SDL_HINT_JOYSTICK_HIDAPI_PS4",
1940 value: "SDL_JOYSTICK_HIDAPI_PS4",
1941 doc: "/**\n* A variable controlling whether the HIDAPI driver for PS4 controllers should\n* be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1942};
1943pub const SDL_HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL: Hint = Hint {
1957 name: "SDL_HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL",
1958 value: "SDL_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL",
1959 doc: "/**\n* A variable controlling the update rate of the PS4 controller over Bluetooth\n* when using the HIDAPI driver.\n*\n* This defaults to 4 ms, to match the behavior over USB, and to be more\n* friendly to other Bluetooth devices and older Bluetooth hardware on the\n* computer. It can be set to \"1\" (1000Hz), \"2\" (500Hz) and \"4\" (250Hz)\n*\n* This hint can be set anytime, but only takes effect when extended input\n* reports are enabled.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1960};
1961pub const SDL_HINT_JOYSTICK_HIDAPI_PS5: Hint = Hint {
1977 name: "SDL_HINT_JOYSTICK_HIDAPI_PS5",
1978 value: "SDL_JOYSTICK_HIDAPI_PS5",
1979 doc: "/**\n* A variable controlling whether the HIDAPI driver for PS5 controllers should\n* be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1980};
1981pub const SDL_HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED: Hint = Hint {
1993 name: "SDL_HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED",
1994 value: "SDL_JOYSTICK_HIDAPI_PS5_PLAYER_LED",
1995 doc: "/**\n* A variable controlling whether the player LEDs should be lit to indicate\n* which player is associated with a PS5 controller.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": player LEDs are not enabled.\n* - \"1\": player LEDs are enabled. (default)\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
1996};
1997pub const SDL_HINT_JOYSTICK_HIDAPI_SHIELD: Hint = Hint {
2013 name: "SDL_HINT_JOYSTICK_HIDAPI_SHIELD",
2014 value: "SDL_JOYSTICK_HIDAPI_SHIELD",
2015 doc: "/**\n* A variable controlling whether the HIDAPI driver for NVIDIA SHIELD\n* controllers should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2016};
2017pub const SDL_HINT_JOYSTICK_HIDAPI_STADIA: Hint = Hint {
2031 name: "SDL_HINT_JOYSTICK_HIDAPI_STADIA",
2032 value: "SDL_JOYSTICK_HIDAPI_STADIA",
2033 doc: "/**\n* A variable controlling whether the HIDAPI driver for Google Stadia\n* controllers should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2034};
2035pub const SDL_HINT_JOYSTICK_HIDAPI_STEAM: Hint = Hint {
2051 name: "SDL_HINT_JOYSTICK_HIDAPI_STEAM",
2052 value: "SDL_JOYSTICK_HIDAPI_STEAM",
2053 doc: "/**\n* A variable controlling whether the HIDAPI driver for Bluetooth Steam\n* Controllers should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used. (default)\n* - \"1\": HIDAPI driver is used for Steam Controllers, which requires\n* Bluetooth access and may prompt the user for permission on iOS and\n* Android.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2054};
2055pub const SDL_HINT_JOYSTICK_HIDAPI_STEAM_HOME_LED: Hint = Hint {
2073 name: "SDL_HINT_JOYSTICK_HIDAPI_STEAM_HOME_LED",
2074 value: "SDL_JOYSTICK_HIDAPI_STEAM_HOME_LED",
2075 doc: "/**\n* A variable controlling whether the Steam button LED should be turned on\n* when a Steam controller is opened.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Steam button LED is turned off.\n* - \"1\": Steam button LED is turned on.\n*\n* By default the Steam button LED state is not changed. This hint can also be\n* set to a floating point value between 0.0 and 1.0 which controls the\n* brightness of the Steam button LED.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2076};
2077pub const SDL_HINT_JOYSTICK_HIDAPI_STEAMDECK: Hint = Hint {
2093 name: "SDL_HINT_JOYSTICK_HIDAPI_STEAMDECK",
2094 value: "SDL_JOYSTICK_HIDAPI_STEAMDECK",
2095 doc: "/**\n* A variable controlling whether the HIDAPI driver for the Steam Deck builtin\n* controller should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2096};
2097pub const SDL_HINT_JOYSTICK_HIDAPI_STEAM_HORI: Hint = Hint {
2113 name: "SDL_HINT_JOYSTICK_HIDAPI_STEAM_HORI",
2114 value: "SDL_JOYSTICK_HIDAPI_STEAM_HORI",
2115 doc: "/**\n* A variable controlling whether the HIDAPI driver for HORI licensed Steam\n* controllers should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2116};
2117pub const SDL_HINT_JOYSTICK_HIDAPI_LG4FF: Hint = Hint {
2133 name: "SDL_HINT_JOYSTICK_HIDAPI_LG4FF",
2134 value: "SDL_JOYSTICK_HIDAPI_LG4FF",
2135 doc: "/**\n* A variable controlling whether the HIDAPI driver for some Logitech wheels\n* should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
2136};
2137pub const SDL_HINT_JOYSTICK_HIDAPI_8BITDO: Hint = Hint {
2153 name: "SDL_HINT_JOYSTICK_HIDAPI_8BITDO",
2154 value: "SDL_JOYSTICK_HIDAPI_8BITDO",
2155 doc: "/**\n* A variable controlling whether the HIDAPI driver for 8BitDo controllers\n* should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
2156};
2157pub const SDL_HINT_JOYSTICK_HIDAPI_SINPUT: Hint = Hint {
2175 name: "SDL_HINT_JOYSTICK_HIDAPI_SINPUT",
2176 value: "SDL_JOYSTICK_HIDAPI_SINPUT",
2177 doc: "/**\n* A variable controlling whether the HIDAPI driver for SInput controllers\n* should be used.\n*\n* More info - https://github.com/HandHeldLegend/SInput-HID\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
2178};
2179pub const SDL_HINT_JOYSTICK_HIDAPI_ZUIKI: Hint = Hint {
2195 name: "SDL_HINT_JOYSTICK_HIDAPI_ZUIKI",
2196 value: "SDL_JOYSTICK_HIDAPI_ZUIKI",
2197 doc: "/**\n* A variable controlling whether the HIDAPI driver for ZUIKI controllers\n* should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
2198};
2199pub const SDL_HINT_JOYSTICK_HIDAPI_FLYDIGI: Hint = Hint {
2215 name: "SDL_HINT_JOYSTICK_HIDAPI_FLYDIGI",
2216 value: "SDL_JOYSTICK_HIDAPI_FLYDIGI",
2217 doc: "/**\n* A variable controlling whether the HIDAPI driver for Flydigi controllers\n* should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
2218};
2219pub const SDL_HINT_JOYSTICK_HIDAPI_GAMESIR: Hint = Hint {
2235 name: "SDL_HINT_JOYSTICK_HIDAPI_GAMESIR",
2236 value: "SDL_JOYSTICK_HIDAPI_GAMESIR",
2237 doc: "/**\n* A variable controlling whether the HIDAPI driver for GameSir controllers\n* should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.5.0.\n*/\n",
2238};
2239pub const SDL_HINT_JOYSTICK_HIDAPI_SWITCH: Hint = Hint {
2255 name: "SDL_HINT_JOYSTICK_HIDAPI_SWITCH",
2256 value: "SDL_JOYSTICK_HIDAPI_SWITCH",
2257 doc: "/**\n* A variable controlling whether the HIDAPI driver for Nintendo Switch\n* controllers should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2258};
2259pub const SDL_HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED: Hint = Hint {
2277 name: "SDL_HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED",
2278 value: "SDL_JOYSTICK_HIDAPI_SWITCH_HOME_LED",
2279 doc: "/**\n* A variable controlling whether the Home button LED should be turned on when\n* a Nintendo Switch Pro controller is opened.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Home button LED is turned off.\n* - \"1\": Home button LED is turned on.\n*\n* By default the Home button LED state is not changed. This hint can also be\n* set to a floating point value between 0.0 and 1.0 which controls the\n* brightness of the Home button LED.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2280};
2281pub const SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED: Hint = Hint {
2295 name: "SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED",
2296 value: "SDL_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED",
2297 doc: "/**\n* A variable controlling whether the player LEDs should be lit to indicate\n* which player is associated with a Nintendo Switch controller.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Player LEDs are not enabled.\n* - \"1\": Player LEDs are enabled. (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2298};
2299pub const SDL_HINT_JOYSTICK_HIDAPI_SWITCH2: Hint = Hint {
2315 name: "SDL_HINT_JOYSTICK_HIDAPI_SWITCH2",
2316 value: "SDL_JOYSTICK_HIDAPI_SWITCH2",
2317 doc: "/**\n* A variable controlling whether the HIDAPI driver for Nintendo Switch 2\n* controllers should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
2318};
2319pub const SDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS: Hint = Hint {
2334 name: "SDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS",
2335 value: "SDL_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS",
2336 doc: "/**\n* A variable controlling whether Nintendo Switch Joy-Con controllers will be\n* in vertical mode when using the HIDAPI driver.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Left and right Joy-Con controllers will not be in vertical mode.\n* (default)\n* - \"1\": Left and right Joy-Con controllers will be in vertical mode.\n*\n* This hint should be set before opening a Joy-Con controller.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2337};
2338pub const SDL_HINT_JOYSTICK_HIDAPI_WII: Hint = Hint {
2355 name: "SDL_HINT_JOYSTICK_HIDAPI_WII",
2356 value: "SDL_JOYSTICK_HIDAPI_WII",
2357 doc: "/**\n* A variable controlling whether the HIDAPI driver for Nintendo Wii and Wii U\n* controllers should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* This driver doesn't work with the dolphinbar, so the default is false for\n* now.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2358};
2359pub const SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED: Hint = Hint {
2373 name: "SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED",
2374 value: "SDL_JOYSTICK_HIDAPI_WII_PLAYER_LED",
2375 doc: "/**\n* A variable controlling whether the player LEDs should be lit to indicate\n* which player is associated with a Wii controller.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Player LEDs are not enabled.\n* - \"1\": Player LEDs are enabled. (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2376};
2377pub const SDL_HINT_JOYSTICK_HIDAPI_XBOX: Hint = Hint {
2394 name: "SDL_HINT_JOYSTICK_HIDAPI_XBOX",
2395 value: "SDL_JOYSTICK_HIDAPI_XBOX",
2396 doc: "/**\n* A variable controlling whether the HIDAPI driver for XBox controllers\n* should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is \"0\" on Windows, otherwise the value of\n* SDL_HINT_JOYSTICK_HIDAPI\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2397};
2398pub const SDL_HINT_JOYSTICK_HIDAPI_XBOX_360: Hint = Hint {
2414 name: "SDL_HINT_JOYSTICK_HIDAPI_XBOX_360",
2415 value: "SDL_JOYSTICK_HIDAPI_XBOX_360",
2416 doc: "/**\n* A variable controlling whether the HIDAPI driver for XBox 360 controllers\n* should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI_XBOX\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2417};
2418pub const SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED: Hint = Hint {
2432 name: "SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED",
2433 value: "SDL_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED",
2434 doc: "/**\n* A variable controlling whether the player LEDs should be lit to indicate\n* which player is associated with an Xbox 360 controller.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Player LEDs are not enabled.\n* - \"1\": Player LEDs are enabled. (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2435};
2436pub const SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS: Hint = Hint {
2452 name: "SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS",
2453 value: "SDL_JOYSTICK_HIDAPI_XBOX_360_WIRELESS",
2454 doc: "/**\n* A variable controlling whether the HIDAPI driver for XBox 360 wireless\n* controllers should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI_XBOX_360\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2455};
2456pub const SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE: Hint = Hint {
2472 name: "SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE",
2473 value: "SDL_JOYSTICK_HIDAPI_XBOX_ONE",
2474 doc: "/**\n* A variable controlling whether the HIDAPI driver for XBox One controllers\n* should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI_XBOX.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2475};
2476pub const SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED: Hint = Hint {
2494 name: "SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED",
2495 value: "SDL_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED",
2496 doc: "/**\n* A variable controlling whether the Home button LED should be turned on when\n* an Xbox One controller is opened.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Home button LED is turned off.\n* - \"1\": Home button LED is turned on.\n*\n* By default the Home button LED state is not changed. This hint can also be\n* set to a floating point value between 0.0 and 1.0 which controls the\n* brightness of the Home button LED. The default brightness is 0.4.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2497};
2498pub const SDL_HINT_JOYSTICK_HIDAPI_GIP: Hint = Hint {
2514 name: "SDL_HINT_JOYSTICK_HIDAPI_GIP",
2515 value: "SDL_JOYSTICK_HIDAPI_GIP",
2516 doc: "/**\n* A variable controlling whether the new HIDAPI driver for wired Xbox One\n* (GIP) controllers should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": HIDAPI driver is not used.\n* - \"1\": HIDAPI driver is used.\n*\n* The default is the value of SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
2517};
2518pub const SDL_HINT_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA: Hint = Hint {
2535 name: "SDL_HINT_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA",
2536 value: "SDL_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA",
2537 doc: "/**\n* A variable controlling whether the new HIDAPI driver for wired Xbox One\n* (GIP) controllers should reset the controller if it can't get the metadata\n* from the controller.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Assume this is a generic controller.\n* - \"1\": Reset the controller to get metadata.\n*\n* By default the controller is not reset.\n*\n* This hint should be set before initializing joysticks and gamepads.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
2538};
2539pub const SDL_HINT_JOYSTICK_IOKIT: Hint = Hint {
2553 name: "SDL_HINT_JOYSTICK_IOKIT",
2554 value: "SDL_JOYSTICK_IOKIT",
2555 doc: "/**\n* A variable controlling whether IOKit should be used for controller\n* handling.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": IOKit is not used.\n* - \"1\": IOKit is used. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2556};
2557pub const SDL_HINT_JOYSTICK_LINUX_CLASSIC: Hint = Hint {
2571 name: "SDL_HINT_JOYSTICK_LINUX_CLASSIC",
2572 value: "SDL_JOYSTICK_LINUX_CLASSIC",
2573 doc: "/**\n* A variable controlling whether to use the classic /dev/input/js* joystick\n* interface or the newer /dev/input/event* joystick interface on Linux.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Use /dev/input/event* (default)\n* - \"1\": Use /dev/input/js*\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2574};
2575pub const SDL_HINT_JOYSTICK_LINUX_DEADZONES: Hint = Hint {
2589 name: "SDL_HINT_JOYSTICK_LINUX_DEADZONES",
2590 value: "SDL_JOYSTICK_LINUX_DEADZONES",
2591 doc: "/**\n* A variable controlling whether joysticks on Linux adhere to their\n* HID-defined deadzones or return unfiltered values.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Return unfiltered joystick axis values. (default)\n* - \"1\": Return axis values with deadzones taken into account.\n*\n* This hint should be set before a controller is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2592};
2593pub const SDL_HINT_JOYSTICK_LINUX_DIGITAL_HATS: Hint = Hint {
2610 name: "SDL_HINT_JOYSTICK_LINUX_DIGITAL_HATS",
2611 value: "SDL_JOYSTICK_LINUX_DIGITAL_HATS",
2612 doc: "/**\n* A variable controlling whether joysticks on Linux will always treat 'hat'\n* axis inputs (ABS_HAT0X - ABS_HAT3Y) as 8-way digital hats without checking\n* whether they may be analog.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Only map hat axis inputs to digital hat outputs if the input axes\n* appear to actually be digital. (default)\n* - \"1\": Always handle the input axes numbered ABS_HAT0X to ABS_HAT3Y as\n* digital hats.\n*\n* This hint should be set before a controller is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2613};
2614pub const SDL_HINT_JOYSTICK_LINUX_HAT_DEADZONES: Hint = Hint {
2629 name: "SDL_HINT_JOYSTICK_LINUX_HAT_DEADZONES",
2630 value: "SDL_JOYSTICK_LINUX_HAT_DEADZONES",
2631 doc: "/**\n* A variable controlling whether digital hats on Linux will apply deadzones\n* to their underlying input axes or use unfiltered values.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Return digital hat values based on unfiltered input axis values.\n* - \"1\": Return digital hat values with deadzones on the input axes taken\n* into account. (default)\n*\n* This hint should be set before a controller is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2632};
2633pub const SDL_HINT_JOYSTICK_MFI: Hint = Hint {
2647 name: "SDL_HINT_JOYSTICK_MFI",
2648 value: "SDL_JOYSTICK_MFI",
2649 doc: "/**\n* A variable controlling whether GCController should be used for controller\n* handling.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": GCController is not used.\n* - \"1\": GCController is used. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2650};
2651pub const SDL_HINT_JOYSTICK_RAWINPUT: Hint = Hint {
2665 name: "SDL_HINT_JOYSTICK_RAWINPUT",
2666 value: "SDL_JOYSTICK_RAWINPUT",
2667 doc: "/**\n* A variable controlling whether the RAWINPUT joystick drivers should be used\n* for better handling XInput-capable devices.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": RAWINPUT drivers are not used. (default)\n* - \"1\": RAWINPUT drivers are used.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2668};
2669pub const SDL_HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT: Hint = Hint {
2685 name: "SDL_HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT",
2686 value: "SDL_JOYSTICK_RAWINPUT_CORRELATE_XINPUT",
2687 doc: "/**\n* A variable controlling whether the RAWINPUT driver should pull correlated\n* data from XInput.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": RAWINPUT driver will only use data from raw input APIs.\n* - \"1\": RAWINPUT driver will also pull data from XInput and\n* Windows.Gaming.Input, providing better trigger axes, guide button\n* presses, and rumble support for Xbox controllers. (default)\n*\n* This hint should be set before a gamepad is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2688};
2689pub const SDL_HINT_JOYSTICK_ROG_CHAKRAM: Hint = Hint {
2703 name: "SDL_HINT_JOYSTICK_ROG_CHAKRAM",
2704 value: "SDL_JOYSTICK_ROG_CHAKRAM",
2705 doc: "/**\n* A variable controlling whether the ROG Chakram mice should show up as\n* joysticks.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": ROG Chakram mice do not show up as joysticks. (default)\n* - \"1\": ROG Chakram mice show up as joysticks.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2706};
2707pub const SDL_HINT_JOYSTICK_THREAD: Hint = Hint {
2721 name: "SDL_HINT_JOYSTICK_THREAD",
2722 value: "SDL_JOYSTICK_THREAD",
2723 doc: "/**\n* A variable controlling whether a separate thread should be used for\n* handling joystick detection and raw input messages on Windows.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": A separate thread is not used.\n* - \"1\": A separate thread is used for handling raw input messages. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2724};
2725pub const SDL_HINT_JOYSTICK_THROTTLE_DEVICES: Hint = Hint {
2741 name: "SDL_HINT_JOYSTICK_THROTTLE_DEVICES",
2742 value: "SDL_JOYSTICK_THROTTLE_DEVICES",
2743 doc: "/**\n* A variable containing a list of throttle style controllers.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* `0xAAAA/0xBBBB,0xCCCC/0xDDDD`\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2744};
2745pub const SDL_HINT_JOYSTICK_THROTTLE_DEVICES_EXCLUDED: Hint = Hint {
2765 name: "SDL_HINT_JOYSTICK_THROTTLE_DEVICES_EXCLUDED",
2766 value: "SDL_JOYSTICK_THROTTLE_DEVICES_EXCLUDED",
2767 doc: "/**\n* A variable containing a list of devices that are not throttle style\n* controllers.\n*\n* This will override SDL_HINT_JOYSTICK_THROTTLE_DEVICES and the built in\n* device list.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* `0xAAAA/0xBBBB,0xCCCC/0xDDDD`\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2768};
2769pub const SDL_HINT_JOYSTICK_WGI: Hint = Hint {
2783 name: "SDL_HINT_JOYSTICK_WGI",
2784 value: "SDL_JOYSTICK_WGI",
2785 doc: "/**\n* A variable controlling whether Windows.Gaming.Input should be used for\n* controller handling.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": WGI is not used. (default)\n* - \"1\": WGI is used.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2786};
2787pub const SDL_HINT_JOYSTICK_WHEEL_DEVICES: Hint = Hint {
2803 name: "SDL_HINT_JOYSTICK_WHEEL_DEVICES",
2804 value: "SDL_JOYSTICK_WHEEL_DEVICES",
2805 doc: "/**\n* A variable containing a list of wheel style controllers.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* `0xAAAA/0xBBBB,0xCCCC/0xDDDD`\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2806};
2807pub const SDL_HINT_JOYSTICK_WHEEL_DEVICES_EXCLUDED: Hint = Hint {
2827 name: "SDL_HINT_JOYSTICK_WHEEL_DEVICES_EXCLUDED",
2828 value: "SDL_JOYSTICK_WHEEL_DEVICES_EXCLUDED",
2829 doc: "/**\n* A variable containing a list of devices that are not wheel style\n* controllers.\n*\n* This will override SDL_HINT_JOYSTICK_WHEEL_DEVICES and the built in device\n* list.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* `0xAAAA/0xBBBB,0xCCCC/0xDDDD`\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2830};
2831pub const SDL_HINT_JOYSTICK_ZERO_CENTERED_DEVICES: Hint = Hint {
2848 name: "SDL_HINT_JOYSTICK_ZERO_CENTERED_DEVICES",
2849 value: "SDL_JOYSTICK_ZERO_CENTERED_DEVICES",
2850 doc: "/**\n* A variable containing a list of devices known to have all axes centered at\n* zero.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* `0xAAAA/0xBBBB,0xCCCC/0xDDDD`\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint should be set before a controller is opened.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2851};
2852pub const SDL_HINT_JOYSTICK_HAPTIC_AXES: Hint = Hint {
2873 name: "SDL_HINT_JOYSTICK_HAPTIC_AXES",
2874 value: "SDL_JOYSTICK_HAPTIC_AXES",
2875 doc: "/**\n* A variable containing a list of devices and their desired number of haptic\n* (force feedback) enabled axis.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form plus the number of desired axes, e.g.\n*\n* `0xAAAA/0xBBBB/1,0xCCCC/0xDDDD/3`\n*\n* This hint supports a \"wildcard\" device that will set the number of haptic\n* axes on all initialized haptic devices which were not defined explicitly in\n* this hint.\n*\n* `0xFFFF/0xFFFF/1`\n*\n* This hint should be set before a controller is opened. The number of haptic\n* axes won't exceed the number of real axes found on the device.\n*\n* \\since This hint is available since SDL 3.2.5.\n*/\n",
2876};
2877pub const SDL_HINT_KEYCODE_OPTIONS: Hint = Hint {
2910 name: "SDL_HINT_KEYCODE_OPTIONS",
2911 value: "SDL_KEYCODE_OPTIONS",
2912 doc: "/**\n* A variable that controls keycode representation in keyboard events.\n*\n* This variable is a comma separated set of options for translating keycodes\n* in events:\n*\n* - \"none\": Keycode options are cleared, this overrides other options.\n* - \"hide_numpad\": The numpad keysyms will be translated into their\n* non-numpad versions based on the current NumLock state. For example,\n* SDLK_KP_4 would become SDLK_4 if SDL_KMOD_NUM is set in the event\n* modifiers, and SDLK_LEFT if it is unset.\n* - \"french_numbers\": The number row on French keyboards is inverted, so\n* pressing the 1 key would yield the keycode SDLK_1, or '1', instead of\n* SDLK_AMPERSAND, or '&'\n* - \"latin_letters\": For keyboards using non-Latin letters, such as Russian\n* or Thai, the letter keys generate keycodes as though it had an English\n* QWERTY layout. e.g. pressing the key associated with SDL_SCANCODE_A on a\n* Russian keyboard would yield 'a' instead of a Cyrillic letter.\n*\n* The default value for this hint is \"french_numbers,latin_letters\"\n*\n* Some platforms like Emscripten only provide modified keycodes and the\n* options are not used.\n*\n* These options do not affect the return value of SDL_GetKeyFromScancode() or\n* SDL_GetScancodeFromKey(), they just apply to the keycode included in key\n* events.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2913};
2914pub const SDL_HINT_KMSDRM_DEVICE_INDEX: Hint = Hint {
2927 name: "SDL_HINT_KMSDRM_DEVICE_INDEX",
2928 value: "SDL_KMSDRM_DEVICE_INDEX",
2929 doc: "/**\n* A variable that controls what KMSDRM device to use.\n*\n* SDL might open something like \"/dev/dri/cardNN\" to access KMSDRM\n* functionality, where \"NN\" is a device index number. SDL makes a guess at\n* the best index to use (usually zero), but the app or user can set this hint\n* to a number between 0 and 99 to force selection.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2930};
2931pub const SDL_HINT_KMSDRM_REQUIRE_DRM_MASTER: Hint = Hint {
2958 name: "SDL_HINT_KMSDRM_REQUIRE_DRM_MASTER",
2959 value: "SDL_KMSDRM_REQUIRE_DRM_MASTER",
2960 doc: "/**\n* A variable that controls whether SDL requires DRM master access in order to\n* initialize the KMSDRM video backend.\n*\n* The DRM subsystem has a concept of a \"DRM master\" which is a DRM client\n* that has the ability to set planes, set cursor, etc. When SDL is DRM\n* master, it can draw to the screen using the SDL rendering APIs. Without DRM\n* master, SDL is still able to process input and query attributes of attached\n* displays, but it cannot change display state or draw to the screen\n* directly.\n*\n* In some cases, it can be useful to have the KMSDRM backend even if it\n* cannot be used for rendering. An app may want to use SDL for input\n* processing while using another rendering API (such as an MMAL overlay on\n* Raspberry Pi) or using its own code to render to DRM overlays that SDL\n* doesn't support.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": SDL will allow usage of the KMSDRM backend without DRM master.\n* - \"1\": SDL Will require DRM master to use the KMSDRM backend. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
2961};
2962pub const SDL_HINT_KMSDRM_ATOMIC: Hint = Hint {
2982 name: "SDL_HINT_KMSDRM_ATOMIC",
2983 value: "SDL_KMSDRM_ATOMIC",
2984 doc: "/**\n* A variable that controls whether KMSDRM will use \"atomic\" functionality.\n*\n* The KMSDRM backend can use atomic commits, if both DRM_CLIENT_CAP_ATOMIC\n* and DRM_CLIENT_CAP_UNIVERSAL_PLANES is supported by the system. As of SDL\n* 3.4.0, it will favor this functionality, but in case this doesn't work well\n* on a given system or other surprises, this hint can be used to disable it.\n*\n* This hint can not enable the functionality if it isn't available.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": SDL will not use the KMSDRM \"atomic\" functionality.\n* - \"1\": SDL will allow usage of the KMSDRM \"atomic\" functionality. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
2985};
2986pub const SDL_HINT_LOGGING: Hint = Hint {
3016 name: "SDL_HINT_LOGGING",
3017 value: "SDL_LOGGING",
3018 doc: "/**\n* A variable controlling the default SDL log levels.\n*\n* This variable is a comma separated set of category=level tokens that define\n* the default logging levels for SDL applications.\n*\n* The category can be a numeric category, one of \"app\", \"error\", \"assert\",\n* \"system\", \"audio\", \"video\", \"render\", \"input\", \"test\", or `*` for any\n* unspecified category.\n*\n* The level can be a numeric level, one of \"verbose\", \"debug\", \"info\",\n* \"warn\", \"error\", \"critical\", or \"quiet\" to disable that category.\n*\n* You can omit the category if you want to set the logging level for all\n* categories.\n*\n* If this hint isn't set, the default log levels are equivalent to:\n*\n* `app=info,assert=warn,test=verbose,*=error`\n*\n* If the `DEBUG_INVOCATION` environment variable is set to \"1\", the default\n* log levels are equivalent to:\n*\n* `assert=warn,test=verbose,*=debug`\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3019};
3020pub const SDL_HINT_MAC_BACKGROUND_APP: Hint = Hint {
3035 name: "SDL_HINT_MAC_BACKGROUND_APP",
3036 value: "SDL_MAC_BACKGROUND_APP",
3037 doc: "/**\n* A variable controlling whether to force the application to become the\n* foreground process when launched on macOS.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": The application is brought to the foreground when launched.\n* (default)\n* - \"1\": The application may remain in the background when launched.\n*\n* This hint needs to be set before SDL_Init().\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3038};
3039pub const SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK: Hint = Hint {
3054 name: "SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK",
3055 value: "SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK",
3056 doc: "/**\n* A variable that determines whether Ctrl+Click should generate a right-click\n* event on macOS.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Ctrl+Click does not generate a right mouse button click event.\n* (default)\n* - \"1\": Ctrl+Click generated a right mouse button click event.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3057};
3058pub const SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH: Hint = Hint {
3080 name: "SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH",
3081 value: "SDL_MAC_OPENGL_ASYNC_DISPATCH",
3082 doc: "/**\n* A variable controlling whether dispatching OpenGL context updates should\n* block the dispatching thread until the main thread finishes processing on\n* macOS.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Dispatching OpenGL context updates will block the dispatching thread\n* until the main thread finishes processing. (default)\n* - \"1\": Dispatching OpenGL context updates will allow the dispatching thread\n* to continue execution.\n*\n* Generally you want the default, but if you have OpenGL code in a background\n* thread on a Mac, and the main thread hangs because it's waiting for that\n* background thread, but that background thread is also hanging because it's\n* waiting for the main thread to do an update, this might fix your issue.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3083};
3084pub const SDL_HINT_MAC_OPTION_AS_ALT: Hint = Hint {
3108 name: "SDL_HINT_MAC_OPTION_AS_ALT",
3109 value: "SDL_MAC_OPTION_AS_ALT",
3110 doc: "/**\n* A variable controlling whether the Option key on macOS should be remapped\n* to act as the Alt key.\n*\n* The variable can be set to the following values:\n*\n* - \"none\": The Option key is not remapped to Alt. (default)\n* - \"only_left\": Only the left Option key is remapped to Alt.\n* - \"only_right\": Only the right Option key is remapped to Alt.\n* - \"both\": Both Option keys are remapped to Alt.\n*\n* This will prevent the triggering of key compositions that rely on the\n* Option key, but will still send the Alt modifier for keyboard events. In\n* the case that both Alt and Option are pressed, the Option key will be\n* ignored. This is particularly useful for applications like terminal\n* emulators and graphical user interfaces (GUIs) that rely on Alt key\n* functionality for shortcuts or navigation. This does not apply to\n* SDL_GetKeyFromScancode and only has an effect if IME is enabled.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3111};
3112pub const SDL_HINT_MAC_SCROLL_MOMENTUM: Hint = Hint {
3126 name: "SDL_HINT_MAC_SCROLL_MOMENTUM",
3127 value: "SDL_MAC_SCROLL_MOMENTUM",
3128 doc: "/**\n* A variable controlling whether SDL_EVENT_MOUSE_WHEEL event values will have\n* momentum on macOS.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": The mouse wheel events will have no momentum. (default)\n* - \"1\": The mouse wheel events will have momentum.\n*\n* This hint needs to be set before SDL_Init().\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3129};
3130pub const SDL_HINT_MAC_PRESS_AND_HOLD: Hint = Hint {
3144 name: "SDL_HINT_MAC_PRESS_AND_HOLD",
3145 value: "SDL_MAC_PRESS_AND_HOLD",
3146 doc: "/**\n* A variable controlling whether holding down a key will repeat the pressed\n* key or open the accents menu on macOS.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Holding a key will repeat the pressed key.\n* - \"1\": Holding a key will open the accents menu for that key. (default)\n*\n* This hint needs to be set before SDL_Init().\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
3147};
3148pub const SDL_HINT_MAIN_CALLBACK_RATE: Hint = Hint {
3177 name: "SDL_HINT_MAIN_CALLBACK_RATE",
3178 value: "SDL_MAIN_CALLBACK_RATE",
3179 doc: "/**\n* Request SDL_AppIterate() be called at a specific rate.\n*\n* If this is set to a number, it represents Hz, so \"60\" means try to iterate\n* 60 times per second. \"0\" means to iterate as fast as possible. Negative\n* values are illegal, but reserved, in case they are useful in a future\n* revision of SDL.\n*\n* There are other strings that have special meaning. If set to \"waitevent\",\n* SDL_AppIterate will not be called until new event(s) have arrived (and been\n* processed by SDL_AppEvent). This can be useful for apps that are completely\n* idle except in response to input.\n*\n* On some platforms, or if you are using SDL_main instead of SDL_AppIterate,\n* this hint is ignored. When the hint can be used, it is allowed to be\n* changed at any time.\n*\n* This defaults to 0, and specifying NULL for the hint's value will restore\n* the default.\n*\n* This doesn't have to be an integer value. For example, \"59.94\" won't be\n* rounded to an integer rate; the digits after the decimal are actually\n* respected.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3180};
3181pub const SDL_HINT_MOUSE_AUTO_CAPTURE: Hint = Hint {
3199 name: "SDL_HINT_MOUSE_AUTO_CAPTURE",
3200 value: "SDL_MOUSE_AUTO_CAPTURE",
3201 doc: "/**\n* A variable controlling whether the mouse is captured while mouse buttons\n* are pressed.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": The mouse is not captured while mouse buttons are pressed.\n* - \"1\": The mouse is captured while mouse buttons are pressed.\n*\n* By default the mouse is captured while mouse buttons are pressed so if the\n* mouse is dragged outside the window, the application continues to receive\n* mouse events until the button is released.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3202};
3203pub const SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS: Hint = Hint {
3211 name: "SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS",
3212 value: "SDL_MOUSE_DOUBLE_CLICK_RADIUS",
3213 doc: "/**\n* A variable setting the double click radius, in pixels.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3214};
3215pub const SDL_HINT_MOUSE_DOUBLE_CLICK_TIME: Hint = Hint {
3223 name: "SDL_HINT_MOUSE_DOUBLE_CLICK_TIME",
3224 value: "SDL_MOUSE_DOUBLE_CLICK_TIME",
3225 doc: "/**\n* A variable setting the double click time, in milliseconds.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3226};
3227pub const SDL_HINT_MOUSE_DEFAULT_SYSTEM_CURSOR: Hint = Hint {
3238 name: "SDL_HINT_MOUSE_DEFAULT_SYSTEM_CURSOR",
3239 value: "SDL_MOUSE_DEFAULT_SYSTEM_CURSOR",
3240 doc: "/**\n* A variable setting which system cursor to use as the default cursor.\n*\n* This should be an integer corresponding to the SDL_SystemCursor enum. The\n* default value is zero (SDL_SYSTEM_CURSOR_DEFAULT).\n*\n* This hint needs to be set before SDL_Init().\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3241};
3242pub const SDL_HINT_MOUSE_DPI_SCALE_CURSORS: Hint = Hint {
3259 name: "SDL_HINT_MOUSE_DPI_SCALE_CURSORS",
3260 value: "SDL_MOUSE_DPI_SCALE_CURSORS",
3261 doc: "/**\n* A variable setting whether we should scale cursors by the current display\n* scale.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Cursors will not change size based on the display content scale.\n* (default)\n* - \"1\": Cursors will automatically match the display content scale (e.g. a\n* 2x sized cursor will be used when the window is on a monitor with 200%\n* scale). This is currently implemented on Windows and Wayland.\n*\n* This hint needs to be set before creating cursors.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
3262};
3263pub const SDL_HINT_MOUSE_EMULATE_WARP_WITH_RELATIVE: Hint = Hint {
3294 name: "SDL_HINT_MOUSE_EMULATE_WARP_WITH_RELATIVE",
3295 value: "SDL_MOUSE_EMULATE_WARP_WITH_RELATIVE",
3296 doc: "/**\n* A variable controlling whether warping a hidden mouse cursor will activate\n* relative mouse mode.\n*\n* When this hint is set, the mouse cursor is hidden, and multiple warps to\n* the window center occur within a short time period, SDL will emulate mouse\n* warps using relative mouse mode. This can provide smoother and more\n* reliable mouse motion for some older games, which continuously calculate\n* the distance traveled by the mouse pointer and warp it back to the center\n* of the window, rather than using relative mouse motion.\n*\n* Note that relative mouse mode may have different mouse acceleration\n* behavior than pointer warps.\n*\n* If your application needs to repeatedly warp the hidden mouse cursor at a\n* high-frequency for other purposes, it should disable this hint.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Attempts to warp the mouse will always be made.\n* - \"1\": Some mouse warps will be emulated by forcing relative mouse mode.\n* (default)\n*\n* If not set, this is automatically enabled unless an application uses\n* relative mouse mode directly.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3297};
3298pub const SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH: Hint = Hint {
3311 name: "SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH",
3312 value: "SDL_MOUSE_FOCUS_CLICKTHROUGH",
3313 doc: "/**\n* Allow mouse click events when clicking to focus an SDL window.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Ignore mouse clicks that activate a window. (default)\n* - \"1\": Generate events for mouse clicks that activate a window.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3314};
3315pub const SDL_HINT_MOUSE_NORMAL_SPEED_SCALE: Hint = Hint {
3324 name: "SDL_HINT_MOUSE_NORMAL_SPEED_SCALE",
3325 value: "SDL_MOUSE_NORMAL_SPEED_SCALE",
3326 doc: "/**\n* A variable setting the speed scale for mouse motion, in floating point,\n* when the mouse is not in relative mode.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3327};
3328pub const SDL_HINT_MOUSE_RELATIVE_MODE_CENTER: Hint = Hint {
3348 name: "SDL_HINT_MOUSE_RELATIVE_MODE_CENTER",
3349 value: "SDL_MOUSE_RELATIVE_MODE_CENTER",
3350 doc: "/**\n* A variable controlling whether relative mouse mode constrains the mouse to\n* the center of the window.\n*\n* Constraining to the center of the window works better for FPS games and\n* when the application is running over RDP. Constraining to the whole window\n* works better for 2D games and increases the chance that the mouse will be\n* in the correct position when using high DPI mice.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Relative mouse mode constrains the mouse to the window.\n* - \"1\": Relative mouse mode constrains the mouse to the center of the\n* window. (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3351};
3352pub const SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE: Hint = Hint {
3361 name: "SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE",
3362 value: "SDL_MOUSE_RELATIVE_SPEED_SCALE",
3363 doc: "/**\n* A variable setting the scale for mouse motion, in floating point, when the\n* mouse is in relative mode.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3364};
3365pub const SDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE: Hint = Hint {
3383 name: "SDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE",
3384 value: "SDL_MOUSE_RELATIVE_SYSTEM_SCALE",
3385 doc: "/**\n* A variable controlling whether the system mouse acceleration curve is used\n* for relative mouse motion.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Relative mouse motion will be unscaled. (default)\n* - \"1\": Relative mouse motion will be scaled using the system mouse\n* acceleration curve.\n*\n* If SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE is set, that will be applied after\n* system speed scale.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3386};
3387pub const SDL_HINT_MOUSE_RELATIVE_WARP_MOTION: Hint = Hint {
3405 name: "SDL_HINT_MOUSE_RELATIVE_WARP_MOTION",
3406 value: "SDL_MOUSE_RELATIVE_WARP_MOTION",
3407 doc: "/**\n* A variable controlling whether a motion event should be generated for mouse\n* warping in relative mode.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Warping the mouse will not generate a motion event in relative mode\n* - \"1\": Warping the mouse will generate a motion event in relative mode\n*\n* By default warping the mouse will not generate motion events in relative\n* mode. This avoids the application having to filter out large relative\n* motion due to warping.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3408};
3409pub const SDL_HINT_MOUSE_RELATIVE_CURSOR_VISIBLE: Hint = Hint {
3427 name: "SDL_HINT_MOUSE_RELATIVE_CURSOR_VISIBLE",
3428 value: "SDL_MOUSE_RELATIVE_CURSOR_VISIBLE",
3429 doc: "/**\n* A variable controlling whether the hardware cursor stays visible when\n* relative mode is active.\n*\n* This variable can be set to the following values:\n*\n* - \"0\": The cursor will be hidden while relative mode is active (default)\n* - \"1\": The cursor will remain visible while relative mode is active\n*\n* Note that for systems without raw hardware inputs, relative mode is\n* implemented using warping, so the hardware cursor will visibly warp between\n* frames if this is enabled on those systems.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3430};
3431pub const SDL_HINT_MOUSE_TOUCH_EVENTS: Hint = Hint {
3447 name: "SDL_HINT_MOUSE_TOUCH_EVENTS",
3448 value: "SDL_MOUSE_TOUCH_EVENTS",
3449 doc: "/**\n* A variable controlling whether mouse events should generate synthetic touch\n* events.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Mouse events will not generate touch events. (default for desktop\n* platforms)\n* - \"1\": Mouse events will generate touch events. (default for mobile\n* platforms, such as Android and iOS)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3450};
3451pub const SDL_HINT_MUTE_CONSOLE_KEYBOARD: Hint = Hint {
3468 name: "SDL_HINT_MUTE_CONSOLE_KEYBOARD",
3469 value: "SDL_MUTE_CONSOLE_KEYBOARD",
3470 doc: "/**\n* A variable controlling whether the keyboard should be muted on the console.\n*\n* Normally the keyboard is muted while SDL applications are running so that\n* keyboard input doesn't show up as key strokes on the console. This hint\n* allows you to turn that off for debugging purposes.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Allow keystrokes to go through to the console.\n* - \"1\": Mute keyboard input so it doesn't show up on the console. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3471};
3472pub const SDL_HINT_NO_SIGNAL_HANDLERS: Hint = Hint {
3486 name: "SDL_HINT_NO_SIGNAL_HANDLERS",
3487 value: "SDL_NO_SIGNAL_HANDLERS",
3488 doc: "/**\n* Tell SDL not to catch the SIGINT or SIGTERM signals on POSIX platforms.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": SDL will install a SIGINT and SIGTERM handler, and when it catches a\n* signal, convert it into an SDL_EVENT_QUIT event. (default)\n* - \"1\": SDL will not install a signal handler at all.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3489};
3490pub const SDL_HINT_OPENGL_LIBRARY: Hint = Hint {
3500 name: "SDL_HINT_OPENGL_LIBRARY",
3501 value: "SDL_OPENGL_LIBRARY",
3502 doc: "/**\n* Specify the OpenGL library to load.\n*\n* This hint should be set before creating an OpenGL window or creating an\n* OpenGL context. If this hint isn't set, SDL will choose a reasonable\n* default.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3503};
3504pub const SDL_HINT_EGL_LIBRARY: Hint = Hint {
3515 name: "SDL_HINT_EGL_LIBRARY",
3516 value: "SDL_EGL_LIBRARY",
3517 doc: "/**\n* Specify the EGL library to load.\n*\n* This hint should be set before creating an OpenGL window or creating an\n* OpenGL context. This hint is only considered if SDL is using EGL to manage\n* OpenGL contexts. If this hint isn't set, SDL will choose a reasonable\n* default.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3518};
3519pub const SDL_HINT_OPENGL_ES_DRIVER: Hint = Hint {
3554 name: "SDL_HINT_OPENGL_ES_DRIVER",
3555 value: "SDL_OPENGL_ES_DRIVER",
3556 doc: "/**\n* A variable controlling what driver to use for OpenGL ES contexts.\n*\n* On some platforms, currently Windows and X11, OpenGL drivers may support\n* creating contexts with an OpenGL ES profile. By default SDL uses these\n* profiles, when available, otherwise it attempts to load an OpenGL ES\n* library, e.g. that provided by the ANGLE project. This variable controls\n* whether SDL follows this default behaviour or will always load an OpenGL ES\n* library.\n*\n* Circumstances where this is useful include:\n*\n* - Testing an app with a particular OpenGL ES implementation, e.g ANGLE, or\n* emulator, e.g. those from ARM, Imagination or Qualcomm.\n* - Resolving OpenGL ES function addresses at link time by linking with the\n* OpenGL ES library instead of querying them at run time with\n* SDL_GL_GetProcAddress().\n*\n* Caution: for an application to work with the default behaviour across\n* different OpenGL drivers it must query the OpenGL ES function addresses at\n* run time using SDL_GL_GetProcAddress().\n*\n* This variable is ignored on most platforms because OpenGL ES is native or\n* not supported.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Use ES profile of OpenGL, if available. (default)\n* - \"1\": Load OpenGL ES library using the default library names.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3557};
3558pub const SDL_HINT_OPENGL_FORCE_SRGB_FRAMEBUFFER: Hint = Hint {
3597 name: "SDL_HINT_OPENGL_FORCE_SRGB_FRAMEBUFFER",
3598 value: "SDL_OPENGL_FORCE_SRGB_FRAMEBUFFER",
3599 doc: "/**\n* A variable controlling whether to force an sRGB-capable OpenGL context.\n*\n* At OpenGL context creation time, some platforms can request an sRGB-capable\n* context. However, sometimes any form of the request can cause surprising\n* results on some drivers, platforms, and hardware. Usually the surprise is\n* in the form of rendering that is either a little darker or a little\n* brighter than intended.\n*\n* This hint allows the user to override the app's sRGB requests and either\n* force a specific value, or avoid requesting anything at all, depending on\n* what makes things work correctly for their system.\n*\n* This is meant as a fail-safe; apps should probably not explicitly set this,\n* and most users should not, either.\n*\n* Note that some platforms cannot make this request at all, and on all\n* platforms this request can be denied by the operating system.\n*\n* In addition to attempting to obtain the type of sRGB-capable OpenGL context\n* requested by this hint, SDL will try to force the state of\n* GL_FRAMEBUFFER_SRGB on the new context, if appropriate.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Force a request for an OpenGL context that is _not_ sRGB-capable.\n* - \"1\": Force a request for an OpenGL context that _is_ sRGB-capable.\n* - \"skip\": Don't make any request for an sRGB-capable context (don't specify\n* the attribute at all during context creation time).\n* - any other string is undefined behavior.\n*\n* If unset, or set to an empty string, SDL will make a request using the\n* value the app specified with the SDL_GL_FRAMEBUFFER_SRGB_CAPABLE attribute.\n*\n* This hint should be set before an OpenGL context is created.\n*\n* \\since This hint is available since SDL 3.4.2.\n*/\n",
3600};
3601pub const SDL_HINT_OPENVR_LIBRARY: Hint = Hint {
3612 name: "SDL_HINT_OPENVR_LIBRARY",
3613 value: "SDL_OPENVR_LIBRARY",
3614 doc: "/**\n* Mechanism to specify openvr_api library location\n*\n* By default, when using the OpenVR driver, it will search for the API\n* library in the current folder. But, if you wish to use a system API you can\n* specify that by using this hint. This should be the full or relative path\n* to a .dll on Windows or .so on Linux.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3615};
3616pub const SDL_HINT_ORIENTATIONS: Hint = Hint {
3634 name: "SDL_HINT_ORIENTATIONS",
3635 value: "SDL_ORIENTATIONS",
3636 doc: "/**\n* A variable controlling which orientations are allowed on iOS/Android.\n*\n* In some circumstances it is necessary to be able to explicitly control\n* which UI orientations are allowed.\n*\n* This variable is a space delimited list of the following values:\n*\n* - \"LandscapeLeft\"\n* - \"LandscapeRight\"\n* - \"Portrait\"\n* - \"PortraitUpsideDown\"\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3637};
3638pub const SDL_HINT_POLL_SENTINEL: Hint = Hint {
3657 name: "SDL_HINT_POLL_SENTINEL",
3658 value: "SDL_POLL_SENTINEL",
3659 doc: "/**\n* A variable controlling the use of a sentinel event when polling the event\n* queue.\n*\n* When polling for events, SDL_PumpEvents is used to gather new events from\n* devices. If a device keeps producing new events between calls to\n* SDL_PumpEvents, a poll loop will become stuck until the new events stop.\n* This is most noticeable when moving a high frequency mouse.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Disable poll sentinels.\n* - \"1\": Enable poll sentinels. (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3660};
3661pub const SDL_HINT_PREFERRED_LOCALES: Hint = Hint {
3678 name: "SDL_HINT_PREFERRED_LOCALES",
3679 value: "SDL_PREFERRED_LOCALES",
3680 doc: "/**\n* Override for SDL_GetPreferredLocales().\n*\n* If set, this will be favored over anything the OS might report for the\n* user's preferred locales. Changing this hint at runtime will not generate a\n* SDL_EVENT_LOCALE_CHANGED event (but if you can change the hint, you can\n* push your own event, if you want).\n*\n* The format of this hint is a comma-separated list of language and locale,\n* combined with an underscore, as is a common format: \"en_GB\". Locale is\n* optional: \"en\". So you might have a list like this: \"en_GB,jp,es_PT\"\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3681};
3682pub const SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE: Hint = Hint {
3704 name: "SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE",
3705 value: "SDL_QUIT_ON_LAST_WINDOW_CLOSE",
3706 doc: "/**\n* A variable that decides whether to send SDL_EVENT_QUIT when closing the\n* last window.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": SDL will not send an SDL_EVENT_QUIT event when the last window is\n* requesting to close. Note that in this case, there are still other\n* legitimate reasons one might get an SDL_EVENT_QUIT event: choosing \"Quit\"\n* from the macOS menu bar, sending a SIGINT (ctrl-c) on Unix, etc.\n* - \"1\": SDL will send a quit event when the last window is requesting to\n* close. (default)\n*\n* If there is at least one active system tray icon, SDL_EVENT_QUIT will\n* instead be sent when both the last window will be closed and the last tray\n* icon will be destroyed.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3707};
3708pub const SDL_HINT_RENDER_DIRECT3D_THREADSAFE: Hint = Hint {
3722 name: "SDL_HINT_RENDER_DIRECT3D_THREADSAFE",
3723 value: "SDL_RENDER_DIRECT3D_THREADSAFE",
3724 doc: "/**\n* A variable controlling whether the Direct3D device is initialized for\n* thread-safe operations.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Thread-safety is not enabled. (default)\n* - \"1\": Thread-safety is enabled.\n*\n* This hint should be set before creating a renderer.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3725};
3726pub const SDL_HINT_RENDER_DIRECT3D11_DEBUG: Hint = Hint {
3741 name: "SDL_HINT_RENDER_DIRECT3D11_DEBUG",
3742 value: "SDL_RENDER_DIRECT3D11_DEBUG",
3743 doc: "/**\n* A variable controlling whether to enable Direct3D 11+'s Debug Layer.\n*\n* This variable does not have any effect on the Direct3D 9 based renderer.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Disable Debug Layer use. (default)\n* - \"1\": Enable Debug Layer use.\n*\n* This hint should be set before creating a renderer.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3744};
3745pub const SDL_HINT_RENDER_DIRECT3D11_WARP: Hint = Hint {
3762 name: "SDL_HINT_RENDER_DIRECT3D11_WARP",
3763 value: "SDL_RENDER_DIRECT3D11_WARP",
3764 doc: "/**\n* A variable controlling whether to use the Direct3D 11 WARP software\n* rasterizer.\n*\n* For more information, see:\n* https://learn.microsoft.com/en-us/windows/win32/direct3darticles/directx-warp\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Disable WARP rasterizer. (default)\n* - \"1\": Enable WARP rasterizer.\n*\n* This hint should be set before creating a renderer.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
3765};
3766pub const SDL_HINT_RENDER_VULKAN_DEBUG: Hint = Hint {
3779 name: "SDL_HINT_RENDER_VULKAN_DEBUG",
3780 value: "SDL_RENDER_VULKAN_DEBUG",
3781 doc: "/**\n* A variable controlling whether to enable Vulkan Validation Layers.\n*\n* This variable can be set to the following values:\n*\n* - \"0\": Disable Validation Layer use\n* - \"1\": Enable Validation Layer use\n*\n* By default, SDL does not use Vulkan Validation Layers.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3782};
3783pub const SDL_HINT_RENDER_GPU_DEBUG: Hint = Hint {
3796 name: "SDL_HINT_RENDER_GPU_DEBUG",
3797 value: "SDL_RENDER_GPU_DEBUG",
3798 doc: "/**\n* A variable controlling whether to create the GPU device in debug mode.\n*\n* This variable can be set to the following values:\n*\n* - \"0\": Disable debug mode use (default)\n* - \"1\": Enable debug mode use\n*\n* This hint should be set before creating a renderer.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3799};
3800pub const SDL_HINT_RENDER_GPU_LOW_POWER: Hint = Hint {
3814 name: "SDL_HINT_RENDER_GPU_LOW_POWER",
3815 value: "SDL_RENDER_GPU_LOW_POWER",
3816 doc: "/**\n* A variable controlling whether to prefer a low-power GPU on multi-GPU\n* systems.\n*\n* This variable can be set to the following values:\n*\n* - \"0\": Prefer high-performance GPU (default)\n* - \"1\": Prefer low-power GPU\n*\n* This hint should be set before creating a renderer.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3817};
3818pub const SDL_HINT_RENDER_DRIVER: Hint = Hint {
3850 name: "SDL_HINT_RENDER_DRIVER",
3851 value: "SDL_RENDER_DRIVER",
3852 doc: "/**\n* A variable specifying which render driver to use.\n*\n* If the application doesn't pick a specific renderer to use, this variable\n* specifies the name of the preferred renderer. If the preferred renderer\n* can't be initialized, creating a renderer will fail.\n*\n* This variable is case insensitive and can be set to the following values:\n*\n* - \"direct3d\"\n* - \"direct3d11\"\n* - \"direct3d12\"\n* - \"opengl\"\n* - \"opengles2\"\n* - \"opengles\"\n* - \"metal\"\n* - \"vulkan\"\n* - \"gpu\"\n* - \"software\"\n*\n* This hint accepts a comma-separated list of driver names, and each will be\n* tried in the order listed when creating a renderer until one succeeds or\n* all of them fail.\n*\n* The default varies by platform, but it's the first one in the list that is\n* available on the current platform.\n*\n* This hint should be set before creating a renderer.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3853};
3854pub const SDL_HINT_RENDER_LINE_METHOD: Hint = Hint {
3871 name: "SDL_HINT_RENDER_LINE_METHOD",
3872 value: "SDL_RENDER_LINE_METHOD",
3873 doc: "/**\n* A variable controlling how the 2D render API renders lines.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Use the default line drawing method (Bresenham's line algorithm)\n* - \"1\": Use the driver point API using Bresenham's line algorithm (correct,\n* draws many points)\n* - \"2\": Use the driver line API (occasionally misses line endpoints based on\n* hardware driver quirks\n* - \"3\": Use the driver geometry API (correct, draws thicker diagonal lines)\n*\n* This hint should be set before creating a renderer.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3874};
3875pub const SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE: Hint = Hint {
3889 name: "SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE",
3890 value: "SDL_RENDER_METAL_PREFER_LOW_POWER_DEVICE",
3891 doc: "/**\n* A variable controlling whether the Metal render driver select low power\n* device over default one.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Use the preferred OS device. (default)\n* - \"1\": Select a low power device.\n*\n* This hint should be set before creating a renderer.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3892};
3893pub const SDL_HINT_RENDER_VSYNC: Hint = Hint {
3909 name: "SDL_HINT_RENDER_VSYNC",
3910 value: "SDL_RENDER_VSYNC",
3911 doc: "/**\n* A variable controlling whether updates to the SDL screen surface should be\n* synchronized with the vertical refresh, to avoid tearing.\n*\n* This hint overrides the application preference when creating a renderer.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Disable vsync. (default)\n* - \"1\": Enable vsync.\n*\n* This hint should be set before creating a renderer.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3912};
3913pub const SDL_HINT_RETURN_KEY_HIDES_IME: Hint = Hint {
3929 name: "SDL_HINT_RETURN_KEY_HIDES_IME",
3930 value: "SDL_RETURN_KEY_HIDES_IME",
3931 doc: "/**\n* A variable to control whether the return key on the soft keyboard should\n* hide the soft keyboard on Android and iOS.\n*\n* This hint sets the default value of SDL_PROP_TEXTINPUT_MULTILINE_BOOLEAN.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": The return key will be handled as a key event. (default)\n* - \"1\": The return key will hide the keyboard.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3932};
3933pub const SDL_HINT_ROG_GAMEPAD_MICE: Hint = Hint {
3951 name: "SDL_HINT_ROG_GAMEPAD_MICE",
3952 value: "SDL_ROG_GAMEPAD_MICE",
3953 doc: "/**\n* A variable containing a list of ROG gamepad capable mice.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* `0xAAAA/0xBBBB,0xCCCC/0xDDDD`\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*\n* \\sa SDL_HINT_ROG_GAMEPAD_MICE_EXCLUDED\n*/\n",
3954};
3955pub const SDL_HINT_ROG_GAMEPAD_MICE_EXCLUDED: Hint = Hint {
3974 name: "SDL_HINT_ROG_GAMEPAD_MICE_EXCLUDED",
3975 value: "SDL_ROG_GAMEPAD_MICE_EXCLUDED",
3976 doc: "/**\n* A variable containing a list of devices that are not ROG gamepad capable\n* mice.\n*\n* This will override SDL_HINT_ROG_GAMEPAD_MICE and the built in device list.\n*\n* The format of the string is a comma separated list of USB VID/PID pairs in\n* hexadecimal form, e.g.\n*\n* `0xAAAA/0xBBBB,0xCCCC/0xDDDD`\n*\n* The variable can also take the form of \"@file\", in which case the named\n* file will be loaded and interpreted as the value of the variable.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
3977};
3978pub const SDL_HINT_PS2_GS_WIDTH: Hint = Hint {
3986 name: "SDL_HINT_PS2_GS_WIDTH",
3987 value: "SDL_PS2_GS_WIDTH",
3988 doc: "/**\n* A variable controlling the width of the PS2's framebuffer in pixels.\n*\n* By default, the variable is \"640\".\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
3989};
3990pub const SDL_HINT_PS2_GS_HEIGHT: Hint = Hint {
3998 name: "SDL_HINT_PS2_GS_HEIGHT",
3999 value: "SDL_PS2_GS_HEIGHT",
4000 doc: "/**\n* A variable controlling the height of the PS2's framebuffer in pixels.\n*\n* By default, the variable is \"448\".\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
4001};
4002pub const SDL_HINT_PS2_GS_PROGRESSIVE: Hint = Hint {
4013 name: "SDL_HINT_PS2_GS_PROGRESSIVE",
4014 value: "SDL_PS2_GS_PROGRESSIVE",
4015 doc: "/**\n* A variable controlling whether the signal is interlaced or progressive.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Image is interlaced. (default)\n* - \"1\": Image is progressive.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
4016};
4017pub const SDL_HINT_PS2_GS_MODE: Hint = Hint {
4029 name: "SDL_HINT_PS2_GS_MODE",
4030 value: "SDL_PS2_GS_MODE",
4031 doc: "/**\n* A variable controlling the video mode of the console.\n*\n* The variable can be set to the following values:\n*\n* - \"\": Console-native. (default)\n* - \"NTSC\": 60hz region.\n* - \"PAL\": 50hz region.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
4032};
4033pub const SDL_HINT_RPI_VIDEO_LAYER: Hint = Hint {
4044 name: "SDL_HINT_RPI_VIDEO_LAYER",
4045 value: "SDL_RPI_VIDEO_LAYER",
4046 doc: "/**\n* A variable controlling which Dispmanx layer to use on a Raspberry PI.\n*\n* Also known as Z-order. The variable can take a negative or positive value.\n* The default is 10000.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4047};
4048pub const SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME: Hint = Hint {
4069 name: "SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME",
4070 value: "SDL_SCREENSAVER_INHIBIT_ACTIVITY_NAME",
4071 doc: "/**\n* Specify an \"activity name\" for screensaver inhibition.\n*\n* Some platforms, notably Linux desktops, list the applications which are\n* inhibiting the screensaver or other power-saving features.\n*\n* This hint lets you specify the \"activity name\" sent to the OS when\n* SDL_DisableScreenSaver() is used (or the screensaver is automatically\n* disabled). The contents of this hint are used when the screensaver is\n* disabled. You should use a string that describes what your program is doing\n* (and, therefore, why the screensaver is disabled). For example, \"Playing a\n* game\" or \"Watching a video\".\n*\n* Setting this to \"\" or leaving it unset will have SDL use a reasonable\n* default: \"Playing a game\" or something similar.\n*\n* This hint should be set before calling SDL_DisableScreenSaver()\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4072};
4073pub const SDL_HINT_SHUTDOWN_DBUS_ON_QUIT: Hint = Hint {
4091 name: "SDL_HINT_SHUTDOWN_DBUS_ON_QUIT",
4092 value: "SDL_SHUTDOWN_DBUS_ON_QUIT",
4093 doc: "/**\n* A variable controlling whether SDL calls dbus_shutdown() on quit.\n*\n* This is useful as a debug tool to validate memory leaks, but shouldn't ever\n* be set in production applications, as other libraries used by the\n* application might use dbus under the hood and this can cause crashes if\n* they continue after SDL_Quit().\n*\n* The variable can be set to the following values:\n*\n* - \"0\": SDL will not call dbus_shutdown() on quit. (default)\n* - \"1\": SDL will call dbus_shutdown() on quit.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4094};
4095pub const SDL_HINT_STORAGE_TITLE_DRIVER: Hint = Hint {
4108 name: "SDL_HINT_STORAGE_TITLE_DRIVER",
4109 value: "SDL_STORAGE_TITLE_DRIVER",
4110 doc: "/**\n* A variable that specifies a backend to use for title storage.\n*\n* By default, SDL will try all available storage backends in a reasonable\n* order until it finds one that can work, but this hint allows the app or\n* user to force a specific target, such as \"pc\" if, say, you are on Steam but\n* want to avoid SteamRemoteStorage for title data.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4111};
4112pub const SDL_HINT_STORAGE_USER_DRIVER: Hint = Hint {
4125 name: "SDL_HINT_STORAGE_USER_DRIVER",
4126 value: "SDL_STORAGE_USER_DRIVER",
4127 doc: "/**\n* A variable that specifies a backend to use for user storage.\n*\n* By default, SDL will try all available storage backends in a reasonable\n* order until it finds one that can work, but this hint allows the app or\n* user to force a specific target, such as \"pc\" if, say, you are on Steam but\n* want to avoid SteamRemoteStorage for user data.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4128};
4129pub const SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL: Hint = Hint {
4157 name: "SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL",
4158 value: "SDL_THREAD_FORCE_REALTIME_TIME_CRITICAL",
4159 doc: "/**\n* Specifies whether SDL_THREAD_PRIORITY_TIME_CRITICAL should be treated as\n* realtime.\n*\n* On some platforms, like Linux, a realtime priority thread may be subject to\n* restrictions that require special handling by the application. This hint\n* exists to let SDL know that the app is prepared to handle said\n* restrictions.\n*\n* On Linux, SDL will apply the following configuration to any thread that\n* becomes realtime:\n*\n* - The SCHED_RESET_ON_FORK bit will be set on the scheduling policy,\n* - An RLIMIT_RTTIME budget will be configured to the rtkit specified limit.\n* - Exceeding this limit will result in the kernel sending SIGKILL to the\n* app, refer to the man pages for more information.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": default platform specific behaviour\n* - \"1\": Force SDL_THREAD_PRIORITY_TIME_CRITICAL to a realtime scheduling\n* policy\n*\n* This hint should be set before calling SDL_SetCurrentThreadPriority()\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4160};
4161pub const SDL_HINT_THREAD_PRIORITY_POLICY: Hint = Hint {
4183 name: "SDL_HINT_THREAD_PRIORITY_POLICY",
4184 value: "SDL_THREAD_PRIORITY_POLICY",
4185 doc: "/**\n* A string specifying additional information to use with\n* SDL_SetCurrentThreadPriority.\n*\n* By default SDL_SetCurrentThreadPriority will make appropriate system\n* changes in order to apply a thread priority. For example on systems using\n* pthreads the scheduler policy is changed automatically to a policy that\n* works well with a given priority. Code which has specific requirements can\n* override SDL's default behavior with this hint.\n*\n* pthread hint values are \"current\", \"other\", \"fifo\" and \"rr\". Currently no\n* other platform hint values are defined but may be in the future.\n*\n* On Linux, the kernel may send SIGKILL to realtime tasks which exceed the\n* distro configured execution budget for rtkit. This budget can be queried\n* through RLIMIT_RTTIME after calling SDL_SetCurrentThreadPriority().\n*\n* This hint should be set before calling SDL_SetCurrentThreadPriority()\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4186};
4187pub const SDL_HINT_TIMER_RESOLUTION: Hint = Hint {
4206 name: "SDL_HINT_TIMER_RESOLUTION",
4207 value: "SDL_TIMER_RESOLUTION",
4208 doc: "/**\n* A variable that controls the timer resolution, in milliseconds.\n*\n* The higher resolution the timer, the more frequently the CPU services timer\n* interrupts, and the more precise delays are, but this takes up power and\n* CPU time. This hint is only used on Windows.\n*\n* See this blog post for more information:\n* http://randomascii.wordpress.com/2013/07/08/windows-timer-resolution-megawatts-wasted/\n*\n* The default value is \"1\".\n*\n* If this variable is set to \"0\", the system timer resolution is not set.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4209};
4210pub const SDL_HINT_TOUCH_MOUSE_EVENTS: Hint = Hint {
4224 name: "SDL_HINT_TOUCH_MOUSE_EVENTS",
4225 value: "SDL_TOUCH_MOUSE_EVENTS",
4226 doc: "/**\n* A variable controlling whether touch events should generate synthetic mouse\n* events.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Touch events will not generate mouse events.\n* - \"1\": Touch events will generate mouse events. (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4227};
4228pub const SDL_HINT_TRACKPAD_IS_TOUCH_ONLY: Hint = Hint {
4248 name: "SDL_HINT_TRACKPAD_IS_TOUCH_ONLY",
4249 value: "SDL_TRACKPAD_IS_TOUCH_ONLY",
4250 doc: "/**\n* A variable controlling whether trackpads should be treated as touch\n* devices.\n*\n* On macOS (and possibly other platforms in the future), SDL will report\n* touches on a trackpad as mouse input, which is generally what users expect\n* from this device; however, these are often actually full multitouch-capable\n* touch devices, so it might be preferable to some apps to treat them as\n* such.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Trackpad will send mouse events. (default)\n* - \"1\": Trackpad will send touch events.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4251};
4252pub const SDL_HINT_TV_REMOTE_AS_JOYSTICK: Hint = Hint {
4266 name: "SDL_HINT_TV_REMOTE_AS_JOYSTICK",
4267 value: "SDL_TV_REMOTE_AS_JOYSTICK",
4268 doc: "/**\n* A variable controlling whether the Android / tvOS remotes should be listed\n* as joystick devices, instead of sending keyboard events.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Remotes send enter/escape/arrow key events.\n* - \"1\": Remotes are available as 2 axis, 2 button joysticks. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4269};
4270pub const SDL_HINT_VIDEO_ALLOW_SCREENSAVER: Hint = Hint {
4283 name: "SDL_HINT_VIDEO_ALLOW_SCREENSAVER",
4284 value: "SDL_VIDEO_ALLOW_SCREENSAVER",
4285 doc: "/**\n* A variable controlling whether the screensaver is enabled.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Disable screensaver. (default)\n* - \"1\": Enable screensaver.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4286};
4287pub const SDL_HINT_VIDEO_DISPLAY_PRIORITY: Hint = Hint {
4313 name: "SDL_HINT_VIDEO_DISPLAY_PRIORITY",
4314 value: "SDL_VIDEO_DISPLAY_PRIORITY",
4315 doc: "/**\n* A comma separated list containing the names of the displays that SDL should\n* sort to the front of the display list.\n*\n* When this hint is set, displays with matching name strings will be\n* prioritized in the list of displays, as exposed by calling\n* SDL_GetDisplays(), with the first listed becoming the primary display. The\n* naming convention can vary depending on the environment, but it is usually\n* a connector name (e.g. 'DP-1', 'DP-2', 'HDMI-A-1', etc...).\n*\n* On Wayland desktops, the connector names associated with displays can be\n* found in the `name` property of the info output from `wayland-info -i\n* wl_output`. On X11 desktops, the `xrandr` utility can be used to retrieve\n* the connector names associated with displays.\n*\n* This hint is currently supported on the following drivers:\n*\n* - KMSDRM (kmsdrm)\n* - Wayland (wayland)\n* - X11 (x11)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4316};
4317pub const SDL_HINT_VIDEO_DOUBLE_BUFFER: Hint = Hint {
4339 name: "SDL_HINT_VIDEO_DOUBLE_BUFFER",
4340 value: "SDL_VIDEO_DOUBLE_BUFFER",
4341 doc: "/**\n* Tell the video driver that we only want a double buffer.\n*\n* By default, most lowlevel 2D APIs will use a triple buffer scheme that\n* wastes no CPU time on waiting for vsync after issuing a flip, but\n* introduces a frame of latency. On the other hand, using a double buffer\n* scheme instead is recommended for cases where low latency is an important\n* factor because we save a whole frame of latency.\n*\n* We do so by waiting for vsync immediately after issuing a flip, usually\n* just after eglSwapBuffers call in the backend's *_SwapWindow function.\n*\n* This hint is currently supported on the following drivers:\n*\n* - Raspberry Pi (raspberrypi)\n* - Wayland (wayland)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4342};
4343pub const SDL_HINT_VIDEO_DRIVER: Hint = Hint {
4360 name: "SDL_HINT_VIDEO_DRIVER",
4361 value: "SDL_VIDEO_DRIVER",
4362 doc: "/**\n* A variable that specifies a video backend to use.\n*\n* By default, SDL will try all available video backends in a reasonable order\n* until it finds one that can work, but this hint allows the app or user to\n* force a specific target, such as \"x11\" if, say, you are on Wayland but want\n* to try talking to the X server instead.\n*\n* This hint accepts a comma-separated list of driver names, and each will be\n* tried in the order listed during init, until one succeeds or all of them\n* fail.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4363};
4364pub const SDL_HINT_VIDEO_DUMMY_SAVE_FRAMES: Hint = Hint {
4376 name: "SDL_HINT_VIDEO_DUMMY_SAVE_FRAMES",
4377 value: "SDL_VIDEO_DUMMY_SAVE_FRAMES",
4378 doc: "/**\n* A variable controlling whether the dummy video driver saves output frames.\n*\n* - \"0\": Video frames are not saved to disk. (default)\n* - \"1\": Video frames are saved to files in the format \"SDL_windowX-Y.bmp\",\n* where X is the window ID, and Y is the frame number.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4379};
4380pub const SDL_HINT_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK: Hint = Hint {
4393 name: "SDL_HINT_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK",
4394 value: "SDL_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK",
4395 doc: "/**\n* If eglGetPlatformDisplay fails, fall back to calling eglGetDisplay.\n*\n* The variable can be set to one of the following values:\n*\n* - \"0\": Do not fall back to eglGetDisplay.\n* - \"1\": Fall back to eglGetDisplay if eglGetPlatformDisplay fails. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4396};
4397pub const SDL_HINT_VIDEO_FORCE_EGL: Hint = Hint {
4412 name: "SDL_HINT_VIDEO_FORCE_EGL",
4413 value: "SDL_VIDEO_FORCE_EGL",
4414 doc: "/**\n* A variable controlling whether the OpenGL context should be created with\n* EGL.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Use platform-specific GL context creation API (GLX, WGL, CGL, etc).\n* (default)\n* - \"1\": Use EGL\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4415};
4416pub const SDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES: Hint = Hint {
4433 name: "SDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES",
4434 value: "SDL_VIDEO_MAC_FULLSCREEN_SPACES",
4435 doc: "/**\n* A variable that specifies the policy for fullscreen Spaces on macOS.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Disable Spaces support (FULLSCREEN_DESKTOP won't use them and\n* SDL_WINDOW_RESIZABLE windows won't offer the \"fullscreen\" button on their\n* titlebars).\n* - \"1\": Enable Spaces support (FULLSCREEN_DESKTOP will use them and\n* SDL_WINDOW_RESIZABLE windows will offer the \"fullscreen\" button on their\n* titlebars). (default)\n*\n* This hint should be set before creating a window.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4436};
4437pub const SDL_HINT_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY: Hint = Hint {
4457 name: "SDL_HINT_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY",
4458 value: "SDL_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY",
4459 doc: "/**\n* A variable that specifies the menu visibility when a window is fullscreen\n* in Spaces on macOS.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": The menu will be hidden when the window is in a fullscreen space,\n* and not accessible by moving the mouse to the top of the screen.\n* - \"1\": The menu will be accessible when the window is in a fullscreen\n* space.\n* - \"auto\": The menu will be hidden if fullscreen mode was toggled on\n* programmatically via `SDL_SetWindowFullscreen()`, and accessible if\n* fullscreen was entered via the \"fullscreen\" button on the window title\n* bar. (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4460};
4461pub const SDL_HINT_VIDEO_METAL_AUTO_RESIZE_DRAWABLE: Hint = Hint {
4477 name: "SDL_HINT_VIDEO_METAL_AUTO_RESIZE_DRAWABLE",
4478 value: "SDL_VIDEO_METAL_AUTO_RESIZE_DRAWABLE",
4479 doc: "/**\n* A variable indicating whether the metal layer drawable size should be\n* updated for the SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED event on macOS.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": the metal layer drawable size will not be updated on the\n* SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED event.\n* - \"1\": the metal layer drawable size will be updated on the\n* SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED event. (default)\n*\n* This hint should be set before SDL_Metal_CreateView called.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
4480};
4481pub const SDL_HINT_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE: Hint = Hint {
4500 name: "SDL_HINT_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE",
4501 value: "SDL_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE",
4502 doc: "/**\n* A variable controlling whether SDL will attempt to automatically set the\n* destination display to a mode most closely matching that of the previous\n* display if an exclusive fullscreen window is moved onto it.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": SDL will not attempt to automatically set a matching mode on the\n* destination display. If an exclusive fullscreen window is moved to a new\n* display, the window will become fullscreen desktop.\n* - \"1\": SDL will attempt to automatically set a mode on the destination\n* display that most closely matches the mode of the display that the\n* exclusive fullscreen window was previously on. (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
4503};
4504pub const SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS: Hint = Hint {
4521 name: "SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS",
4522 value: "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS",
4523 doc: "/**\n* A variable controlling whether fullscreen windows are minimized when they\n* lose focus.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Fullscreen windows will not be minimized when they lose focus.\n* - \"1\": Fullscreen windows are minimized when they lose focus.\n* - \"auto\": Fullscreen windows are minimized when they lose focus if they use\n* exclusive fullscreen modes, so the desktop video mode is restored.\n* (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4524};
4525pub const SDL_HINT_VIDEO_OFFSCREEN_SAVE_FRAMES: Hint = Hint {
4541 name: "SDL_HINT_VIDEO_OFFSCREEN_SAVE_FRAMES",
4542 value: "SDL_VIDEO_OFFSCREEN_SAVE_FRAMES",
4543 doc: "/**\n* A variable controlling whether the offscreen video driver saves output\n* frames.\n*\n* This only saves frames that are generated using software rendering, not\n* accelerated OpenGL rendering.\n*\n* - \"0\": Video frames are not saved to disk. (default)\n* - \"1\": Video frames are saved to files in the format \"SDL_windowX-Y.bmp\",\n* where X is the window ID, and Y is the frame number.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4544};
4545pub const SDL_HINT_VIDEO_SYNC_WINDOW_OPERATIONS: Hint = Hint {
4570 name: "SDL_HINT_VIDEO_SYNC_WINDOW_OPERATIONS",
4571 value: "SDL_VIDEO_SYNC_WINDOW_OPERATIONS",
4572 doc: "/**\n* A variable controlling whether all window operations will block until\n* complete.\n*\n* Window systems that run asynchronously may not have the results of window\n* operations that resize or move the window applied immediately upon the\n* return of the requesting function. Setting this hint will cause such\n* operations to block after every call until the pending operation has\n* completed. Setting this to '1' is the equivalent of calling\n* SDL_SyncWindow() after every function call.\n*\n* Be aware that amount of time spent blocking while waiting for window\n* operations to complete can be quite lengthy, as animations may have to\n* complete, which can take upwards of multiple seconds in some cases.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Window operations are non-blocking. (default)\n* - \"1\": Window operations will block until completed.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4573};
4574pub const SDL_HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR: Hint = Hint {
4591 name: "SDL_HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR",
4592 value: "SDL_VIDEO_WAYLAND_ALLOW_LIBDECOR",
4593 doc: "/**\n* A variable controlling whether the libdecor Wayland backend is allowed to\n* be used.\n*\n* libdecor is used over xdg-shell when xdg-decoration protocol is\n* unavailable.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": libdecor use is disabled.\n* - \"1\": libdecor use is enabled. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4594};
4595pub const SDL_HINT_VIDEO_WAYLAND_MODE_EMULATION: Hint = Hint {
4614 name: "SDL_HINT_VIDEO_WAYLAND_MODE_EMULATION",
4615 value: "SDL_VIDEO_WAYLAND_MODE_EMULATION",
4616 doc: "/**\n* A variable controlling whether video mode emulation is enabled under\n* Wayland.\n*\n* When this hint is set, a standard set of emulated CVT video modes will be\n* exposed for use by the application. If it is disabled, the only modes\n* exposed will be the logical desktop size and, in the case of a scaled\n* desktop, the native display resolution.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Video mode emulation is disabled.\n* - \"1\": Video mode emulation is enabled. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4617};
4618pub const SDL_HINT_VIDEO_WAYLAND_MODE_SCALING: Hint = Hint {
4639 name: "SDL_HINT_VIDEO_WAYLAND_MODE_SCALING",
4640 value: "SDL_VIDEO_WAYLAND_MODE_SCALING",
4641 doc: "/**\n* A variable controlling how modes with a non-native aspect ratio are\n* displayed under Wayland.\n*\n* When this hint is set, the requested scaling will be used when displaying\n* fullscreen video modes that don't match the display's native aspect ratio.\n* This is contingent on compositor viewport support.\n*\n* The variable can be set to the following values:\n*\n* - \"aspect\" - Video modes will be displayed scaled, in their proper aspect\n* ratio, with black bars.\n* - \"stretch\" - Video modes will be scaled to fill the entire display.\n* (default)\n* - \"none\" - Video modes will be displayed as 1:1 with no scaling.\n*\n* This hint should be set before creating a window.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4642};
4643pub const SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR: Hint = Hint {
4662 name: "SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR",
4663 value: "SDL_VIDEO_WAYLAND_PREFER_LIBDECOR",
4664 doc: "/**\n* A variable controlling whether the libdecor Wayland backend is preferred\n* over native decorations.\n*\n* When this hint is set, libdecor will be used to provide window decorations,\n* even if xdg-decoration is available. (Note that, by default, libdecor will\n* use xdg-decoration itself if available).\n*\n* The variable can be set to the following values:\n*\n* - \"0\": libdecor is enabled only if server-side decorations are unavailable.\n* (default)\n* - \"1\": libdecor is always enabled if available.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4665};
4666pub const SDL_HINT_VIDEO_WAYLAND_SCALE_TO_DISPLAY: Hint = Hint {
4704 name: "SDL_HINT_VIDEO_WAYLAND_SCALE_TO_DISPLAY",
4705 value: "SDL_VIDEO_WAYLAND_SCALE_TO_DISPLAY",
4706 doc: "/**\n* A variable forcing non-DPI-aware Wayland windows to output at 1:1 scaling.\n*\n* This must be set before initializing the video subsystem.\n*\n* When this hint is set, Wayland windows that are not flagged as being\n* DPI-aware will be output with scaling designed to force 1:1 pixel mapping.\n*\n* This is intended to allow legacy applications to be displayed without\n* desktop scaling being applied, and has issues with certain display\n* configurations, as this forces the window to behave in a way that Wayland\n* desktops were not designed to accommodate:\n*\n* - Rounding errors can result with odd window sizes and/or desktop scales,\n* which can cause the window contents to appear slightly blurry.\n* - Positioning the window may be imprecise due to unit conversions and\n* rounding.\n* - The window may be unusably small on scaled desktops.\n* - The window may jump in size when moving between displays of different\n* scale factors.\n* - Displays may appear to overlap when using a multi-monitor setup with\n* scaling enabled.\n* - Possible loss of cursor precision due to the logical size of the window\n* being reduced.\n*\n* New applications should be designed with proper DPI awareness handling\n* instead of enabling this.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Windows will be scaled normally.\n* - \"1\": Windows will be forced to scale to achieve 1:1 output.\n*\n* This hint should be set before creating a window.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4707};
4708pub const SDL_HINT_VIDEO_WIN_D3DCOMPILER: Hint = Hint {
4729 name: "SDL_HINT_VIDEO_WIN_D3DCOMPILER",
4730 value: "SDL_VIDEO_WIN_D3DCOMPILER",
4731 doc: "/**\n* A variable specifying which shader compiler to preload when using the\n* Chrome ANGLE binaries.\n*\n* SDL has EGL and OpenGL ES2 support on Windows via the ANGLE project. It can\n* use two different sets of binaries, those compiled by the user from source\n* or those provided by the Chrome browser. In the later case, these binaries\n* require that SDL loads a DLL providing the shader compiler.\n*\n* The variable can be set to the following values:\n*\n* - \"d3dcompiler_46.dll\" - best for Vista or later. (default)\n* - \"d3dcompiler_43.dll\" - for XP support.\n* - \"none\" - do not load any library, useful if you compiled ANGLE from\n* source and included the compiler in your binaries.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4732};
4733pub const SDL_HINT_VIDEO_X11_EXTERNAL_WINDOW_INPUT: Hint = Hint {
4748 name: "SDL_HINT_VIDEO_X11_EXTERNAL_WINDOW_INPUT",
4749 value: "SDL_VIDEO_X11_EXTERNAL_WINDOW_INPUT",
4750 doc: "/**\n* A variable controlling whether SDL should call XSelectInput() to enable\n* input events on X11 windows wrapped by SDL windows.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Don't call XSelectInput(), assuming the native window code has done\n* it already.\n* - \"1\": Call XSelectInput() to enable input events. (default)\n*\n* This hint should be set before creating a window.\n*\n* \\since This hint is available since SDL 3.2.10.\n*/\n",
4751};
4752pub const SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR: Hint = Hint {
4766 name: "SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR",
4767 value: "SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR",
4768 doc: "/**\n* A variable controlling whether the X11 _NET_WM_BYPASS_COMPOSITOR hint\n* should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Disable _NET_WM_BYPASS_COMPOSITOR.\n* - \"1\": Enable _NET_WM_BYPASS_COMPOSITOR. (default)\n*\n* This hint should be set before creating a window.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4769};
4770pub const SDL_HINT_VIDEO_X11_NET_WM_PING: Hint = Hint {
4788 name: "SDL_HINT_VIDEO_X11_NET_WM_PING",
4789 value: "SDL_VIDEO_X11_NET_WM_PING",
4790 doc: "/**\n* A variable controlling whether the X11 _NET_WM_PING protocol should be\n* supported.\n*\n* By default SDL will use _NET_WM_PING, but for applications that know they\n* will not always be able to respond to ping requests in a timely manner they\n* can turn it off to avoid the window manager thinking the app is hung.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Disable _NET_WM_PING.\n* - \"1\": Enable _NET_WM_PING. (default)\n*\n* This hint should be set before creating a window.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4791};
4792pub const SDL_HINT_VIDEO_X11_NODIRECTCOLOR: Hint = Hint {
4805 name: "SDL_HINT_VIDEO_X11_NODIRECTCOLOR",
4806 value: "SDL_VIDEO_X11_NODIRECTCOLOR",
4807 doc: "/**\n* A variable controlling whether SDL uses DirectColor visuals.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Disable DirectColor visuals.\n* - \"1\": Enable DirectColor visuals. (default)\n*\n* This hint should be set before initializing the video subsystem.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4808};
4809pub const SDL_HINT_VIDEO_X11_SCALING_FACTOR: Hint = Hint {
4819 name: "SDL_HINT_VIDEO_X11_SCALING_FACTOR",
4820 value: "SDL_VIDEO_X11_SCALING_FACTOR",
4821 doc: "/**\n* A variable forcing the content scaling factor for X11 displays.\n*\n* The variable can be set to a floating point value in the range 1.0-10.0f\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4822};
4823pub const SDL_HINT_VIDEO_X11_VISUALID: Hint = Hint {
4831 name: "SDL_HINT_VIDEO_X11_VISUALID",
4832 value: "SDL_VIDEO_X11_VISUALID",
4833 doc: "/**\n* A variable forcing the visual ID used for X11 display modes.\n*\n* This hint should be set before initializing the video subsystem.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4834};
4835pub const SDL_HINT_VIDEO_X11_WINDOW_VISUALID: Hint = Hint {
4843 name: "SDL_HINT_VIDEO_X11_WINDOW_VISUALID",
4844 value: "SDL_VIDEO_X11_WINDOW_VISUALID",
4845 doc: "/**\n* A variable forcing the visual ID chosen for new X11 windows.\n*\n* This hint should be set before creating a window.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4846};
4847pub const SDL_HINT_VIDEO_X11_XRANDR: Hint = Hint {
4860 name: "SDL_HINT_VIDEO_X11_XRANDR",
4861 value: "SDL_VIDEO_X11_XRANDR",
4862 doc: "/**\n* A variable controlling whether the X11 XRandR extension should be used.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Disable XRandR.\n* - \"1\": Enable XRandR. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4863};
4864pub const SDL_HINT_VITA_ENABLE_BACK_TOUCH: Hint = Hint {
4878 name: "SDL_HINT_VITA_ENABLE_BACK_TOUCH",
4879 value: "SDL_VITA_ENABLE_BACK_TOUCH",
4880 doc: "/**\n* A variable controlling whether touch should be enabled on the back panel of\n* the PlayStation Vita.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Disable touch on the back panel.\n* - \"1\": Enable touch on the back panel. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4881};
4882pub const SDL_HINT_VITA_ENABLE_FRONT_TOUCH: Hint = Hint {
4896 name: "SDL_HINT_VITA_ENABLE_FRONT_TOUCH",
4897 value: "SDL_VITA_ENABLE_FRONT_TOUCH",
4898 doc: "/**\n* A variable controlling whether touch should be enabled on the front panel\n* of the PlayStation Vita.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Disable touch on the front panel.\n* - \"1\": Enable touch on the front panel. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4899};
4900pub const SDL_HINT_VITA_MODULE_PATH: Hint = Hint {
4910 name: "SDL_HINT_VITA_MODULE_PATH",
4911 value: "SDL_VITA_MODULE_PATH",
4912 doc: "/**\n* A variable controlling the module path on the PlayStation Vita.\n*\n* This hint defaults to \"app0:module\"\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4913};
4914pub const SDL_HINT_VITA_PVR_INIT: Hint = Hint {
4926 name: "SDL_HINT_VITA_PVR_INIT",
4927 value: "SDL_VITA_PVR_INIT",
4928 doc: "/**\n* A variable controlling whether to perform PVR initialization on the\n* PlayStation Vita.\n*\n* - \"0\": Skip PVR initialization.\n* - \"1\": Perform the normal PVR initialization. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4929};
4930pub const SDL_HINT_VITA_RESOLUTION: Hint = Hint {
4944 name: "SDL_HINT_VITA_RESOLUTION",
4945 value: "SDL_VITA_RESOLUTION",
4946 doc: "/**\n* A variable overriding the resolution reported on the PlayStation Vita.\n*\n* The variable can be set to the following values:\n*\n* - \"544\": 544p (default)\n* - \"720\": 725p for PSTV\n* - \"1080\": 1088i for PSTV\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4947};
4948pub const SDL_HINT_VITA_PVR_OPENGL: Hint = Hint {
4962 name: "SDL_HINT_VITA_PVR_OPENGL",
4963 value: "SDL_VITA_PVR_OPENGL",
4964 doc: "/**\n* A variable controlling whether OpenGL should be used instead of OpenGL ES\n* on the PlayStation Vita.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Use OpenGL ES. (default)\n* - \"1\": Use OpenGL.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4965};
4966pub const SDL_HINT_VITA_TOUCH_MOUSE_DEVICE: Hint = Hint {
4981 name: "SDL_HINT_VITA_TOUCH_MOUSE_DEVICE",
4982 value: "SDL_VITA_TOUCH_MOUSE_DEVICE",
4983 doc: "/**\n* A variable controlling which touchpad should generate synthetic mouse\n* events.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Only front touchpad should generate mouse events. (default)\n* - \"1\": Only back touchpad should generate mouse events.\n* - \"2\": Both touchpads should generate mouse events.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4984};
4985pub const SDL_HINT_VULKAN_DISPLAY: Hint = Hint {
4995 name: "SDL_HINT_VULKAN_DISPLAY",
4996 value: "SDL_VULKAN_DISPLAY",
4997 doc: "/**\n* A variable overriding the display index used in SDL_Vulkan_CreateSurface()\n*\n* The display index starts at 0, which is the default.\n*\n* This hint should be set before calling SDL_Vulkan_CreateSurface()\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
4998};
4999pub const SDL_HINT_VULKAN_LIBRARY: Hint = Hint {
5008 name: "SDL_HINT_VULKAN_LIBRARY",
5009 value: "SDL_VULKAN_LIBRARY",
5010 doc: "/**\n* Specify the Vulkan library to load.\n*\n* This hint should be set before creating a Vulkan window or calling\n* SDL_Vulkan_LoadLibrary().\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5011};
5012pub const SDL_HINT_WAVE_FACT_CHUNK: Hint = Hint {
5043 name: "SDL_HINT_WAVE_FACT_CHUNK",
5044 value: "SDL_WAVE_FACT_CHUNK",
5045 doc: "/**\n* A variable controlling how the fact chunk affects the loading of a WAVE\n* file.\n*\n* The fact chunk stores information about the number of samples of a WAVE\n* file. The Standards Update from Microsoft notes that this value can be used\n* to 'determine the length of the data in seconds'. This is especially useful\n* for compressed formats (for which this is a mandatory chunk) if they\n* produce multiple sample frames per block and truncating the block is not\n* allowed. The fact chunk can exactly specify how many sample frames there\n* should be in this case.\n*\n* Unfortunately, most application seem to ignore the fact chunk and so SDL\n* ignores it by default as well.\n*\n* The variable can be set to the following values:\n*\n* - \"truncate\" - Use the number of samples to truncate the wave data if the\n* fact chunk is present and valid.\n* - \"strict\" - Like \"truncate\", but raise an error if the fact chunk is\n* invalid, not present for non-PCM formats, or if the data chunk doesn't\n* have that many samples.\n* - \"ignorezero\" - Like \"truncate\", but ignore fact chunk if the number of\n* samples is zero.\n* - \"ignore\" - Ignore fact chunk entirely. (default)\n*\n* This hint should be set before calling SDL_LoadWAV() or SDL_LoadWAV_IO()\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5046};
5047pub const SDL_HINT_WAVE_CHUNK_LIMIT: Hint = Hint {
5058 name: "SDL_HINT_WAVE_CHUNK_LIMIT",
5059 value: "SDL_WAVE_CHUNK_LIMIT",
5060 doc: "/**\n* A variable controlling the maximum number of chunks in a WAVE file.\n*\n* This sets an upper bound on the number of chunks in a WAVE file to avoid\n* wasting time on malformed or corrupt WAVE files. This defaults to \"10000\".\n*\n* This hint should be set before calling SDL_LoadWAV() or SDL_LoadWAV_IO()\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5061};
5062pub const SDL_HINT_WAVE_RIFF_CHUNK_SIZE: Hint = Hint {
5089 name: "SDL_HINT_WAVE_RIFF_CHUNK_SIZE",
5090 value: "SDL_WAVE_RIFF_CHUNK_SIZE",
5091 doc: "/**\n* A variable controlling how the size of the RIFF chunk affects the loading\n* of a WAVE file.\n*\n* The size of the RIFF chunk (which includes all the sub-chunks of the WAVE\n* file) is not always reliable. In case the size is wrong, it's possible to\n* just ignore it and step through the chunks until a fixed limit is reached.\n*\n* Note that files that have trailing data unrelated to the WAVE file or\n* corrupt files may slow down the loading process without a reliable\n* boundary. By default, SDL stops after 10000 chunks to prevent wasting time.\n* Use SDL_HINT_WAVE_CHUNK_LIMIT to adjust this value.\n*\n* The variable can be set to the following values:\n*\n* - \"force\" - Always use the RIFF chunk size as a boundary for the chunk\n* search.\n* - \"ignorezero\" - Like \"force\", but a zero size searches up to 4 GiB.\n* (default)\n* - \"ignore\" - Ignore the RIFF chunk size and always search up to 4 GiB.\n* - \"maximum\" - Search for chunks until the end of file. (not recommended)\n*\n* This hint should be set before calling SDL_LoadWAV() or SDL_LoadWAV_IO()\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5092};
5093pub const SDL_HINT_WAVE_TRUNCATION: Hint = Hint {
5112 name: "SDL_HINT_WAVE_TRUNCATION",
5113 value: "SDL_WAVE_TRUNCATION",
5114 doc: "/**\n* A variable controlling how a truncated WAVE file is handled.\n*\n* A WAVE file is considered truncated if any of the chunks are incomplete or\n* the data chunk size is not a multiple of the block size. By default, SDL\n* decodes until the first incomplete block, as most applications seem to do.\n*\n* The variable can be set to the following values:\n*\n* - \"verystrict\" - Raise an error if the file is truncated.\n* - \"strict\" - Like \"verystrict\", but the size of the RIFF chunk is ignored.\n* - \"dropframe\" - Decode until the first incomplete sample frame.\n* - \"dropblock\" - Decode until the first incomplete block. (default)\n*\n* This hint should be set before calling SDL_LoadWAV() or SDL_LoadWAV_IO()\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5115};
5116pub const SDL_HINT_WINDOW_ACTIVATE_WHEN_RAISED: Hint = Hint {
5132 name: "SDL_HINT_WINDOW_ACTIVATE_WHEN_RAISED",
5133 value: "SDL_WINDOW_ACTIVATE_WHEN_RAISED",
5134 doc: "/**\n* A variable controlling whether the window is activated when the\n* SDL_RaiseWindow function is called.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": The window is not activated when the SDL_RaiseWindow function is\n* called.\n* - \"1\": The window is activated when the SDL_RaiseWindow function is called.\n* (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5135};
5136pub const SDL_HINT_WINDOW_ACTIVATE_WHEN_SHOWN: Hint = Hint {
5152 name: "SDL_HINT_WINDOW_ACTIVATE_WHEN_SHOWN",
5153 value: "SDL_WINDOW_ACTIVATE_WHEN_SHOWN",
5154 doc: "/**\n* A variable controlling whether the window is activated when the\n* SDL_ShowWindow function is called.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": The window is not activated when the SDL_ShowWindow function is\n* called.\n* - \"1\": The window is activated when the SDL_ShowWindow function is called.\n* (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5155};
5156pub const SDL_HINT_WINDOW_ALLOW_TOPMOST: Hint = Hint {
5173 name: "SDL_HINT_WINDOW_ALLOW_TOPMOST",
5174 value: "SDL_WINDOW_ALLOW_TOPMOST",
5175 doc: "/**\n* If set to \"0\" then never set the top-most flag on an SDL Window even if the\n* application requests it.\n*\n* This is a debugging aid for developers and not expected to be used by end\n* users.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": don't allow topmost\n* - \"1\": allow topmost (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5176};
5177pub const SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN: Hint = Hint {
5192 name: "SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN",
5193 value: "SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN",
5194 doc: "/**\n* A variable controlling whether the window frame and title bar are\n* interactive when the cursor is hidden.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": The window frame is not interactive when the cursor is hidden (no\n* move, resize, etc).\n* - \"1\": The window frame is interactive when the cursor is hidden. (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5195};
5196pub const SDL_HINT_WINDOWS_CLOSE_ON_ALT_F4: Hint = Hint {
5211 name: "SDL_HINT_WINDOWS_CLOSE_ON_ALT_F4",
5212 value: "SDL_WINDOWS_CLOSE_ON_ALT_F4",
5213 doc: "/**\n* A variable controlling whether SDL generates window-close events for Alt+F4\n* on Windows.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": SDL will only do normal key handling for Alt+F4.\n* - \"1\": SDL will generate a window-close event when it sees Alt+F4.\n* (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5214};
5215pub const SDL_HINT_WINDOWS_ENABLE_MENU_MNEMONICS: Hint = Hint {
5243 name: "SDL_HINT_WINDOWS_ENABLE_MENU_MNEMONICS",
5244 value: "SDL_WINDOWS_ENABLE_MENU_MNEMONICS",
5245 doc: "/**\n* A variable controlling whether menus can be opened with their keyboard\n* shortcut (Alt+mnemonic).\n*\n* If the mnemonics are enabled, then menus can be opened by pressing the Alt\n* key and the corresponding mnemonic (for example, Alt+F opens the File\n* menu). However, in case an invalid mnemonic is pressed, Windows makes an\n* audible beep to convey that nothing happened. This is true even if the\n* window has no menu at all!\n*\n* Because most SDL applications don't have menus, and some want to use the\n* Alt key for other purposes, SDL disables mnemonics (and the beeping) by\n* default.\n*\n* Note: This also affects keyboard events: with mnemonics enabled, when a\n* menu is opened from the keyboard, you will not receive a KEYUP event for\n* the mnemonic key, and *might* not receive one for Alt.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Alt+mnemonic does nothing, no beeping. (default)\n* - \"1\": Alt+mnemonic opens menus, invalid mnemonics produce a beep.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5246};
5247pub const SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP: Hint = Hint {
5261 name: "SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP",
5262 value: "SDL_WINDOWS_ENABLE_MESSAGELOOP",
5263 doc: "/**\n* A variable controlling whether the windows message loop is processed by\n* SDL.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": The window message loop is not run.\n* - \"1\": The window message loop is processed in SDL_PumpEvents(). (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5264};
5265pub const SDL_HINT_WINDOWS_GAMEINPUT: Hint = Hint {
5279 name: "SDL_HINT_WINDOWS_GAMEINPUT",
5280 value: "SDL_WINDOWS_GAMEINPUT",
5281 doc: "/**\n* A variable controlling whether GameInput is used for raw keyboard and mouse\n* on Windows.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": GameInput is not used for raw keyboard and mouse events. (default)\n* - \"1\": GameInput is used for raw keyboard and mouse events, if available.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5282};
5283pub const SDL_HINT_WINDOWS_RAW_KEYBOARD: Hint = Hint {
5296 name: "SDL_HINT_WINDOWS_RAW_KEYBOARD",
5297 value: "SDL_WINDOWS_RAW_KEYBOARD",
5298 doc: "/**\n* A variable controlling whether raw keyboard events are used on Windows.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": The Windows message loop is used for keyboard events. (default)\n* - \"1\": Low latency raw keyboard events are used.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5299};
5300pub const SDL_HINT_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS: Hint = Hint {
5321 name: "SDL_HINT_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS",
5322 value: "SDL_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS",
5323 doc: "/**\n* A variable controlling whether or not the RIDEV_NOHOTKEYS flag is set when\n* enabling Windows raw keyboard events.\n*\n* This blocks any hotkeys that have been registered by applications from\n* having any effect beyond generating raw WM_INPUT events.\n*\n* This flag does not affect system-hotkeys like ALT-TAB or CTRL-ALT-DEL, but\n* does affect the Windows Logo key since it is a userland hotkey registered\n* by explorer.exe.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Hotkeys are not excluded. (default)\n* - \"1\": Hotkeys are excluded.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.4.0.\n*/\n",
5324};
5325pub const SDL_HINT_WINDOWS_RAW_KEYBOARD_INPUTSINK: Hint = Hint {
5342 name: "SDL_HINT_WINDOWS_RAW_KEYBOARD_INPUTSINK",
5343 value: "SDL_WINDOWS_RAW_KEYBOARD_INPUTSINK",
5344 doc: "/**\n* A variable controlling whether the RIDEV_INPUTSINK flag is set when\n* enabling Windows raw keyboard events.\n*\n* This enables the window to still receive input even if not in foreground.\n*\n* Focused windows that receive text input will still prevent input events\n* from triggering.\n*\n* - \"0\": Input is not received when not in focus or foreground. (default)\n* - \"1\": Input will be received even when not in focus or foreground.\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.4.4.\n*/\n",
5345};
5346pub const SDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL: Hint = Hint {
5366 name: "SDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL",
5367 value: "SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL",
5368 doc: "/**\n* A variable controlling whether SDL uses Kernel Semaphores on Windows.\n*\n* Kernel Semaphores are inter-process and require a context switch on every\n* interaction. On Windows 8 and newer, the WaitOnAddress API is available.\n* Using that and atomics to implement semaphores increases performance. SDL\n* will fall back to Kernel Objects on older OS versions or if forced to by\n* this hint.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Use Atomics and WaitOnAddress API when available, otherwise fall\n* back to Kernel Objects. (default)\n* - \"1\": Force the use of Kernel Objects in all cases.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5369};
5370pub const SDL_HINT_WINDOWS_INTRESOURCE_ICON: Hint = Hint {
5379 name: "SDL_HINT_WINDOWS_INTRESOURCE_ICON",
5380 value: "SDL_WINDOWS_INTRESOURCE_ICON",
5381 doc: "/**\n* A variable to specify custom icon resource id from RC file on Windows\n* platform.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5382};
5383pub const SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL: Hint = Hint {
5392 name: "SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL",
5393 value: "SDL_WINDOWS_INTRESOURCE_ICON_SMALL",
5394 doc: "/**\n* A variable to specify custom icon resource id from RC file on Windows\n* platform.\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5395};
5396pub const SDL_HINT_WINDOWS_USE_D3D9EX: Hint = Hint {
5421 name: "SDL_HINT_WINDOWS_USE_D3D9EX",
5422 value: "SDL_WINDOWS_USE_D3D9EX",
5423 doc: "/**\n* A variable controlling whether SDL uses the D3D9Ex API introduced in\n* Windows Vista, instead of normal D3D9.\n*\n* Direct3D 9Ex contains changes to state management that can eliminate device\n* loss errors during scenarios like Alt+Tab or UAC prompts. D3D9Ex may\n* require some changes to your application to cope with the new behavior, so\n* this is disabled by default.\n*\n* For more information on Direct3D 9Ex, see:\n*\n* - https://docs.microsoft.com/en-us/windows/win32/direct3darticles/graphics-apis-in-windows-vista#direct3d-9ex\n* - https://docs.microsoft.com/en-us/windows/win32/direct3darticles/direct3d-9ex-improvements\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Use the original Direct3D 9 API. (default)\n* - \"1\": Use the Direct3D 9Ex API on Vista and later (and fall back if D3D9Ex\n* is unavailable)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5424};
5425pub const SDL_HINT_WINDOWS_ERASE_BACKGROUND_MODE: Hint = Hint {
5441 name: "SDL_HINT_WINDOWS_ERASE_BACKGROUND_MODE",
5442 value: "SDL_WINDOWS_ERASE_BACKGROUND_MODE",
5443 doc: "/**\n* A variable controlling whether SDL will clear the window contents when the\n* WM_ERASEBKGND message is received.\n*\n* The variable can be set to the following values:\n*\n* - \"0\"/\"never\": Never clear the window.\n* - \"1\"/\"initial\": Clear the window when the first WM_ERASEBKGND event fires.\n* (default)\n* - \"2\"/\"always\": Clear the window on every WM_ERASEBKGND event.\n*\n* This hint should be set before creating a window.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5444};
5445pub const SDL_HINT_X11_FORCE_OVERRIDE_REDIRECT: Hint = Hint {
5465 name: "SDL_HINT_X11_FORCE_OVERRIDE_REDIRECT",
5466 value: "SDL_X11_FORCE_OVERRIDE_REDIRECT",
5467 doc: "/**\n* A variable controlling whether X11 windows are marked as override-redirect.\n*\n* If set, this _might_ increase framerate at the expense of the desktop not\n* working as expected. Override-redirect windows aren't noticed by the window\n* manager at all.\n*\n* You should probably only use this for fullscreen windows, and you probably\n* shouldn't even use it for that. But it's here if you want to try!\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Do not mark the window as override-redirect. (default)\n* - \"1\": Mark the window as override-redirect.\n*\n* This hint should be set before creating a window.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5468};
5469pub const SDL_HINT_X11_WINDOW_TYPE: Hint = Hint {
5485 name: "SDL_HINT_X11_WINDOW_TYPE",
5486 value: "SDL_X11_WINDOW_TYPE",
5487 doc: "/**\n* A variable specifying the type of an X11 window.\n*\n* During SDL_CreateWindow, SDL uses the _NET_WM_WINDOW_TYPE X11 property to\n* report to the window manager the type of window it wants to create. This\n* might be set to various things if SDL_WINDOW_TOOLTIP or\n* SDL_WINDOW_POPUP_MENU, etc, were specified. For \"normal\" windows that\n* haven't set a specific type, this hint can be used to specify a custom\n* type. For example, a dock window might set this to\n* \"_NET_WM_WINDOW_TYPE_DOCK\".\n*\n* This hint should be set before creating a window.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5488};
5489pub const SDL_HINT_X11_XCB_LIBRARY: Hint = Hint {
5499 name: "SDL_HINT_X11_XCB_LIBRARY",
5500 value: "SDL_X11_XCB_LIBRARY",
5501 doc: "/**\n* Specify the XCB library to load for the X11 driver.\n*\n* The default is platform-specific, often \"libX11-xcb.so.1\".\n*\n* This hint should be set before initializing the video subsystem.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5502};
5503pub const SDL_HINT_XINPUT_ENABLED: Hint = Hint {
5517 name: "SDL_HINT_XINPUT_ENABLED",
5518 value: "SDL_XINPUT_ENABLED",
5519 doc: "/**\n* A variable controlling whether XInput should be used for controller\n* handling.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": XInput is not enabled.\n* - \"1\": XInput is enabled. (default)\n*\n* This hint should be set before SDL is initialized.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5520};
5521pub const SDL_HINT_ASSERT: Hint = Hint {
5544 name: "SDL_HINT_ASSERT",
5545 value: "SDL_ASSERT",
5546 doc: "/**\n* A variable controlling response to SDL_assert failures.\n*\n* The variable can be set to the following case-sensitive values:\n*\n* - \"abort\": Program terminates immediately.\n* - \"break\": Program triggers a debugger breakpoint.\n* - \"retry\": Program reruns the SDL_assert's test again.\n* - \"ignore\": Program continues on, ignoring this assertion failure this\n* time.\n* - \"always_ignore\": Program continues on, ignoring this assertion failure\n* for the rest of the run.\n*\n* Note that SDL_SetAssertionHandler offers a programmatic means to deal with\n* assertion failures through a callback, and this hint is largely intended to\n* be used via environment variables by end users and automated tools.\n*\n* This hint should be set before an assertion failure is triggered and can be\n* changed at any time.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5547};
5548pub const SDL_HINT_PEN_MOUSE_EVENTS: Hint = Hint {
5562 name: "SDL_HINT_PEN_MOUSE_EVENTS",
5563 value: "SDL_PEN_MOUSE_EVENTS",
5564 doc: "/**\n* A variable controlling whether pen events should generate synthetic mouse\n* events.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Pen events will not generate mouse events.\n* - \"1\": Pen events will generate mouse events. (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5565};
5566pub const SDL_HINT_PEN_TOUCH_EVENTS: Hint = Hint {
5580 name: "SDL_HINT_PEN_TOUCH_EVENTS",
5581 value: "SDL_PEN_TOUCH_EVENTS",
5582 doc: "/**\n* A variable controlling whether pen events should generate synthetic touch\n* events.\n*\n* The variable can be set to the following values:\n*\n* - \"0\": Pen events will not generate touch events.\n* - \"1\": Pen events will generate touch events. (default)\n*\n* This hint can be set anytime.\n*\n* \\since This hint is available since SDL 3.2.0.\n*/\n",
5583};
5584pub const SDL_PROP_AUDIOSTREAM_AUTO_CLEANUP_BOOLEAN: Property = Property {
5585 name: "SDL_PROP_AUDIOSTREAM_AUTO_CLEANUP_BOOLEAN",
5586 value: "SDL.audiostream.auto_cleanup",
5587 ty: PropertyType::Boolean,
5588 doc: "",
5589};
5590pub const SDL_PROP_FILE_DIALOG_FILTERS_POINTER: Property = Property {
5591 name: "SDL_PROP_FILE_DIALOG_FILTERS_POINTER",
5592 value: "SDL.filedialog.filters",
5593 ty: PropertyType::Pointer,
5594 doc: "",
5595};
5596pub const SDL_PROP_FILE_DIALOG_NFILTERS_NUMBER: Property = Property {
5597 name: "SDL_PROP_FILE_DIALOG_NFILTERS_NUMBER",
5598 value: "SDL.filedialog.nfilters",
5599 ty: PropertyType::Number,
5600 doc: "",
5601};
5602pub const SDL_PROP_FILE_DIALOG_WINDOW_POINTER: Property = Property {
5603 name: "SDL_PROP_FILE_DIALOG_WINDOW_POINTER",
5604 value: "SDL.filedialog.window",
5605 ty: PropertyType::Pointer,
5606 doc: "",
5607};
5608pub const SDL_PROP_FILE_DIALOG_LOCATION_STRING: Property = Property {
5609 name: "SDL_PROP_FILE_DIALOG_LOCATION_STRING",
5610 value: "SDL.filedialog.location",
5611 ty: PropertyType::String,
5612 doc: "",
5613};
5614pub const SDL_PROP_FILE_DIALOG_MANY_BOOLEAN: Property = Property {
5615 name: "SDL_PROP_FILE_DIALOG_MANY_BOOLEAN",
5616 value: "SDL.filedialog.many",
5617 ty: PropertyType::Boolean,
5618 doc: "",
5619};
5620pub const SDL_PROP_FILE_DIALOG_TITLE_STRING: Property = Property {
5621 name: "SDL_PROP_FILE_DIALOG_TITLE_STRING",
5622 value: "SDL.filedialog.title",
5623 ty: PropertyType::String,
5624 doc: "",
5625};
5626pub const SDL_PROP_FILE_DIALOG_ACCEPT_STRING: Property = Property {
5627 name: "SDL_PROP_FILE_DIALOG_ACCEPT_STRING",
5628 value: "SDL.filedialog.accept",
5629 ty: PropertyType::String,
5630 doc: "",
5631};
5632pub const SDL_PROP_FILE_DIALOG_CANCEL_STRING: Property = Property {
5633 name: "SDL_PROP_FILE_DIALOG_CANCEL_STRING",
5634 value: "SDL.filedialog.cancel",
5635 ty: PropertyType::String,
5636 doc: "",
5637};
5638pub const SDL_PROP_GPU_DEVICE_CREATE_DEBUGMODE_BOOLEAN: Property = Property {
5639 name: "SDL_PROP_GPU_DEVICE_CREATE_DEBUGMODE_BOOLEAN",
5640 value: "SDL.gpu.device.create.debugmode",
5641 ty: PropertyType::Boolean,
5642 doc: "",
5643};
5644pub const SDL_PROP_GPU_DEVICE_CREATE_PREFERLOWPOWER_BOOLEAN: Property = Property {
5645 name: "SDL_PROP_GPU_DEVICE_CREATE_PREFERLOWPOWER_BOOLEAN",
5646 value: "SDL.gpu.device.create.preferlowpower",
5647 ty: PropertyType::Boolean,
5648 doc: "",
5649};
5650pub const SDL_PROP_GPU_DEVICE_CREATE_VERBOSE_BOOLEAN: Property = Property {
5651 name: "SDL_PROP_GPU_DEVICE_CREATE_VERBOSE_BOOLEAN",
5652 value: "SDL.gpu.device.create.verbose",
5653 ty: PropertyType::Boolean,
5654 doc: "",
5655};
5656pub const SDL_PROP_GPU_DEVICE_CREATE_NAME_STRING: Property = Property {
5657 name: "SDL_PROP_GPU_DEVICE_CREATE_NAME_STRING",
5658 value: "SDL.gpu.device.create.name",
5659 ty: PropertyType::String,
5660 doc: "",
5661};
5662pub const SDL_PROP_GPU_DEVICE_CREATE_FEATURE_CLIP_DISTANCE_BOOLEAN: Property = Property {
5663 name: "SDL_PROP_GPU_DEVICE_CREATE_FEATURE_CLIP_DISTANCE_BOOLEAN",
5664 value: "SDL.gpu.device.create.feature.clip_distance",
5665 ty: PropertyType::Boolean,
5666 doc: "",
5667};
5668pub const SDL_PROP_GPU_DEVICE_CREATE_FEATURE_DEPTH_CLAMPING_BOOLEAN: Property = Property {
5669 name: "SDL_PROP_GPU_DEVICE_CREATE_FEATURE_DEPTH_CLAMPING_BOOLEAN",
5670 value: "SDL.gpu.device.create.feature.depth_clamping",
5671 ty: PropertyType::Boolean,
5672 doc: "",
5673};
5674pub const SDL_PROP_GPU_DEVICE_CREATE_FEATURE_INDIRECT_DRAW_FIRST_INSTANCE_BOOLEAN: Property =
5675 Property {
5676 name: "SDL_PROP_GPU_DEVICE_CREATE_FEATURE_INDIRECT_DRAW_FIRST_INSTANCE_BOOLEAN",
5677 value: "SDL.gpu.device.create.feature.indirect_draw_first_instance",
5678 ty: PropertyType::Boolean,
5679 doc: "",
5680 };
5681pub const SDL_PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN: Property = Property {
5682 name: "SDL_PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN",
5683 value: "SDL.gpu.device.create.feature.anisotropy",
5684 ty: PropertyType::Boolean,
5685 doc: "",
5686};
5687pub const SDL_PROP_GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOLEAN: Property = Property {
5688 name: "SDL_PROP_GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOLEAN",
5689 value: "SDL.gpu.device.create.shaders.private",
5690 ty: PropertyType::Boolean,
5691 doc: "",
5692};
5693pub const SDL_PROP_GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOLEAN: Property = Property {
5694 name: "SDL_PROP_GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOLEAN",
5695 value: "SDL.gpu.device.create.shaders.spirv",
5696 ty: PropertyType::Boolean,
5697 doc: "",
5698};
5699pub const SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXBC_BOOLEAN: Property = Property {
5700 name: "SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXBC_BOOLEAN",
5701 value: "SDL.gpu.device.create.shaders.dxbc",
5702 ty: PropertyType::Boolean,
5703 doc: "",
5704};
5705pub const SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXIL_BOOLEAN: Property = Property {
5706 name: "SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXIL_BOOLEAN",
5707 value: "SDL.gpu.device.create.shaders.dxil",
5708 ty: PropertyType::Boolean,
5709 doc: "",
5710};
5711pub const SDL_PROP_GPU_DEVICE_CREATE_SHADERS_MSL_BOOLEAN: Property = Property {
5712 name: "SDL_PROP_GPU_DEVICE_CREATE_SHADERS_MSL_BOOLEAN",
5713 value: "SDL.gpu.device.create.shaders.msl",
5714 ty: PropertyType::Boolean,
5715 doc: "",
5716};
5717pub const SDL_PROP_GPU_DEVICE_CREATE_SHADERS_METALLIB_BOOLEAN: Property = Property {
5718 name: "SDL_PROP_GPU_DEVICE_CREATE_SHADERS_METALLIB_BOOLEAN",
5719 value: "SDL.gpu.device.create.shaders.metallib",
5720 ty: PropertyType::Boolean,
5721 doc: "",
5722};
5723pub const SDL_PROP_GPU_DEVICE_CREATE_D3D12_ALLOW_FEWER_RESOURCE_SLOTS_BOOLEAN: Property =
5724 Property {
5725 name: "SDL_PROP_GPU_DEVICE_CREATE_D3D12_ALLOW_FEWER_RESOURCE_SLOTS_BOOLEAN",
5726 value: "SDL.gpu.device.create.d3d12.allowtier1resourcebinding",
5727 ty: PropertyType::Boolean,
5728 doc: "",
5729 };
5730pub const SDL_PROP_GPU_DEVICE_CREATE_D3D12_SEMANTIC_NAME_STRING: Property = Property {
5731 name: "SDL_PROP_GPU_DEVICE_CREATE_D3D12_SEMANTIC_NAME_STRING",
5732 value: "SDL.gpu.device.create.d3d12.semantic",
5733 ty: PropertyType::String,
5734 doc: "",
5735};
5736pub const SDL_PROP_GPU_DEVICE_CREATE_D3D12_AGILITY_SDK_VERSION_NUMBER: Property = Property {
5737 name: "SDL_PROP_GPU_DEVICE_CREATE_D3D12_AGILITY_SDK_VERSION_NUMBER",
5738 value: "SDL.gpu.device.create.d3d12.agility_sdk_version",
5739 ty: PropertyType::Number,
5740 doc: "",
5741};
5742pub const SDL_PROP_GPU_DEVICE_CREATE_D3D12_AGILITY_SDK_PATH_STRING: Property = Property {
5743 name: "SDL_PROP_GPU_DEVICE_CREATE_D3D12_AGILITY_SDK_PATH_STRING",
5744 value: "SDL.gpu.device.create.d3d12.agility_sdk_path",
5745 ty: PropertyType::String,
5746 doc: "",
5747};
5748pub const SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN: Property =
5749 Property {
5750 name: "SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN",
5751 value: "SDL.gpu.device.create.vulkan.requirehardwareacceleration",
5752 ty: PropertyType::Boolean,
5753 doc: "",
5754 };
5755pub const SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER: Property = Property {
5756 name: "SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER",
5757 value: "SDL.gpu.device.create.vulkan.options",
5758 ty: PropertyType::Pointer,
5759 doc: "",
5760};
5761pub const SDL_PROP_GPU_DEVICE_CREATE_METAL_ALLOW_MACFAMILY1_BOOLEAN: Property = Property {
5762 name: "SDL_PROP_GPU_DEVICE_CREATE_METAL_ALLOW_MACFAMILY1_BOOLEAN",
5763 value: "SDL.gpu.device.create.metal.allowmacfamily1",
5764 ty: PropertyType::Boolean,
5765 doc: "",
5766};
5767pub const SDL_PROP_GPU_DEVICE_CREATE_XR_ENABLE_BOOLEAN: Property = Property {
5768 name: "SDL_PROP_GPU_DEVICE_CREATE_XR_ENABLE_BOOLEAN",
5769 value: "SDL.gpu.device.create.xr.enable",
5770 ty: PropertyType::Boolean,
5771 doc: "",
5772};
5773pub const SDL_PROP_GPU_DEVICE_CREATE_XR_INSTANCE_POINTER: Property = Property {
5774 name: "SDL_PROP_GPU_DEVICE_CREATE_XR_INSTANCE_POINTER",
5775 value: "SDL.gpu.device.create.xr.instance_out",
5776 ty: PropertyType::Pointer,
5777 doc: "",
5778};
5779pub const SDL_PROP_GPU_DEVICE_CREATE_XR_SYSTEM_ID_POINTER: Property = Property {
5780 name: "SDL_PROP_GPU_DEVICE_CREATE_XR_SYSTEM_ID_POINTER",
5781 value: "SDL.gpu.device.create.xr.system_id_out",
5782 ty: PropertyType::Pointer,
5783 doc: "",
5784};
5785pub const SDL_PROP_GPU_DEVICE_CREATE_XR_VERSION_NUMBER: Property = Property {
5786 name: "SDL_PROP_GPU_DEVICE_CREATE_XR_VERSION_NUMBER",
5787 value: "SDL.gpu.device.create.xr.version",
5788 ty: PropertyType::Number,
5789 doc: "",
5790};
5791pub const SDL_PROP_GPU_DEVICE_CREATE_XR_FORM_FACTOR_NUMBER: Property = Property {
5792 name: "SDL_PROP_GPU_DEVICE_CREATE_XR_FORM_FACTOR_NUMBER",
5793 value: "SDL.gpu.device.create.xr.form_factor",
5794 ty: PropertyType::Number,
5795 doc: "",
5796};
5797pub const SDL_PROP_GPU_DEVICE_CREATE_XR_EXTENSION_COUNT_NUMBER: Property = Property {
5798 name: "SDL_PROP_GPU_DEVICE_CREATE_XR_EXTENSION_COUNT_NUMBER",
5799 value: "SDL.gpu.device.create.xr.extensions.count",
5800 ty: PropertyType::Number,
5801 doc: "",
5802};
5803pub const SDL_PROP_GPU_DEVICE_CREATE_XR_EXTENSION_NAMES_POINTER: Property = Property {
5804 name: "SDL_PROP_GPU_DEVICE_CREATE_XR_EXTENSION_NAMES_POINTER",
5805 value: "SDL.gpu.device.create.xr.extensions.names",
5806 ty: PropertyType::Pointer,
5807 doc: "",
5808};
5809pub const SDL_PROP_GPU_DEVICE_CREATE_XR_LAYER_COUNT_NUMBER: Property = Property {
5810 name: "SDL_PROP_GPU_DEVICE_CREATE_XR_LAYER_COUNT_NUMBER",
5811 value: "SDL.gpu.device.create.xr.layers.count",
5812 ty: PropertyType::Number,
5813 doc: "",
5814};
5815pub const SDL_PROP_GPU_DEVICE_CREATE_XR_LAYER_NAMES_POINTER: Property = Property {
5816 name: "SDL_PROP_GPU_DEVICE_CREATE_XR_LAYER_NAMES_POINTER",
5817 value: "SDL.gpu.device.create.xr.layers.names",
5818 ty: PropertyType::Pointer,
5819 doc: "",
5820};
5821pub const SDL_PROP_GPU_DEVICE_CREATE_XR_APPLICATION_NAME_STRING: Property = Property {
5822 name: "SDL_PROP_GPU_DEVICE_CREATE_XR_APPLICATION_NAME_STRING",
5823 value: "SDL.gpu.device.create.xr.application.name",
5824 ty: PropertyType::String,
5825 doc: "",
5826};
5827pub const SDL_PROP_GPU_DEVICE_CREATE_XR_APPLICATION_VERSION_NUMBER: Property = Property {
5828 name: "SDL_PROP_GPU_DEVICE_CREATE_XR_APPLICATION_VERSION_NUMBER",
5829 value: "SDL.gpu.device.create.xr.application.version",
5830 ty: PropertyType::Number,
5831 doc: "",
5832};
5833pub const SDL_PROP_GPU_DEVICE_CREATE_XR_ENGINE_NAME_STRING: Property = Property {
5834 name: "SDL_PROP_GPU_DEVICE_CREATE_XR_ENGINE_NAME_STRING",
5835 value: "SDL.gpu.device.create.xr.engine.name",
5836 ty: PropertyType::String,
5837 doc: "",
5838};
5839pub const SDL_PROP_GPU_DEVICE_CREATE_XR_ENGINE_VERSION_NUMBER: Property = Property {
5840 name: "SDL_PROP_GPU_DEVICE_CREATE_XR_ENGINE_VERSION_NUMBER",
5841 value: "SDL.gpu.device.create.xr.engine.version",
5842 ty: PropertyType::Number,
5843 doc: "",
5844};
5845pub const SDL_PROP_GPU_DEVICE_NAME_STRING: Property = Property {
5846 name: "SDL_PROP_GPU_DEVICE_NAME_STRING",
5847 value: "SDL.gpu.device.name",
5848 ty: PropertyType::String,
5849 doc: "",
5850};
5851pub const SDL_PROP_GPU_DEVICE_DRIVER_NAME_STRING: Property = Property {
5852 name: "SDL_PROP_GPU_DEVICE_DRIVER_NAME_STRING",
5853 value: "SDL.gpu.device.driver_name",
5854 ty: PropertyType::String,
5855 doc: "",
5856};
5857pub const SDL_PROP_GPU_DEVICE_DRIVER_VERSION_STRING: Property = Property {
5858 name: "SDL_PROP_GPU_DEVICE_DRIVER_VERSION_STRING",
5859 value: "SDL.gpu.device.driver_version",
5860 ty: PropertyType::String,
5861 doc: "",
5862};
5863pub const SDL_PROP_GPU_DEVICE_DRIVER_INFO_STRING: Property = Property {
5864 name: "SDL_PROP_GPU_DEVICE_DRIVER_INFO_STRING",
5865 value: "SDL.gpu.device.driver_info",
5866 ty: PropertyType::String,
5867 doc: "",
5868};
5869pub const SDL_PROP_GPU_COMPUTEPIPELINE_CREATE_NAME_STRING: Property = Property {
5870 name: "SDL_PROP_GPU_COMPUTEPIPELINE_CREATE_NAME_STRING",
5871 value: "SDL.gpu.computepipeline.create.name",
5872 ty: PropertyType::String,
5873 doc: "",
5874};
5875pub const SDL_PROP_GPU_GRAPHICSPIPELINE_CREATE_NAME_STRING: Property = Property {
5876 name: "SDL_PROP_GPU_GRAPHICSPIPELINE_CREATE_NAME_STRING",
5877 value: "SDL.gpu.graphicspipeline.create.name",
5878 ty: PropertyType::String,
5879 doc: "",
5880};
5881pub const SDL_PROP_GPU_SAMPLER_CREATE_NAME_STRING: Property = Property {
5882 name: "SDL_PROP_GPU_SAMPLER_CREATE_NAME_STRING",
5883 value: "SDL.gpu.sampler.create.name",
5884 ty: PropertyType::String,
5885 doc: "",
5886};
5887pub const SDL_PROP_GPU_SHADER_CREATE_NAME_STRING: Property = Property {
5888 name: "SDL_PROP_GPU_SHADER_CREATE_NAME_STRING",
5889 value: "SDL.gpu.shader.create.name",
5890 ty: PropertyType::String,
5891 doc: "",
5892};
5893pub const SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_R_FLOAT: Property = Property {
5894 name: "SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_R_FLOAT",
5895 value: "SDL.gpu.texture.create.d3d12.clear.r",
5896 ty: PropertyType::Float,
5897 doc: "",
5898};
5899pub const SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_G_FLOAT: Property = Property {
5900 name: "SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_G_FLOAT",
5901 value: "SDL.gpu.texture.create.d3d12.clear.g",
5902 ty: PropertyType::Float,
5903 doc: "",
5904};
5905pub const SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_B_FLOAT: Property = Property {
5906 name: "SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_B_FLOAT",
5907 value: "SDL.gpu.texture.create.d3d12.clear.b",
5908 ty: PropertyType::Float,
5909 doc: "",
5910};
5911pub const SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_A_FLOAT: Property = Property {
5912 name: "SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_A_FLOAT",
5913 value: "SDL.gpu.texture.create.d3d12.clear.a",
5914 ty: PropertyType::Float,
5915 doc: "",
5916};
5917pub const SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_DEPTH_FLOAT: Property = Property {
5918 name: "SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_DEPTH_FLOAT",
5919 value: "SDL.gpu.texture.create.d3d12.clear.depth",
5920 ty: PropertyType::Float,
5921 doc: "",
5922};
5923pub const SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_STENCIL_NUMBER: Property = Property {
5924 name: "SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_STENCIL_NUMBER",
5925 value: "SDL.gpu.texture.create.d3d12.clear.stencil",
5926 ty: PropertyType::Number,
5927 doc: "",
5928};
5929pub const SDL_PROP_GPU_TEXTURE_CREATE_NAME_STRING: Property = Property {
5930 name: "SDL_PROP_GPU_TEXTURE_CREATE_NAME_STRING",
5931 value: "SDL.gpu.texture.create.name",
5932 ty: PropertyType::String,
5933 doc: "",
5934};
5935pub const SDL_PROP_GPU_BUFFER_CREATE_NAME_STRING: Property = Property {
5936 name: "SDL_PROP_GPU_BUFFER_CREATE_NAME_STRING",
5937 value: "SDL.gpu.buffer.create.name",
5938 ty: PropertyType::String,
5939 doc: "",
5940};
5941pub const SDL_PROP_GPU_TRANSFERBUFFER_CREATE_NAME_STRING: Property = Property {
5942 name: "SDL_PROP_GPU_TRANSFERBUFFER_CREATE_NAME_STRING",
5943 value: "SDL.gpu.transferbuffer.create.name",
5944 ty: PropertyType::String,
5945 doc: "",
5946};
5947pub const SDL_PROP_HIDAPI_LIBUSB_DEVICE_HANDLE_POINTER: Property = Property {
5948 name: "SDL_PROP_HIDAPI_LIBUSB_DEVICE_HANDLE_POINTER",
5949 value: "SDL.hidapi.libusb.device.handle",
5950 ty: PropertyType::Pointer,
5951 doc: "",
5952};
5953pub const SDL_PROP_APP_METADATA_NAME_STRING: Property = Property {
5954 name: "SDL_PROP_APP_METADATA_NAME_STRING",
5955 value: "SDL.app.metadata.name",
5956 ty: PropertyType::String,
5957 doc: "",
5958};
5959pub const SDL_PROP_APP_METADATA_VERSION_STRING: Property = Property {
5960 name: "SDL_PROP_APP_METADATA_VERSION_STRING",
5961 value: "SDL.app.metadata.version",
5962 ty: PropertyType::String,
5963 doc: "",
5964};
5965pub const SDL_PROP_APP_METADATA_IDENTIFIER_STRING: Property = Property {
5966 name: "SDL_PROP_APP_METADATA_IDENTIFIER_STRING",
5967 value: "SDL.app.metadata.identifier",
5968 ty: PropertyType::String,
5969 doc: "",
5970};
5971pub const SDL_PROP_APP_METADATA_CREATOR_STRING: Property = Property {
5972 name: "SDL_PROP_APP_METADATA_CREATOR_STRING",
5973 value: "SDL.app.metadata.creator",
5974 ty: PropertyType::String,
5975 doc: "",
5976};
5977pub const SDL_PROP_APP_METADATA_COPYRIGHT_STRING: Property = Property {
5978 name: "SDL_PROP_APP_METADATA_COPYRIGHT_STRING",
5979 value: "SDL.app.metadata.copyright",
5980 ty: PropertyType::String,
5981 doc: "",
5982};
5983pub const SDL_PROP_APP_METADATA_URL_STRING: Property = Property {
5984 name: "SDL_PROP_APP_METADATA_URL_STRING",
5985 value: "SDL.app.metadata.url",
5986 ty: PropertyType::String,
5987 doc: "",
5988};
5989pub const SDL_PROP_APP_METADATA_TYPE_STRING: Property = Property {
5990 name: "SDL_PROP_APP_METADATA_TYPE_STRING",
5991 value: "SDL.app.metadata.type",
5992 ty: PropertyType::String,
5993 doc: "",
5994};
5995pub const SDL_PROP_IOSTREAM_WINDOWS_HANDLE_POINTER: Property = Property {
5996 name: "SDL_PROP_IOSTREAM_WINDOWS_HANDLE_POINTER",
5997 value: "SDL.iostream.windows.handle",
5998 ty: PropertyType::Pointer,
5999 doc: "",
6000};
6001pub const SDL_PROP_IOSTREAM_STDIO_FILE_POINTER: Property = Property {
6002 name: "SDL_PROP_IOSTREAM_STDIO_FILE_POINTER",
6003 value: "SDL.iostream.stdio.file",
6004 ty: PropertyType::Pointer,
6005 doc: "",
6006};
6007pub const SDL_PROP_IOSTREAM_FILE_DESCRIPTOR_NUMBER: Property = Property {
6008 name: "SDL_PROP_IOSTREAM_FILE_DESCRIPTOR_NUMBER",
6009 value: "SDL.iostream.file_descriptor",
6010 ty: PropertyType::Number,
6011 doc: "",
6012};
6013pub const SDL_PROP_IOSTREAM_ANDROID_AASSET_POINTER: Property = Property {
6014 name: "SDL_PROP_IOSTREAM_ANDROID_AASSET_POINTER",
6015 value: "SDL.iostream.android.aasset",
6016 ty: PropertyType::Pointer,
6017 doc: "",
6018};
6019pub const SDL_PROP_IOSTREAM_MEMORY_POINTER: Property = Property {
6020 name: "SDL_PROP_IOSTREAM_MEMORY_POINTER",
6021 value: "SDL.iostream.memory.base",
6022 ty: PropertyType::Pointer,
6023 doc: "",
6024};
6025pub const SDL_PROP_IOSTREAM_MEMORY_SIZE_NUMBER: Property = Property {
6026 name: "SDL_PROP_IOSTREAM_MEMORY_SIZE_NUMBER",
6027 value: "SDL.iostream.memory.size",
6028 ty: PropertyType::Number,
6029 doc: "",
6030};
6031pub const SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER: Property = Property {
6032 name: "SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER",
6033 value: "SDL.iostream.memory.free",
6034 ty: PropertyType::Pointer,
6035 doc: "",
6036};
6037pub const SDL_PROP_IOSTREAM_DYNAMIC_MEMORY_POINTER: Property = Property {
6038 name: "SDL_PROP_IOSTREAM_DYNAMIC_MEMORY_POINTER",
6039 value: "SDL.iostream.dynamic.memory",
6040 ty: PropertyType::Pointer,
6041 doc: "",
6042};
6043pub const SDL_PROP_IOSTREAM_DYNAMIC_CHUNKSIZE_NUMBER: Property = Property {
6044 name: "SDL_PROP_IOSTREAM_DYNAMIC_CHUNKSIZE_NUMBER",
6045 value: "SDL.iostream.dynamic.chunksize",
6046 ty: PropertyType::Number,
6047 doc: "",
6048};
6049pub const SDL_PROP_JOYSTICK_CAP_MONO_LED_BOOLEAN: Property = Property {
6050 name: "SDL_PROP_JOYSTICK_CAP_MONO_LED_BOOLEAN",
6051 value: "SDL.joystick.cap.mono_led",
6052 ty: PropertyType::Boolean,
6053 doc: "",
6054};
6055pub const SDL_PROP_JOYSTICK_CAP_RGB_LED_BOOLEAN: Property = Property {
6056 name: "SDL_PROP_JOYSTICK_CAP_RGB_LED_BOOLEAN",
6057 value: "SDL.joystick.cap.rgb_led",
6058 ty: PropertyType::Boolean,
6059 doc: "",
6060};
6061pub const SDL_PROP_JOYSTICK_CAP_PLAYER_LED_BOOLEAN: Property = Property {
6062 name: "SDL_PROP_JOYSTICK_CAP_PLAYER_LED_BOOLEAN",
6063 value: "SDL.joystick.cap.player_led",
6064 ty: PropertyType::Boolean,
6065 doc: "",
6066};
6067pub const SDL_PROP_JOYSTICK_CAP_RUMBLE_BOOLEAN: Property = Property {
6068 name: "SDL_PROP_JOYSTICK_CAP_RUMBLE_BOOLEAN",
6069 value: "SDL.joystick.cap.rumble",
6070 ty: PropertyType::Boolean,
6071 doc: "",
6072};
6073pub const SDL_PROP_JOYSTICK_CAP_TRIGGER_RUMBLE_BOOLEAN: Property = Property {
6074 name: "SDL_PROP_JOYSTICK_CAP_TRIGGER_RUMBLE_BOOLEAN",
6075 value: "SDL.joystick.cap.trigger_rumble",
6076 ty: PropertyType::Boolean,
6077 doc: "",
6078};
6079pub const SDL_PROP_TEXTINPUT_TYPE_NUMBER: Property = Property {
6080 name: "SDL_PROP_TEXTINPUT_TYPE_NUMBER",
6081 value: "SDL.textinput.type",
6082 ty: PropertyType::Number,
6083 doc: "",
6084};
6085pub const SDL_PROP_TEXTINPUT_CAPITALIZATION_NUMBER: Property = Property {
6086 name: "SDL_PROP_TEXTINPUT_CAPITALIZATION_NUMBER",
6087 value: "SDL.textinput.capitalization",
6088 ty: PropertyType::Number,
6089 doc: "",
6090};
6091pub const SDL_PROP_TEXTINPUT_AUTOCORRECT_BOOLEAN: Property = Property {
6092 name: "SDL_PROP_TEXTINPUT_AUTOCORRECT_BOOLEAN",
6093 value: "SDL.textinput.autocorrect",
6094 ty: PropertyType::Boolean,
6095 doc: "",
6096};
6097pub const SDL_PROP_TEXTINPUT_MULTILINE_BOOLEAN: Property = Property {
6098 name: "SDL_PROP_TEXTINPUT_MULTILINE_BOOLEAN",
6099 value: "SDL.textinput.multiline",
6100 ty: PropertyType::Boolean,
6101 doc: "",
6102};
6103pub const SDL_PROP_TEXTINPUT_ANDROID_INPUTTYPE_NUMBER: Property = Property {
6104 name: "SDL_PROP_TEXTINPUT_ANDROID_INPUTTYPE_NUMBER",
6105 value: "SDL.textinput.android.inputtype",
6106 ty: PropertyType::Number,
6107 doc: "",
6108};
6109pub const SDL_PROP_PROCESS_CREATE_ARGS_POINTER: Property = Property {
6110 name: "SDL_PROP_PROCESS_CREATE_ARGS_POINTER",
6111 value: "SDL.process.create.args",
6112 ty: PropertyType::Pointer,
6113 doc: "",
6114};
6115pub const SDL_PROP_PROCESS_CREATE_ENVIRONMENT_POINTER: Property = Property {
6116 name: "SDL_PROP_PROCESS_CREATE_ENVIRONMENT_POINTER",
6117 value: "SDL.process.create.environment",
6118 ty: PropertyType::Pointer,
6119 doc: "",
6120};
6121pub const SDL_PROP_PROCESS_CREATE_WORKING_DIRECTORY_STRING: Property = Property {
6122 name: "SDL_PROP_PROCESS_CREATE_WORKING_DIRECTORY_STRING",
6123 value: "SDL.process.create.working_directory",
6124 ty: PropertyType::String,
6125 doc: "",
6126};
6127pub const SDL_PROP_PROCESS_CREATE_STDIN_NUMBER: Property = Property {
6128 name: "SDL_PROP_PROCESS_CREATE_STDIN_NUMBER",
6129 value: "SDL.process.create.stdin_option",
6130 ty: PropertyType::Number,
6131 doc: "",
6132};
6133pub const SDL_PROP_PROCESS_CREATE_STDIN_POINTER: Property = Property {
6134 name: "SDL_PROP_PROCESS_CREATE_STDIN_POINTER",
6135 value: "SDL.process.create.stdin_source",
6136 ty: PropertyType::Pointer,
6137 doc: "",
6138};
6139pub const SDL_PROP_PROCESS_CREATE_STDOUT_NUMBER: Property = Property {
6140 name: "SDL_PROP_PROCESS_CREATE_STDOUT_NUMBER",
6141 value: "SDL.process.create.stdout_option",
6142 ty: PropertyType::Number,
6143 doc: "",
6144};
6145pub const SDL_PROP_PROCESS_CREATE_STDOUT_POINTER: Property = Property {
6146 name: "SDL_PROP_PROCESS_CREATE_STDOUT_POINTER",
6147 value: "SDL.process.create.stdout_source",
6148 ty: PropertyType::Pointer,
6149 doc: "",
6150};
6151pub const SDL_PROP_PROCESS_CREATE_STDERR_NUMBER: Property = Property {
6152 name: "SDL_PROP_PROCESS_CREATE_STDERR_NUMBER",
6153 value: "SDL.process.create.stderr_option",
6154 ty: PropertyType::Number,
6155 doc: "",
6156};
6157pub const SDL_PROP_PROCESS_CREATE_STDERR_POINTER: Property = Property {
6158 name: "SDL_PROP_PROCESS_CREATE_STDERR_POINTER",
6159 value: "SDL.process.create.stderr_source",
6160 ty: PropertyType::Pointer,
6161 doc: "",
6162};
6163pub const SDL_PROP_PROCESS_CREATE_STDERR_TO_STDOUT_BOOLEAN: Property = Property {
6164 name: "SDL_PROP_PROCESS_CREATE_STDERR_TO_STDOUT_BOOLEAN",
6165 value: "SDL.process.create.stderr_to_stdout",
6166 ty: PropertyType::Boolean,
6167 doc: "",
6168};
6169pub const SDL_PROP_PROCESS_CREATE_BACKGROUND_BOOLEAN: Property = Property {
6170 name: "SDL_PROP_PROCESS_CREATE_BACKGROUND_BOOLEAN",
6171 value: "SDL.process.create.background",
6172 ty: PropertyType::Boolean,
6173 doc: "",
6174};
6175pub const SDL_PROP_PROCESS_CREATE_CMDLINE_STRING: Property = Property {
6176 name: "SDL_PROP_PROCESS_CREATE_CMDLINE_STRING",
6177 value: "SDL.process.create.cmdline",
6178 ty: PropertyType::String,
6179 doc: "",
6180};
6181pub const SDL_PROP_PROCESS_PID_NUMBER: Property = Property {
6182 name: "SDL_PROP_PROCESS_PID_NUMBER",
6183 value: "SDL.process.pid",
6184 ty: PropertyType::Number,
6185 doc: "",
6186};
6187pub const SDL_PROP_PROCESS_STDIN_POINTER: Property = Property {
6188 name: "SDL_PROP_PROCESS_STDIN_POINTER",
6189 value: "SDL.process.stdin",
6190 ty: PropertyType::Pointer,
6191 doc: "",
6192};
6193pub const SDL_PROP_PROCESS_STDOUT_POINTER: Property = Property {
6194 name: "SDL_PROP_PROCESS_STDOUT_POINTER",
6195 value: "SDL.process.stdout",
6196 ty: PropertyType::Pointer,
6197 doc: "",
6198};
6199pub const SDL_PROP_PROCESS_STDERR_POINTER: Property = Property {
6200 name: "SDL_PROP_PROCESS_STDERR_POINTER",
6201 value: "SDL.process.stderr",
6202 ty: PropertyType::Pointer,
6203 doc: "",
6204};
6205pub const SDL_PROP_PROCESS_BACKGROUND_BOOLEAN: Property = Property {
6206 name: "SDL_PROP_PROCESS_BACKGROUND_BOOLEAN",
6207 value: "SDL.process.background",
6208 ty: PropertyType::Boolean,
6209 doc: "",
6210};
6211pub const SDL_PROP_NAME_STRING: Property = Property {
6235 name: "SDL_PROP_NAME_STRING",
6236 value: "SDL.name",
6237 ty: PropertyType::String,
6238 doc: "/**\n* A generic property for naming things.\n*\n* This property is intended to be added to any SDL_PropertiesID that needs a\n* generic name associated with the property set. It is not guaranteed that\n* any property set will include this key, but it is convenient to have a\n* standard key that any piece of code could reasonably agree to use.\n*\n* For example, the properties associated with an SDL_Texture might have a\n* name string of \"player sprites\", or an SDL_AudioStream might have\n* \"background music\", etc. This might also be useful for an SDL_IOStream to\n* list the path to its asset.\n*\n* There is no format for the value set with this key; it is expected to be\n* human-readable and informational in nature, possibly for logging or\n* debugging purposes.\n*\n* SDL does not currently set this property on any objects it creates, but\n* this may change in later versions; it is currently expected that apps and\n* external libraries will take advantage of it, when appropriate.\n*\n* \\since This macro is available since SDL 3.4.0.\n*/\n",
6239};
6240pub const SDL_PROP_RENDERER_CREATE_NAME_STRING: Property = Property {
6241 name: "SDL_PROP_RENDERER_CREATE_NAME_STRING",
6242 value: "SDL.renderer.create.name",
6243 ty: PropertyType::String,
6244 doc: "",
6245};
6246pub const SDL_PROP_RENDERER_CREATE_WINDOW_POINTER: Property = Property {
6247 name: "SDL_PROP_RENDERER_CREATE_WINDOW_POINTER",
6248 value: "SDL.renderer.create.window",
6249 ty: PropertyType::Pointer,
6250 doc: "",
6251};
6252pub const SDL_PROP_RENDERER_CREATE_SURFACE_POINTER: Property = Property {
6253 name: "SDL_PROP_RENDERER_CREATE_SURFACE_POINTER",
6254 value: "SDL.renderer.create.surface",
6255 ty: PropertyType::Pointer,
6256 doc: "",
6257};
6258pub const SDL_PROP_RENDERER_CREATE_OUTPUT_COLORSPACE_NUMBER: Property = Property {
6259 name: "SDL_PROP_RENDERER_CREATE_OUTPUT_COLORSPACE_NUMBER",
6260 value: "SDL.renderer.create.output_colorspace",
6261 ty: PropertyType::Number,
6262 doc: "",
6263};
6264pub const SDL_PROP_RENDERER_CREATE_PRESENT_VSYNC_NUMBER: Property = Property {
6265 name: "SDL_PROP_RENDERER_CREATE_PRESENT_VSYNC_NUMBER",
6266 value: "SDL.renderer.create.present_vsync",
6267 ty: PropertyType::Number,
6268 doc: "",
6269};
6270pub const SDL_PROP_RENDERER_CREATE_GPU_DEVICE_POINTER: Property = Property {
6271 name: "SDL_PROP_RENDERER_CREATE_GPU_DEVICE_POINTER",
6272 value: "SDL.renderer.create.gpu.device",
6273 ty: PropertyType::Pointer,
6274 doc: "",
6275};
6276pub const SDL_PROP_RENDERER_CREATE_GPU_SHADERS_SPIRV_BOOLEAN: Property = Property {
6277 name: "SDL_PROP_RENDERER_CREATE_GPU_SHADERS_SPIRV_BOOLEAN",
6278 value: "SDL.renderer.create.gpu.shaders_spirv",
6279 ty: PropertyType::Boolean,
6280 doc: "",
6281};
6282pub const SDL_PROP_RENDERER_CREATE_GPU_SHADERS_DXIL_BOOLEAN: Property = Property {
6283 name: "SDL_PROP_RENDERER_CREATE_GPU_SHADERS_DXIL_BOOLEAN",
6284 value: "SDL.renderer.create.gpu.shaders_dxil",
6285 ty: PropertyType::Boolean,
6286 doc: "",
6287};
6288pub const SDL_PROP_RENDERER_CREATE_GPU_SHADERS_MSL_BOOLEAN: Property = Property {
6289 name: "SDL_PROP_RENDERER_CREATE_GPU_SHADERS_MSL_BOOLEAN",
6290 value: "SDL.renderer.create.gpu.shaders_msl",
6291 ty: PropertyType::Boolean,
6292 doc: "",
6293};
6294pub const SDL_PROP_RENDERER_CREATE_VULKAN_INSTANCE_POINTER: Property = Property {
6295 name: "SDL_PROP_RENDERER_CREATE_VULKAN_INSTANCE_POINTER",
6296 value: "SDL.renderer.create.vulkan.instance",
6297 ty: PropertyType::Pointer,
6298 doc: "",
6299};
6300pub const SDL_PROP_RENDERER_CREATE_VULKAN_SURFACE_NUMBER: Property = Property {
6301 name: "SDL_PROP_RENDERER_CREATE_VULKAN_SURFACE_NUMBER",
6302 value: "SDL.renderer.create.vulkan.surface",
6303 ty: PropertyType::Number,
6304 doc: "",
6305};
6306pub const SDL_PROP_RENDERER_CREATE_VULKAN_PHYSICAL_DEVICE_POINTER: Property = Property {
6307 name: "SDL_PROP_RENDERER_CREATE_VULKAN_PHYSICAL_DEVICE_POINTER",
6308 value: "SDL.renderer.create.vulkan.physical_device",
6309 ty: PropertyType::Pointer,
6310 doc: "",
6311};
6312pub const SDL_PROP_RENDERER_CREATE_VULKAN_DEVICE_POINTER: Property = Property {
6313 name: "SDL_PROP_RENDERER_CREATE_VULKAN_DEVICE_POINTER",
6314 value: "SDL.renderer.create.vulkan.device",
6315 ty: PropertyType::Pointer,
6316 doc: "",
6317};
6318pub const SDL_PROP_RENDERER_CREATE_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER: Property = Property {
6319 name: "SDL_PROP_RENDERER_CREATE_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER",
6320 value: "SDL.renderer.create.vulkan.graphics_queue_family_index",
6321 ty: PropertyType::Number,
6322 doc: "",
6323};
6324pub const SDL_PROP_RENDERER_CREATE_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER: Property = Property {
6325 name: "SDL_PROP_RENDERER_CREATE_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER",
6326 value: "SDL.renderer.create.vulkan.present_queue_family_index",
6327 ty: PropertyType::Number,
6328 doc: "",
6329};
6330pub const SDL_PROP_RENDERER_NAME_STRING: Property = Property {
6331 name: "SDL_PROP_RENDERER_NAME_STRING",
6332 value: "SDL.renderer.name",
6333 ty: PropertyType::String,
6334 doc: "",
6335};
6336pub const SDL_PROP_RENDERER_WINDOW_POINTER: Property = Property {
6337 name: "SDL_PROP_RENDERER_WINDOW_POINTER",
6338 value: "SDL.renderer.window",
6339 ty: PropertyType::Pointer,
6340 doc: "",
6341};
6342pub const SDL_PROP_RENDERER_SURFACE_POINTER: Property = Property {
6343 name: "SDL_PROP_RENDERER_SURFACE_POINTER",
6344 value: "SDL.renderer.surface",
6345 ty: PropertyType::Pointer,
6346 doc: "",
6347};
6348pub const SDL_PROP_RENDERER_VSYNC_NUMBER: Property = Property {
6349 name: "SDL_PROP_RENDERER_VSYNC_NUMBER",
6350 value: "SDL.renderer.vsync",
6351 ty: PropertyType::Number,
6352 doc: "",
6353};
6354pub const SDL_PROP_RENDERER_MAX_TEXTURE_SIZE_NUMBER: Property = Property {
6355 name: "SDL_PROP_RENDERER_MAX_TEXTURE_SIZE_NUMBER",
6356 value: "SDL.renderer.max_texture_size",
6357 ty: PropertyType::Number,
6358 doc: "",
6359};
6360pub const SDL_PROP_RENDERER_TEXTURE_FORMATS_POINTER: Property = Property {
6361 name: "SDL_PROP_RENDERER_TEXTURE_FORMATS_POINTER",
6362 value: "SDL.renderer.texture_formats",
6363 ty: PropertyType::Pointer,
6364 doc: "",
6365};
6366pub const SDL_PROP_RENDERER_TEXTURE_WRAPPING_BOOLEAN: Property = Property {
6367 name: "SDL_PROP_RENDERER_TEXTURE_WRAPPING_BOOLEAN",
6368 value: "SDL.renderer.texture_wrapping",
6369 ty: PropertyType::Boolean,
6370 doc: "",
6371};
6372pub const SDL_PROP_RENDERER_OUTPUT_COLORSPACE_NUMBER: Property = Property {
6373 name: "SDL_PROP_RENDERER_OUTPUT_COLORSPACE_NUMBER",
6374 value: "SDL.renderer.output_colorspace",
6375 ty: PropertyType::Number,
6376 doc: "",
6377};
6378pub const SDL_PROP_RENDERER_HDR_ENABLED_BOOLEAN: Property = Property {
6379 name: "SDL_PROP_RENDERER_HDR_ENABLED_BOOLEAN",
6380 value: "SDL.renderer.HDR_enabled",
6381 ty: PropertyType::Boolean,
6382 doc: "",
6383};
6384pub const SDL_PROP_RENDERER_SDR_WHITE_POINT_FLOAT: Property = Property {
6385 name: "SDL_PROP_RENDERER_SDR_WHITE_POINT_FLOAT",
6386 value: "SDL.renderer.SDR_white_point",
6387 ty: PropertyType::Float,
6388 doc: "",
6389};
6390pub const SDL_PROP_RENDERER_HDR_HEADROOM_FLOAT: Property = Property {
6391 name: "SDL_PROP_RENDERER_HDR_HEADROOM_FLOAT",
6392 value: "SDL.renderer.HDR_headroom",
6393 ty: PropertyType::Float,
6394 doc: "",
6395};
6396pub const SDL_PROP_RENDERER_D3D9_DEVICE_POINTER: Property = Property {
6397 name: "SDL_PROP_RENDERER_D3D9_DEVICE_POINTER",
6398 value: "SDL.renderer.d3d9.device",
6399 ty: PropertyType::Pointer,
6400 doc: "",
6401};
6402pub const SDL_PROP_RENDERER_D3D11_DEVICE_POINTER: Property = Property {
6403 name: "SDL_PROP_RENDERER_D3D11_DEVICE_POINTER",
6404 value: "SDL.renderer.d3d11.device",
6405 ty: PropertyType::Pointer,
6406 doc: "",
6407};
6408pub const SDL_PROP_RENDERER_D3D11_SWAPCHAIN_POINTER: Property = Property {
6409 name: "SDL_PROP_RENDERER_D3D11_SWAPCHAIN_POINTER",
6410 value: "SDL.renderer.d3d11.swap_chain",
6411 ty: PropertyType::Pointer,
6412 doc: "",
6413};
6414pub const SDL_PROP_RENDERER_D3D12_DEVICE_POINTER: Property = Property {
6415 name: "SDL_PROP_RENDERER_D3D12_DEVICE_POINTER",
6416 value: "SDL.renderer.d3d12.device",
6417 ty: PropertyType::Pointer,
6418 doc: "",
6419};
6420pub const SDL_PROP_RENDERER_D3D12_SWAPCHAIN_POINTER: Property = Property {
6421 name: "SDL_PROP_RENDERER_D3D12_SWAPCHAIN_POINTER",
6422 value: "SDL.renderer.d3d12.swap_chain",
6423 ty: PropertyType::Pointer,
6424 doc: "",
6425};
6426pub const SDL_PROP_RENDERER_D3D12_COMMAND_QUEUE_POINTER: Property = Property {
6427 name: "SDL_PROP_RENDERER_D3D12_COMMAND_QUEUE_POINTER",
6428 value: "SDL.renderer.d3d12.command_queue",
6429 ty: PropertyType::Pointer,
6430 doc: "",
6431};
6432pub const SDL_PROP_RENDERER_VULKAN_INSTANCE_POINTER: Property = Property {
6433 name: "SDL_PROP_RENDERER_VULKAN_INSTANCE_POINTER",
6434 value: "SDL.renderer.vulkan.instance",
6435 ty: PropertyType::Pointer,
6436 doc: "",
6437};
6438pub const SDL_PROP_RENDERER_VULKAN_SURFACE_NUMBER: Property = Property {
6439 name: "SDL_PROP_RENDERER_VULKAN_SURFACE_NUMBER",
6440 value: "SDL.renderer.vulkan.surface",
6441 ty: PropertyType::Number,
6442 doc: "",
6443};
6444pub const SDL_PROP_RENDERER_VULKAN_PHYSICAL_DEVICE_POINTER: Property = Property {
6445 name: "SDL_PROP_RENDERER_VULKAN_PHYSICAL_DEVICE_POINTER",
6446 value: "SDL.renderer.vulkan.physical_device",
6447 ty: PropertyType::Pointer,
6448 doc: "",
6449};
6450pub const SDL_PROP_RENDERER_VULKAN_DEVICE_POINTER: Property = Property {
6451 name: "SDL_PROP_RENDERER_VULKAN_DEVICE_POINTER",
6452 value: "SDL.renderer.vulkan.device",
6453 ty: PropertyType::Pointer,
6454 doc: "",
6455};
6456pub const SDL_PROP_RENDERER_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER: Property = Property {
6457 name: "SDL_PROP_RENDERER_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER",
6458 value: "SDL.renderer.vulkan.graphics_queue_family_index",
6459 ty: PropertyType::Number,
6460 doc: "",
6461};
6462pub const SDL_PROP_RENDERER_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER: Property = Property {
6463 name: "SDL_PROP_RENDERER_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER",
6464 value: "SDL.renderer.vulkan.present_queue_family_index",
6465 ty: PropertyType::Number,
6466 doc: "",
6467};
6468pub const SDL_PROP_RENDERER_VULKAN_SWAPCHAIN_IMAGE_COUNT_NUMBER: Property = Property {
6469 name: "SDL_PROP_RENDERER_VULKAN_SWAPCHAIN_IMAGE_COUNT_NUMBER",
6470 value: "SDL.renderer.vulkan.swapchain_image_count",
6471 ty: PropertyType::Number,
6472 doc: "",
6473};
6474pub const SDL_PROP_RENDERER_GPU_DEVICE_POINTER: Property = Property {
6475 name: "SDL_PROP_RENDERER_GPU_DEVICE_POINTER",
6476 value: "SDL.renderer.gpu.device",
6477 ty: PropertyType::Pointer,
6478 doc: "",
6479};
6480pub const SDL_PROP_TEXTURE_CREATE_COLORSPACE_NUMBER: Property = Property {
6481 name: "SDL_PROP_TEXTURE_CREATE_COLORSPACE_NUMBER",
6482 value: "SDL.texture.create.colorspace",
6483 ty: PropertyType::Number,
6484 doc: "",
6485};
6486pub const SDL_PROP_TEXTURE_CREATE_FORMAT_NUMBER: Property = Property {
6487 name: "SDL_PROP_TEXTURE_CREATE_FORMAT_NUMBER",
6488 value: "SDL.texture.create.format",
6489 ty: PropertyType::Number,
6490 doc: "",
6491};
6492pub const SDL_PROP_TEXTURE_CREATE_ACCESS_NUMBER: Property = Property {
6493 name: "SDL_PROP_TEXTURE_CREATE_ACCESS_NUMBER",
6494 value: "SDL.texture.create.access",
6495 ty: PropertyType::Number,
6496 doc: "",
6497};
6498pub const SDL_PROP_TEXTURE_CREATE_WIDTH_NUMBER: Property = Property {
6499 name: "SDL_PROP_TEXTURE_CREATE_WIDTH_NUMBER",
6500 value: "SDL.texture.create.width",
6501 ty: PropertyType::Number,
6502 doc: "",
6503};
6504pub const SDL_PROP_TEXTURE_CREATE_HEIGHT_NUMBER: Property = Property {
6505 name: "SDL_PROP_TEXTURE_CREATE_HEIGHT_NUMBER",
6506 value: "SDL.texture.create.height",
6507 ty: PropertyType::Number,
6508 doc: "",
6509};
6510pub const SDL_PROP_TEXTURE_CREATE_PALETTE_POINTER: Property = Property {
6511 name: "SDL_PROP_TEXTURE_CREATE_PALETTE_POINTER",
6512 value: "SDL.texture.create.palette",
6513 ty: PropertyType::Pointer,
6514 doc: "",
6515};
6516pub const SDL_PROP_TEXTURE_CREATE_SDR_WHITE_POINT_FLOAT: Property = Property {
6517 name: "SDL_PROP_TEXTURE_CREATE_SDR_WHITE_POINT_FLOAT",
6518 value: "SDL.texture.create.SDR_white_point",
6519 ty: PropertyType::Float,
6520 doc: "",
6521};
6522pub const SDL_PROP_TEXTURE_CREATE_HDR_HEADROOM_FLOAT: Property = Property {
6523 name: "SDL_PROP_TEXTURE_CREATE_HDR_HEADROOM_FLOAT",
6524 value: "SDL.texture.create.HDR_headroom",
6525 ty: PropertyType::Float,
6526 doc: "",
6527};
6528pub const SDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_POINTER: Property = Property {
6529 name: "SDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_POINTER",
6530 value: "SDL.texture.create.d3d11.texture",
6531 ty: PropertyType::Pointer,
6532 doc: "",
6533};
6534pub const SDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_U_POINTER: Property = Property {
6535 name: "SDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_U_POINTER",
6536 value: "SDL.texture.create.d3d11.texture_u",
6537 ty: PropertyType::Pointer,
6538 doc: "",
6539};
6540pub const SDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_V_POINTER: Property = Property {
6541 name: "SDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_V_POINTER",
6542 value: "SDL.texture.create.d3d11.texture_v",
6543 ty: PropertyType::Pointer,
6544 doc: "",
6545};
6546pub const SDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_POINTER: Property = Property {
6547 name: "SDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_POINTER",
6548 value: "SDL.texture.create.d3d12.texture",
6549 ty: PropertyType::Pointer,
6550 doc: "",
6551};
6552pub const SDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_U_POINTER: Property = Property {
6553 name: "SDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_U_POINTER",
6554 value: "SDL.texture.create.d3d12.texture_u",
6555 ty: PropertyType::Pointer,
6556 doc: "",
6557};
6558pub const SDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_V_POINTER: Property = Property {
6559 name: "SDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_V_POINTER",
6560 value: "SDL.texture.create.d3d12.texture_v",
6561 ty: PropertyType::Pointer,
6562 doc: "",
6563};
6564pub const SDL_PROP_TEXTURE_CREATE_METAL_PIXELBUFFER_POINTER: Property = Property {
6565 name: "SDL_PROP_TEXTURE_CREATE_METAL_PIXELBUFFER_POINTER",
6566 value: "SDL.texture.create.metal.pixelbuffer",
6567 ty: PropertyType::Pointer,
6568 doc: "",
6569};
6570pub const SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_NUMBER: Property = Property {
6571 name: "SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_NUMBER",
6572 value: "SDL.texture.create.opengl.texture",
6573 ty: PropertyType::Number,
6574 doc: "",
6575};
6576pub const SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_UV_NUMBER: Property = Property {
6577 name: "SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_UV_NUMBER",
6578 value: "SDL.texture.create.opengl.texture_uv",
6579 ty: PropertyType::Number,
6580 doc: "",
6581};
6582pub const SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_U_NUMBER: Property = Property {
6583 name: "SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_U_NUMBER",
6584 value: "SDL.texture.create.opengl.texture_u",
6585 ty: PropertyType::Number,
6586 doc: "",
6587};
6588pub const SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_V_NUMBER: Property = Property {
6589 name: "SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_V_NUMBER",
6590 value: "SDL.texture.create.opengl.texture_v",
6591 ty: PropertyType::Number,
6592 doc: "",
6593};
6594pub const SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER: Property = Property {
6595 name: "SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER",
6596 value: "SDL.texture.create.opengles2.texture",
6597 ty: PropertyType::Number,
6598 doc: "",
6599};
6600pub const SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER: Property = Property {
6601 name: "SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER",
6602 value: "SDL.texture.create.opengles2.texture_uv",
6603 ty: PropertyType::Number,
6604 doc: "",
6605};
6606pub const SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER: Property = Property {
6607 name: "SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER",
6608 value: "SDL.texture.create.opengles2.texture_u",
6609 ty: PropertyType::Number,
6610 doc: "",
6611};
6612pub const SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_V_NUMBER: Property = Property {
6613 name: "SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_V_NUMBER",
6614 value: "SDL.texture.create.opengles2.texture_v",
6615 ty: PropertyType::Number,
6616 doc: "",
6617};
6618pub const SDL_PROP_TEXTURE_CREATE_VULKAN_TEXTURE_NUMBER: Property = Property {
6619 name: "SDL_PROP_TEXTURE_CREATE_VULKAN_TEXTURE_NUMBER",
6620 value: "SDL.texture.create.vulkan.texture",
6621 ty: PropertyType::Number,
6622 doc: "",
6623};
6624pub const SDL_PROP_TEXTURE_CREATE_VULKAN_LAYOUT_NUMBER: Property = Property {
6625 name: "SDL_PROP_TEXTURE_CREATE_VULKAN_LAYOUT_NUMBER",
6626 value: "SDL.texture.create.vulkan.layout",
6627 ty: PropertyType::Number,
6628 doc: "",
6629};
6630pub const SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER: Property = Property {
6631 name: "SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER",
6632 value: "SDL.texture.create.gpu.texture",
6633 ty: PropertyType::Pointer,
6634 doc: "",
6635};
6636pub const SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_UV_POINTER: Property = Property {
6637 name: "SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_UV_POINTER",
6638 value: "SDL.texture.create.gpu.texture_uv",
6639 ty: PropertyType::Pointer,
6640 doc: "",
6641};
6642pub const SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_U_POINTER: Property = Property {
6643 name: "SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_U_POINTER",
6644 value: "SDL.texture.create.gpu.texture_u",
6645 ty: PropertyType::Pointer,
6646 doc: "",
6647};
6648pub const SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_V_POINTER: Property = Property {
6649 name: "SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_V_POINTER",
6650 value: "SDL.texture.create.gpu.texture_v",
6651 ty: PropertyType::Pointer,
6652 doc: "",
6653};
6654pub const SDL_PROP_TEXTURE_COLORSPACE_NUMBER: Property = Property {
6655 name: "SDL_PROP_TEXTURE_COLORSPACE_NUMBER",
6656 value: "SDL.texture.colorspace",
6657 ty: PropertyType::Number,
6658 doc: "",
6659};
6660pub const SDL_PROP_TEXTURE_FORMAT_NUMBER: Property = Property {
6661 name: "SDL_PROP_TEXTURE_FORMAT_NUMBER",
6662 value: "SDL.texture.format",
6663 ty: PropertyType::Number,
6664 doc: "",
6665};
6666pub const SDL_PROP_TEXTURE_ACCESS_NUMBER: Property = Property {
6667 name: "SDL_PROP_TEXTURE_ACCESS_NUMBER",
6668 value: "SDL.texture.access",
6669 ty: PropertyType::Number,
6670 doc: "",
6671};
6672pub const SDL_PROP_TEXTURE_WIDTH_NUMBER: Property = Property {
6673 name: "SDL_PROP_TEXTURE_WIDTH_NUMBER",
6674 value: "SDL.texture.width",
6675 ty: PropertyType::Number,
6676 doc: "",
6677};
6678pub const SDL_PROP_TEXTURE_HEIGHT_NUMBER: Property = Property {
6679 name: "SDL_PROP_TEXTURE_HEIGHT_NUMBER",
6680 value: "SDL.texture.height",
6681 ty: PropertyType::Number,
6682 doc: "",
6683};
6684pub const SDL_PROP_TEXTURE_SDR_WHITE_POINT_FLOAT: Property = Property {
6685 name: "SDL_PROP_TEXTURE_SDR_WHITE_POINT_FLOAT",
6686 value: "SDL.texture.SDR_white_point",
6687 ty: PropertyType::Float,
6688 doc: "",
6689};
6690pub const SDL_PROP_TEXTURE_HDR_HEADROOM_FLOAT: Property = Property {
6691 name: "SDL_PROP_TEXTURE_HDR_HEADROOM_FLOAT",
6692 value: "SDL.texture.HDR_headroom",
6693 ty: PropertyType::Float,
6694 doc: "",
6695};
6696pub const SDL_PROP_TEXTURE_D3D11_TEXTURE_POINTER: Property = Property {
6697 name: "SDL_PROP_TEXTURE_D3D11_TEXTURE_POINTER",
6698 value: "SDL.texture.d3d11.texture",
6699 ty: PropertyType::Pointer,
6700 doc: "",
6701};
6702pub const SDL_PROP_TEXTURE_D3D11_TEXTURE_U_POINTER: Property = Property {
6703 name: "SDL_PROP_TEXTURE_D3D11_TEXTURE_U_POINTER",
6704 value: "SDL.texture.d3d11.texture_u",
6705 ty: PropertyType::Pointer,
6706 doc: "",
6707};
6708pub const SDL_PROP_TEXTURE_D3D11_TEXTURE_V_POINTER: Property = Property {
6709 name: "SDL_PROP_TEXTURE_D3D11_TEXTURE_V_POINTER",
6710 value: "SDL.texture.d3d11.texture_v",
6711 ty: PropertyType::Pointer,
6712 doc: "",
6713};
6714pub const SDL_PROP_TEXTURE_D3D12_TEXTURE_POINTER: Property = Property {
6715 name: "SDL_PROP_TEXTURE_D3D12_TEXTURE_POINTER",
6716 value: "SDL.texture.d3d12.texture",
6717 ty: PropertyType::Pointer,
6718 doc: "",
6719};
6720pub const SDL_PROP_TEXTURE_D3D12_TEXTURE_U_POINTER: Property = Property {
6721 name: "SDL_PROP_TEXTURE_D3D12_TEXTURE_U_POINTER",
6722 value: "SDL.texture.d3d12.texture_u",
6723 ty: PropertyType::Pointer,
6724 doc: "",
6725};
6726pub const SDL_PROP_TEXTURE_D3D12_TEXTURE_V_POINTER: Property = Property {
6727 name: "SDL_PROP_TEXTURE_D3D12_TEXTURE_V_POINTER",
6728 value: "SDL.texture.d3d12.texture_v",
6729 ty: PropertyType::Pointer,
6730 doc: "",
6731};
6732pub const SDL_PROP_TEXTURE_OPENGL_TEXTURE_NUMBER: Property = Property {
6733 name: "SDL_PROP_TEXTURE_OPENGL_TEXTURE_NUMBER",
6734 value: "SDL.texture.opengl.texture",
6735 ty: PropertyType::Number,
6736 doc: "",
6737};
6738pub const SDL_PROP_TEXTURE_OPENGL_TEXTURE_UV_NUMBER: Property = Property {
6739 name: "SDL_PROP_TEXTURE_OPENGL_TEXTURE_UV_NUMBER",
6740 value: "SDL.texture.opengl.texture_uv",
6741 ty: PropertyType::Number,
6742 doc: "",
6743};
6744pub const SDL_PROP_TEXTURE_OPENGL_TEXTURE_U_NUMBER: Property = Property {
6745 name: "SDL_PROP_TEXTURE_OPENGL_TEXTURE_U_NUMBER",
6746 value: "SDL.texture.opengl.texture_u",
6747 ty: PropertyType::Number,
6748 doc: "",
6749};
6750pub const SDL_PROP_TEXTURE_OPENGL_TEXTURE_V_NUMBER: Property = Property {
6751 name: "SDL_PROP_TEXTURE_OPENGL_TEXTURE_V_NUMBER",
6752 value: "SDL.texture.opengl.texture_v",
6753 ty: PropertyType::Number,
6754 doc: "",
6755};
6756pub const SDL_PROP_TEXTURE_OPENGL_TEXTURE_TARGET_NUMBER: Property = Property {
6757 name: "SDL_PROP_TEXTURE_OPENGL_TEXTURE_TARGET_NUMBER",
6758 value: "SDL.texture.opengl.target",
6759 ty: PropertyType::Number,
6760 doc: "",
6761};
6762pub const SDL_PROP_TEXTURE_OPENGL_TEX_W_FLOAT: Property = Property {
6763 name: "SDL_PROP_TEXTURE_OPENGL_TEX_W_FLOAT",
6764 value: "SDL.texture.opengl.tex_w",
6765 ty: PropertyType::Float,
6766 doc: "",
6767};
6768pub const SDL_PROP_TEXTURE_OPENGL_TEX_H_FLOAT: Property = Property {
6769 name: "SDL_PROP_TEXTURE_OPENGL_TEX_H_FLOAT",
6770 value: "SDL.texture.opengl.tex_h",
6771 ty: PropertyType::Float,
6772 doc: "",
6773};
6774pub const SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_NUMBER: Property = Property {
6775 name: "SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_NUMBER",
6776 value: "SDL.texture.opengles2.texture",
6777 ty: PropertyType::Number,
6778 doc: "",
6779};
6780pub const SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_UV_NUMBER: Property = Property {
6781 name: "SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_UV_NUMBER",
6782 value: "SDL.texture.opengles2.texture_uv",
6783 ty: PropertyType::Number,
6784 doc: "",
6785};
6786pub const SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_U_NUMBER: Property = Property {
6787 name: "SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_U_NUMBER",
6788 value: "SDL.texture.opengles2.texture_u",
6789 ty: PropertyType::Number,
6790 doc: "",
6791};
6792pub const SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_V_NUMBER: Property = Property {
6793 name: "SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_V_NUMBER",
6794 value: "SDL.texture.opengles2.texture_v",
6795 ty: PropertyType::Number,
6796 doc: "",
6797};
6798pub const SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_TARGET_NUMBER: Property = Property {
6799 name: "SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_TARGET_NUMBER",
6800 value: "SDL.texture.opengles2.target",
6801 ty: PropertyType::Number,
6802 doc: "",
6803};
6804pub const SDL_PROP_TEXTURE_VULKAN_TEXTURE_NUMBER: Property = Property {
6805 name: "SDL_PROP_TEXTURE_VULKAN_TEXTURE_NUMBER",
6806 value: "SDL.texture.vulkan.texture",
6807 ty: PropertyType::Number,
6808 doc: "",
6809};
6810pub const SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER: Property = Property {
6811 name: "SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER",
6812 value: "SDL.texture.gpu.texture",
6813 ty: PropertyType::Pointer,
6814 doc: "",
6815};
6816pub const SDL_PROP_TEXTURE_GPU_TEXTURE_UV_POINTER: Property = Property {
6817 name: "SDL_PROP_TEXTURE_GPU_TEXTURE_UV_POINTER",
6818 value: "SDL.texture.gpu.texture_uv",
6819 ty: PropertyType::Pointer,
6820 doc: "",
6821};
6822pub const SDL_PROP_TEXTURE_GPU_TEXTURE_U_POINTER: Property = Property {
6823 name: "SDL_PROP_TEXTURE_GPU_TEXTURE_U_POINTER",
6824 value: "SDL.texture.gpu.texture_u",
6825 ty: PropertyType::Pointer,
6826 doc: "",
6827};
6828pub const SDL_PROP_TEXTURE_GPU_TEXTURE_V_POINTER: Property = Property {
6829 name: "SDL_PROP_TEXTURE_GPU_TEXTURE_V_POINTER",
6830 value: "SDL.texture.gpu.texture_v",
6831 ty: PropertyType::Pointer,
6832 doc: "",
6833};
6834pub const SDL_PROP_SURFACE_SDR_WHITE_POINT_FLOAT: Property = Property {
6835 name: "SDL_PROP_SURFACE_SDR_WHITE_POINT_FLOAT",
6836 value: "SDL.surface.SDR_white_point",
6837 ty: PropertyType::Float,
6838 doc: "",
6839};
6840pub const SDL_PROP_SURFACE_HDR_HEADROOM_FLOAT: Property = Property {
6841 name: "SDL_PROP_SURFACE_HDR_HEADROOM_FLOAT",
6842 value: "SDL.surface.HDR_headroom",
6843 ty: PropertyType::Float,
6844 doc: "",
6845};
6846pub const SDL_PROP_SURFACE_TONEMAP_OPERATOR_STRING: Property = Property {
6847 name: "SDL_PROP_SURFACE_TONEMAP_OPERATOR_STRING",
6848 value: "SDL.surface.tonemap",
6849 ty: PropertyType::String,
6850 doc: "",
6851};
6852pub const SDL_PROP_SURFACE_HOTSPOT_X_NUMBER: Property = Property {
6853 name: "SDL_PROP_SURFACE_HOTSPOT_X_NUMBER",
6854 value: "SDL.surface.hotspot.x",
6855 ty: PropertyType::Number,
6856 doc: "",
6857};
6858pub const SDL_PROP_SURFACE_HOTSPOT_Y_NUMBER: Property = Property {
6859 name: "SDL_PROP_SURFACE_HOTSPOT_Y_NUMBER",
6860 value: "SDL.surface.hotspot.y",
6861 ty: PropertyType::Number,
6862 doc: "",
6863};
6864pub const SDL_PROP_SURFACE_ROTATION_FLOAT: Property = Property {
6865 name: "SDL_PROP_SURFACE_ROTATION_FLOAT",
6866 value: "SDL.surface.rotation",
6867 ty: PropertyType::Float,
6868 doc: "",
6869};
6870pub const SDL_PROP_THREAD_CREATE_ENTRY_FUNCTION_POINTER: Property = Property {
6871 name: "SDL_PROP_THREAD_CREATE_ENTRY_FUNCTION_POINTER",
6872 value: "SDL.thread.create.entry_function",
6873 ty: PropertyType::Pointer,
6874 doc: "",
6875};
6876pub const SDL_PROP_THREAD_CREATE_NAME_STRING: Property = Property {
6877 name: "SDL_PROP_THREAD_CREATE_NAME_STRING",
6878 value: "SDL.thread.create.name",
6879 ty: PropertyType::String,
6880 doc: "",
6881};
6882pub const SDL_PROP_THREAD_CREATE_USERDATA_POINTER: Property = Property {
6883 name: "SDL_PROP_THREAD_CREATE_USERDATA_POINTER",
6884 value: "SDL.thread.create.userdata",
6885 ty: PropertyType::Pointer,
6886 doc: "",
6887};
6888pub const SDL_PROP_THREAD_CREATE_STACKSIZE_NUMBER: Property = Property {
6889 name: "SDL_PROP_THREAD_CREATE_STACKSIZE_NUMBER",
6890 value: "SDL.thread.create.stacksize",
6891 ty: PropertyType::Number,
6892 doc: "",
6893};
6894pub const SDL_PROP_TRAY_CREATE_ICON_POINTER: Property = Property {
6895 name: "SDL_PROP_TRAY_CREATE_ICON_POINTER",
6896 value: "SDL.tray.create.icon",
6897 ty: PropertyType::Pointer,
6898 doc: "",
6899};
6900pub const SDL_PROP_TRAY_CREATE_TOOLTIP_STRING: Property = Property {
6901 name: "SDL_PROP_TRAY_CREATE_TOOLTIP_STRING",
6902 value: "SDL.tray.create.tooltip",
6903 ty: PropertyType::String,
6904 doc: "",
6905};
6906pub const SDL_PROP_TRAY_CREATE_USERDATA_POINTER: Property = Property {
6907 name: "SDL_PROP_TRAY_CREATE_USERDATA_POINTER",
6908 value: "SDL.tray.create.userdata",
6909 ty: PropertyType::Pointer,
6910 doc: "",
6911};
6912pub const SDL_PROP_TRAY_CREATE_LEFTCLICK_CALLBACK_POINTER: Property = Property {
6913 name: "SDL_PROP_TRAY_CREATE_LEFTCLICK_CALLBACK_POINTER",
6914 value: "SDL.tray.create.leftclick_callback",
6915 ty: PropertyType::Pointer,
6916 doc: "",
6917};
6918pub const SDL_PROP_TRAY_CREATE_RIGHTCLICK_CALLBACK_POINTER: Property = Property {
6919 name: "SDL_PROP_TRAY_CREATE_RIGHTCLICK_CALLBACK_POINTER",
6920 value: "SDL.tray.create.rightclick_callback",
6921 ty: PropertyType::Pointer,
6922 doc: "",
6923};
6924pub const SDL_PROP_TRAY_CREATE_MIDDLECLICK_CALLBACK_POINTER: Property = Property {
6925 name: "SDL_PROP_TRAY_CREATE_MIDDLECLICK_CALLBACK_POINTER",
6926 value: "SDL.tray.create.middleclick_callback",
6927 ty: PropertyType::Pointer,
6928 doc: "",
6929};
6930pub const SDL_PROP_GLOBAL_VIDEO_WAYLAND_WL_DISPLAY_POINTER: Property = Property {
6946 name: "SDL_PROP_GLOBAL_VIDEO_WAYLAND_WL_DISPLAY_POINTER",
6947 value: "SDL.video.wayland.wl_display",
6948 ty: PropertyType::Pointer,
6949 doc: "/**\n* The pointer to the global `wl_display` object used by the Wayland video\n* backend.\n*\n* Can be set before the video subsystem is initialized to import an external\n* `wl_display` object from an application or toolkit for use in SDL, or read\n* after initialization to export the `wl_display` used by the Wayland video\n* backend. Setting this property after the video subsystem has been\n* initialized has no effect, and reading it when the video subsystem is\n* uninitialized will either return the user provided value, if one was set\n* prior to initialization, or NULL. See docs/README-wayland.md for more\n* information.\n*\n* \\since This macro is available since SDL 3.2.0.\n*/\n",
6950};
6951pub const SDL_PROP_DISPLAY_HDR_ENABLED_BOOLEAN: Property = Property {
6952 name: "SDL_PROP_DISPLAY_HDR_ENABLED_BOOLEAN",
6953 value: "SDL.display.HDR_enabled",
6954 ty: PropertyType::Boolean,
6955 doc: "",
6956};
6957pub const SDL_PROP_DISPLAY_KMSDRM_PANEL_ORIENTATION_NUMBER: Property = Property {
6958 name: "SDL_PROP_DISPLAY_KMSDRM_PANEL_ORIENTATION_NUMBER",
6959 value: "SDL.display.KMSDRM.panel_orientation",
6960 ty: PropertyType::Number,
6961 doc: "",
6962};
6963pub const SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER: Property = Property {
6964 name: "SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER",
6965 value: "SDL.display.wayland.wl_output",
6966 ty: PropertyType::Pointer,
6967 doc: "",
6968};
6969pub const SDL_PROP_DISPLAY_WINDOWS_HMONITOR_POINTER: Property = Property {
6970 name: "SDL_PROP_DISPLAY_WINDOWS_HMONITOR_POINTER",
6971 value: "SDL.display.windows.hmonitor",
6972 ty: PropertyType::Pointer,
6973 doc: "",
6974};
6975pub const SDL_PROP_WINDOW_CREATE_ALWAYS_ON_TOP_BOOLEAN: Property = Property {
6976 name: "SDL_PROP_WINDOW_CREATE_ALWAYS_ON_TOP_BOOLEAN",
6977 value: "SDL.window.create.always_on_top",
6978 ty: PropertyType::Boolean,
6979 doc: "",
6980};
6981pub const SDL_PROP_WINDOW_CREATE_BORDERLESS_BOOLEAN: Property = Property {
6982 name: "SDL_PROP_WINDOW_CREATE_BORDERLESS_BOOLEAN",
6983 value: "SDL.window.create.borderless",
6984 ty: PropertyType::Boolean,
6985 doc: "",
6986};
6987pub const SDL_PROP_WINDOW_CREATE_CONSTRAIN_POPUP_BOOLEAN: Property = Property {
6988 name: "SDL_PROP_WINDOW_CREATE_CONSTRAIN_POPUP_BOOLEAN",
6989 value: "SDL.window.create.constrain_popup",
6990 ty: PropertyType::Boolean,
6991 doc: "",
6992};
6993pub const SDL_PROP_WINDOW_CREATE_FOCUSABLE_BOOLEAN: Property = Property {
6994 name: "SDL_PROP_WINDOW_CREATE_FOCUSABLE_BOOLEAN",
6995 value: "SDL.window.create.focusable",
6996 ty: PropertyType::Boolean,
6997 doc: "",
6998};
6999pub const SDL_PROP_WINDOW_CREATE_EXTERNAL_GRAPHICS_CONTEXT_BOOLEAN: Property = Property {
7000 name: "SDL_PROP_WINDOW_CREATE_EXTERNAL_GRAPHICS_CONTEXT_BOOLEAN",
7001 value: "SDL.window.create.external_graphics_context",
7002 ty: PropertyType::Boolean,
7003 doc: "",
7004};
7005pub const SDL_PROP_WINDOW_CREATE_FLAGS_NUMBER: Property = Property {
7006 name: "SDL_PROP_WINDOW_CREATE_FLAGS_NUMBER",
7007 value: "SDL.window.create.flags",
7008 ty: PropertyType::Number,
7009 doc: "",
7010};
7011pub const SDL_PROP_WINDOW_CREATE_FULLSCREEN_BOOLEAN: Property = Property {
7012 name: "SDL_PROP_WINDOW_CREATE_FULLSCREEN_BOOLEAN",
7013 value: "SDL.window.create.fullscreen",
7014 ty: PropertyType::Boolean,
7015 doc: "",
7016};
7017pub const SDL_PROP_WINDOW_CREATE_HEIGHT_NUMBER: Property = Property {
7018 name: "SDL_PROP_WINDOW_CREATE_HEIGHT_NUMBER",
7019 value: "SDL.window.create.height",
7020 ty: PropertyType::Number,
7021 doc: "",
7022};
7023pub const SDL_PROP_WINDOW_CREATE_HIDDEN_BOOLEAN: Property = Property {
7024 name: "SDL_PROP_WINDOW_CREATE_HIDDEN_BOOLEAN",
7025 value: "SDL.window.create.hidden",
7026 ty: PropertyType::Boolean,
7027 doc: "",
7028};
7029pub const SDL_PROP_WINDOW_CREATE_HIGH_PIXEL_DENSITY_BOOLEAN: Property = Property {
7030 name: "SDL_PROP_WINDOW_CREATE_HIGH_PIXEL_DENSITY_BOOLEAN",
7031 value: "SDL.window.create.high_pixel_density",
7032 ty: PropertyType::Boolean,
7033 doc: "",
7034};
7035pub const SDL_PROP_WINDOW_CREATE_MAXIMIZED_BOOLEAN: Property = Property {
7036 name: "SDL_PROP_WINDOW_CREATE_MAXIMIZED_BOOLEAN",
7037 value: "SDL.window.create.maximized",
7038 ty: PropertyType::Boolean,
7039 doc: "",
7040};
7041pub const SDL_PROP_WINDOW_CREATE_MENU_BOOLEAN: Property = Property {
7042 name: "SDL_PROP_WINDOW_CREATE_MENU_BOOLEAN",
7043 value: "SDL.window.create.menu",
7044 ty: PropertyType::Boolean,
7045 doc: "",
7046};
7047pub const SDL_PROP_WINDOW_CREATE_METAL_BOOLEAN: Property = Property {
7048 name: "SDL_PROP_WINDOW_CREATE_METAL_BOOLEAN",
7049 value: "SDL.window.create.metal",
7050 ty: PropertyType::Boolean,
7051 doc: "",
7052};
7053pub const SDL_PROP_WINDOW_CREATE_MINIMIZED_BOOLEAN: Property = Property {
7054 name: "SDL_PROP_WINDOW_CREATE_MINIMIZED_BOOLEAN",
7055 value: "SDL.window.create.minimized",
7056 ty: PropertyType::Boolean,
7057 doc: "",
7058};
7059pub const SDL_PROP_WINDOW_CREATE_MODAL_BOOLEAN: Property = Property {
7060 name: "SDL_PROP_WINDOW_CREATE_MODAL_BOOLEAN",
7061 value: "SDL.window.create.modal",
7062 ty: PropertyType::Boolean,
7063 doc: "",
7064};
7065pub const SDL_PROP_WINDOW_CREATE_MOUSE_GRABBED_BOOLEAN: Property = Property {
7066 name: "SDL_PROP_WINDOW_CREATE_MOUSE_GRABBED_BOOLEAN",
7067 value: "SDL.window.create.mouse_grabbed",
7068 ty: PropertyType::Boolean,
7069 doc: "",
7070};
7071pub const SDL_PROP_WINDOW_CREATE_OPENGL_BOOLEAN: Property = Property {
7072 name: "SDL_PROP_WINDOW_CREATE_OPENGL_BOOLEAN",
7073 value: "SDL.window.create.opengl",
7074 ty: PropertyType::Boolean,
7075 doc: "",
7076};
7077pub const SDL_PROP_WINDOW_CREATE_PARENT_POINTER: Property = Property {
7078 name: "SDL_PROP_WINDOW_CREATE_PARENT_POINTER",
7079 value: "SDL.window.create.parent",
7080 ty: PropertyType::Pointer,
7081 doc: "",
7082};
7083pub const SDL_PROP_WINDOW_CREATE_RESIZABLE_BOOLEAN: Property = Property {
7084 name: "SDL_PROP_WINDOW_CREATE_RESIZABLE_BOOLEAN",
7085 value: "SDL.window.create.resizable",
7086 ty: PropertyType::Boolean,
7087 doc: "",
7088};
7089pub const SDL_PROP_WINDOW_CREATE_TITLE_STRING: Property = Property {
7090 name: "SDL_PROP_WINDOW_CREATE_TITLE_STRING",
7091 value: "SDL.window.create.title",
7092 ty: PropertyType::String,
7093 doc: "",
7094};
7095pub const SDL_PROP_WINDOW_CREATE_TRANSPARENT_BOOLEAN: Property = Property {
7096 name: "SDL_PROP_WINDOW_CREATE_TRANSPARENT_BOOLEAN",
7097 value: "SDL.window.create.transparent",
7098 ty: PropertyType::Boolean,
7099 doc: "",
7100};
7101pub const SDL_PROP_WINDOW_CREATE_TOOLTIP_BOOLEAN: Property = Property {
7102 name: "SDL_PROP_WINDOW_CREATE_TOOLTIP_BOOLEAN",
7103 value: "SDL.window.create.tooltip",
7104 ty: PropertyType::Boolean,
7105 doc: "",
7106};
7107pub const SDL_PROP_WINDOW_CREATE_UTILITY_BOOLEAN: Property = Property {
7108 name: "SDL_PROP_WINDOW_CREATE_UTILITY_BOOLEAN",
7109 value: "SDL.window.create.utility",
7110 ty: PropertyType::Boolean,
7111 doc: "",
7112};
7113pub const SDL_PROP_WINDOW_CREATE_VULKAN_BOOLEAN: Property = Property {
7114 name: "SDL_PROP_WINDOW_CREATE_VULKAN_BOOLEAN",
7115 value: "SDL.window.create.vulkan",
7116 ty: PropertyType::Boolean,
7117 doc: "",
7118};
7119pub const SDL_PROP_WINDOW_CREATE_WIDTH_NUMBER: Property = Property {
7120 name: "SDL_PROP_WINDOW_CREATE_WIDTH_NUMBER",
7121 value: "SDL.window.create.width",
7122 ty: PropertyType::Number,
7123 doc: "",
7124};
7125pub const SDL_PROP_WINDOW_CREATE_X_NUMBER: Property = Property {
7126 name: "SDL_PROP_WINDOW_CREATE_X_NUMBER",
7127 value: "SDL.window.create.x",
7128 ty: PropertyType::Number,
7129 doc: "",
7130};
7131pub const SDL_PROP_WINDOW_CREATE_Y_NUMBER: Property = Property {
7132 name: "SDL_PROP_WINDOW_CREATE_Y_NUMBER",
7133 value: "SDL.window.create.y",
7134 ty: PropertyType::Number,
7135 doc: "",
7136};
7137pub const SDL_PROP_WINDOW_CREATE_COCOA_WINDOW_POINTER: Property = Property {
7138 name: "SDL_PROP_WINDOW_CREATE_COCOA_WINDOW_POINTER",
7139 value: "SDL.window.create.cocoa.window",
7140 ty: PropertyType::Pointer,
7141 doc: "",
7142};
7143pub const SDL_PROP_WINDOW_CREATE_COCOA_VIEW_POINTER: Property = Property {
7144 name: "SDL_PROP_WINDOW_CREATE_COCOA_VIEW_POINTER",
7145 value: "SDL.window.create.cocoa.view",
7146 ty: PropertyType::Pointer,
7147 doc: "",
7148};
7149pub const SDL_PROP_WINDOW_CREATE_WINDOWSCENE_POINTER: Property = Property {
7150 name: "SDL_PROP_WINDOW_CREATE_WINDOWSCENE_POINTER",
7151 value: "SDL.window.create.uikit.windowscene",
7152 ty: PropertyType::Pointer,
7153 doc: "",
7154};
7155pub const SDL_PROP_WINDOW_CREATE_WAYLAND_SURFACE_ROLE_CUSTOM_BOOLEAN: Property = Property {
7156 name: "SDL_PROP_WINDOW_CREATE_WAYLAND_SURFACE_ROLE_CUSTOM_BOOLEAN",
7157 value: "SDL.window.create.wayland.surface_role_custom",
7158 ty: PropertyType::Boolean,
7159 doc: "",
7160};
7161pub const SDL_PROP_WINDOW_CREATE_WAYLAND_CREATE_EGL_WINDOW_BOOLEAN: Property = Property {
7162 name: "SDL_PROP_WINDOW_CREATE_WAYLAND_CREATE_EGL_WINDOW_BOOLEAN",
7163 value: "SDL.window.create.wayland.create_egl_window",
7164 ty: PropertyType::Boolean,
7165 doc: "",
7166};
7167pub const SDL_PROP_WINDOW_CREATE_WAYLAND_WL_SURFACE_POINTER: Property = Property {
7168 name: "SDL_PROP_WINDOW_CREATE_WAYLAND_WL_SURFACE_POINTER",
7169 value: "SDL.window.create.wayland.wl_surface",
7170 ty: PropertyType::Pointer,
7171 doc: "",
7172};
7173pub const SDL_PROP_WINDOW_CREATE_WIN32_HWND_POINTER: Property = Property {
7174 name: "SDL_PROP_WINDOW_CREATE_WIN32_HWND_POINTER",
7175 value: "SDL.window.create.win32.hwnd",
7176 ty: PropertyType::Pointer,
7177 doc: "",
7178};
7179pub const SDL_PROP_WINDOW_CREATE_WIN32_PIXEL_FORMAT_HWND_POINTER: Property = Property {
7180 name: "SDL_PROP_WINDOW_CREATE_WIN32_PIXEL_FORMAT_HWND_POINTER",
7181 value: "SDL.window.create.win32.pixel_format_hwnd",
7182 ty: PropertyType::Pointer,
7183 doc: "",
7184};
7185pub const SDL_PROP_WINDOW_CREATE_X11_WINDOW_NUMBER: Property = Property {
7186 name: "SDL_PROP_WINDOW_CREATE_X11_WINDOW_NUMBER",
7187 value: "SDL.window.create.x11.window",
7188 ty: PropertyType::Number,
7189 doc: "",
7190};
7191pub const SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING: Property = Property {
7192 name: "SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING",
7193 value: "SDL.window.create.emscripten.canvas_id",
7194 ty: PropertyType::String,
7195 doc: "",
7196};
7197pub const SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING: Property = Property {
7198 name: "SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING",
7199 value: "SDL.window.create.emscripten.keyboard_element",
7200 ty: PropertyType::String,
7201 doc: "",
7202};
7203pub const SDL_PROP_WINDOW_SHAPE_POINTER: Property = Property {
7204 name: "SDL_PROP_WINDOW_SHAPE_POINTER",
7205 value: "SDL.window.shape",
7206 ty: PropertyType::Pointer,
7207 doc: "",
7208};
7209pub const SDL_PROP_WINDOW_HDR_ENABLED_BOOLEAN: Property = Property {
7210 name: "SDL_PROP_WINDOW_HDR_ENABLED_BOOLEAN",
7211 value: "SDL.window.HDR_enabled",
7212 ty: PropertyType::Boolean,
7213 doc: "",
7214};
7215pub const SDL_PROP_WINDOW_SDR_WHITE_LEVEL_FLOAT: Property = Property {
7216 name: "SDL_PROP_WINDOW_SDR_WHITE_LEVEL_FLOAT",
7217 value: "SDL.window.SDR_white_level",
7218 ty: PropertyType::Float,
7219 doc: "",
7220};
7221pub const SDL_PROP_WINDOW_HDR_HEADROOM_FLOAT: Property = Property {
7222 name: "SDL_PROP_WINDOW_HDR_HEADROOM_FLOAT",
7223 value: "SDL.window.HDR_headroom",
7224 ty: PropertyType::Float,
7225 doc: "",
7226};
7227pub const SDL_PROP_WINDOW_ANDROID_WINDOW_POINTER: Property = Property {
7228 name: "SDL_PROP_WINDOW_ANDROID_WINDOW_POINTER",
7229 value: "SDL.window.android.window",
7230 ty: PropertyType::Pointer,
7231 doc: "",
7232};
7233pub const SDL_PROP_WINDOW_ANDROID_SURFACE_POINTER: Property = Property {
7234 name: "SDL_PROP_WINDOW_ANDROID_SURFACE_POINTER",
7235 value: "SDL.window.android.surface",
7236 ty: PropertyType::Pointer,
7237 doc: "",
7238};
7239pub const SDL_PROP_WINDOW_UIKIT_WINDOW_POINTER: Property = Property {
7240 name: "SDL_PROP_WINDOW_UIKIT_WINDOW_POINTER",
7241 value: "SDL.window.uikit.window",
7242 ty: PropertyType::Pointer,
7243 doc: "",
7244};
7245pub const SDL_PROP_WINDOW_UIKIT_METAL_VIEW_TAG_NUMBER: Property = Property {
7246 name: "SDL_PROP_WINDOW_UIKIT_METAL_VIEW_TAG_NUMBER",
7247 value: "SDL.window.uikit.metal_view_tag",
7248 ty: PropertyType::Number,
7249 doc: "",
7250};
7251pub const SDL_PROP_WINDOW_UIKIT_OPENGL_FRAMEBUFFER_NUMBER: Property = Property {
7252 name: "SDL_PROP_WINDOW_UIKIT_OPENGL_FRAMEBUFFER_NUMBER",
7253 value: "SDL.window.uikit.opengl.framebuffer",
7254 ty: PropertyType::Number,
7255 doc: "",
7256};
7257pub const SDL_PROP_WINDOW_UIKIT_OPENGL_RENDERBUFFER_NUMBER: Property = Property {
7258 name: "SDL_PROP_WINDOW_UIKIT_OPENGL_RENDERBUFFER_NUMBER",
7259 value: "SDL.window.uikit.opengl.renderbuffer",
7260 ty: PropertyType::Number,
7261 doc: "",
7262};
7263pub const SDL_PROP_WINDOW_UIKIT_OPENGL_RESOLVE_FRAMEBUFFER_NUMBER: Property = Property {
7264 name: "SDL_PROP_WINDOW_UIKIT_OPENGL_RESOLVE_FRAMEBUFFER_NUMBER",
7265 value: "SDL.window.uikit.opengl.resolve_framebuffer",
7266 ty: PropertyType::Number,
7267 doc: "",
7268};
7269pub const SDL_PROP_WINDOW_KMSDRM_DEVICE_INDEX_NUMBER: Property = Property {
7270 name: "SDL_PROP_WINDOW_KMSDRM_DEVICE_INDEX_NUMBER",
7271 value: "SDL.window.kmsdrm.dev_index",
7272 ty: PropertyType::Number,
7273 doc: "",
7274};
7275pub const SDL_PROP_WINDOW_KMSDRM_DRM_FD_NUMBER: Property = Property {
7276 name: "SDL_PROP_WINDOW_KMSDRM_DRM_FD_NUMBER",
7277 value: "SDL.window.kmsdrm.drm_fd",
7278 ty: PropertyType::Number,
7279 doc: "",
7280};
7281pub const SDL_PROP_WINDOW_KMSDRM_GBM_DEVICE_POINTER: Property = Property {
7282 name: "SDL_PROP_WINDOW_KMSDRM_GBM_DEVICE_POINTER",
7283 value: "SDL.window.kmsdrm.gbm_dev",
7284 ty: PropertyType::Pointer,
7285 doc: "",
7286};
7287pub const SDL_PROP_WINDOW_COCOA_WINDOW_POINTER: Property = Property {
7288 name: "SDL_PROP_WINDOW_COCOA_WINDOW_POINTER",
7289 value: "SDL.window.cocoa.window",
7290 ty: PropertyType::Pointer,
7291 doc: "",
7292};
7293pub const SDL_PROP_WINDOW_COCOA_METAL_VIEW_TAG_NUMBER: Property = Property {
7294 name: "SDL_PROP_WINDOW_COCOA_METAL_VIEW_TAG_NUMBER",
7295 value: "SDL.window.cocoa.metal_view_tag",
7296 ty: PropertyType::Number,
7297 doc: "",
7298};
7299pub const SDL_PROP_WINDOW_OPENVR_OVERLAY_ID_NUMBER: Property = Property {
7300 name: "SDL_PROP_WINDOW_OPENVR_OVERLAY_ID_NUMBER",
7301 value: "SDL.window.openvr.overlay_id",
7302 ty: PropertyType::Number,
7303 doc: "",
7304};
7305pub const SDL_PROP_WINDOW_QNX_WINDOW_POINTER: Property = Property {
7306 name: "SDL_PROP_WINDOW_QNX_WINDOW_POINTER",
7307 value: "SDL.window.qnx.window",
7308 ty: PropertyType::Pointer,
7309 doc: "",
7310};
7311pub const SDL_PROP_WINDOW_QNX_SURFACE_POINTER: Property = Property {
7312 name: "SDL_PROP_WINDOW_QNX_SURFACE_POINTER",
7313 value: "SDL.window.qnx.surface",
7314 ty: PropertyType::Pointer,
7315 doc: "",
7316};
7317pub const SDL_PROP_WINDOW_VIVANTE_DISPLAY_POINTER: Property = Property {
7318 name: "SDL_PROP_WINDOW_VIVANTE_DISPLAY_POINTER",
7319 value: "SDL.window.vivante.display",
7320 ty: PropertyType::Pointer,
7321 doc: "",
7322};
7323pub const SDL_PROP_WINDOW_VIVANTE_WINDOW_POINTER: Property = Property {
7324 name: "SDL_PROP_WINDOW_VIVANTE_WINDOW_POINTER",
7325 value: "SDL.window.vivante.window",
7326 ty: PropertyType::Pointer,
7327 doc: "",
7328};
7329pub const SDL_PROP_WINDOW_VIVANTE_SURFACE_POINTER: Property = Property {
7330 name: "SDL_PROP_WINDOW_VIVANTE_SURFACE_POINTER",
7331 value: "SDL.window.vivante.surface",
7332 ty: PropertyType::Pointer,
7333 doc: "",
7334};
7335pub const SDL_PROP_WINDOW_WIN32_HWND_POINTER: Property = Property {
7336 name: "SDL_PROP_WINDOW_WIN32_HWND_POINTER",
7337 value: "SDL.window.win32.hwnd",
7338 ty: PropertyType::Pointer,
7339 doc: "",
7340};
7341pub const SDL_PROP_WINDOW_WIN32_HDC_POINTER: Property = Property {
7342 name: "SDL_PROP_WINDOW_WIN32_HDC_POINTER",
7343 value: "SDL.window.win32.hdc",
7344 ty: PropertyType::Pointer,
7345 doc: "",
7346};
7347pub const SDL_PROP_WINDOW_WIN32_INSTANCE_POINTER: Property = Property {
7348 name: "SDL_PROP_WINDOW_WIN32_INSTANCE_POINTER",
7349 value: "SDL.window.win32.instance",
7350 ty: PropertyType::Pointer,
7351 doc: "",
7352};
7353pub const SDL_PROP_WINDOW_WAYLAND_DISPLAY_POINTER: Property = Property {
7354 name: "SDL_PROP_WINDOW_WAYLAND_DISPLAY_POINTER",
7355 value: "SDL.window.wayland.display",
7356 ty: PropertyType::Pointer,
7357 doc: "",
7358};
7359pub const SDL_PROP_WINDOW_WAYLAND_SURFACE_POINTER: Property = Property {
7360 name: "SDL_PROP_WINDOW_WAYLAND_SURFACE_POINTER",
7361 value: "SDL.window.wayland.surface",
7362 ty: PropertyType::Pointer,
7363 doc: "",
7364};
7365pub const SDL_PROP_WINDOW_WAYLAND_VIEWPORT_POINTER: Property = Property {
7366 name: "SDL_PROP_WINDOW_WAYLAND_VIEWPORT_POINTER",
7367 value: "SDL.window.wayland.viewport",
7368 ty: PropertyType::Pointer,
7369 doc: "",
7370};
7371pub const SDL_PROP_WINDOW_WAYLAND_EGL_WINDOW_POINTER: Property = Property {
7372 name: "SDL_PROP_WINDOW_WAYLAND_EGL_WINDOW_POINTER",
7373 value: "SDL.window.wayland.egl_window",
7374 ty: PropertyType::Pointer,
7375 doc: "",
7376};
7377pub const SDL_PROP_WINDOW_WAYLAND_XDG_SURFACE_POINTER: Property = Property {
7378 name: "SDL_PROP_WINDOW_WAYLAND_XDG_SURFACE_POINTER",
7379 value: "SDL.window.wayland.xdg_surface",
7380 ty: PropertyType::Pointer,
7381 doc: "",
7382};
7383pub const SDL_PROP_WINDOW_WAYLAND_XDG_TOPLEVEL_POINTER: Property = Property {
7384 name: "SDL_PROP_WINDOW_WAYLAND_XDG_TOPLEVEL_POINTER",
7385 value: "SDL.window.wayland.xdg_toplevel",
7386 ty: PropertyType::Pointer,
7387 doc: "",
7388};
7389pub const SDL_PROP_WINDOW_WAYLAND_XDG_TOPLEVEL_EXPORT_HANDLE_STRING: Property = Property {
7390 name: "SDL_PROP_WINDOW_WAYLAND_XDG_TOPLEVEL_EXPORT_HANDLE_STRING",
7391 value: "SDL.window.wayland.xdg_toplevel_export_handle",
7392 ty: PropertyType::String,
7393 doc: "",
7394};
7395pub const SDL_PROP_WINDOW_WAYLAND_XDG_POPUP_POINTER: Property = Property {
7396 name: "SDL_PROP_WINDOW_WAYLAND_XDG_POPUP_POINTER",
7397 value: "SDL.window.wayland.xdg_popup",
7398 ty: PropertyType::Pointer,
7399 doc: "",
7400};
7401pub const SDL_PROP_WINDOW_WAYLAND_XDG_POSITIONER_POINTER: Property = Property {
7402 name: "SDL_PROP_WINDOW_WAYLAND_XDG_POSITIONER_POINTER",
7403 value: "SDL.window.wayland.xdg_positioner",
7404 ty: PropertyType::Pointer,
7405 doc: "",
7406};
7407pub const SDL_PROP_WINDOW_X11_DISPLAY_POINTER: Property = Property {
7408 name: "SDL_PROP_WINDOW_X11_DISPLAY_POINTER",
7409 value: "SDL.window.x11.display",
7410 ty: PropertyType::Pointer,
7411 doc: "",
7412};
7413pub const SDL_PROP_WINDOW_X11_SCREEN_NUMBER: Property = Property {
7414 name: "SDL_PROP_WINDOW_X11_SCREEN_NUMBER",
7415 value: "SDL.window.x11.screen",
7416 ty: PropertyType::Number,
7417 doc: "",
7418};
7419pub const SDL_PROP_WINDOW_X11_WINDOW_NUMBER: Property = Property {
7420 name: "SDL_PROP_WINDOW_X11_WINDOW_NUMBER",
7421 value: "SDL.window.x11.window",
7422 ty: PropertyType::Number,
7423 doc: "",
7424};
7425pub const SDL_PROP_WINDOW_EMSCRIPTEN_CANVAS_ID_STRING: Property = Property {
7426 name: "SDL_PROP_WINDOW_EMSCRIPTEN_CANVAS_ID_STRING",
7427 value: "SDL.window.emscripten.canvas_id",
7428 ty: PropertyType::String,
7429 doc: "",
7430};
7431pub const SDL_PROP_WINDOW_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING: Property = Property {
7432 name: "SDL_PROP_WINDOW_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING",
7433 value: "SDL.window.emscripten.keyboard_element",
7434 ty: PropertyType::String,
7435 doc: "",
7436};