SDL3pp
A slim C++ wrapper for SDL3
Loading...
Searching...
No Matches
SDL3pp_hints.h
1#ifndef SDL3PP_HINTS_H_
2#define SDL3PP_HINTS_H_
3
4#include <SDL3/SDL_hints.h>
5#include "SDL3pp_callbackWrapper.h"
6#include "SDL3pp_error.h"
7#include "SDL3pp_strings.h"
8
9namespace SDL {
10
28#ifdef SDL3PP_DOC
29
47#define SDL_HINT_ALLOW_ALT_TAB_WHILE_GRABBED "SDL_ALLOW_ALT_TAB_WHILE_GRABBED"
48
67#define SDL_HINT_ANDROID_ALLOW_RECREATE_ACTIVITY \
68 "SDL_ANDROID_ALLOW_RECREATE_ACTIVITY"
69
83#define SDL_HINT_ANDROID_BLOCK_ON_PAUSE "SDL_ANDROID_BLOCK_ON_PAUSE"
84
100#define SDL_HINT_ANDROID_LOW_LATENCY_AUDIO "SDL_ANDROID_LOW_LATENCY_AUDIO"
101
122#define SDL_HINT_ANDROID_TRAP_BACK_BUTTON "SDL_ANDROID_TRAP_BACK_BUTTON"
123
138#define SDL_HINT_APP_ID "SDL_APP_ID"
139
155#define SDL_HINT_APP_NAME "SDL_APP_NAME"
156
178#define SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS \
179 "SDL_APPLE_TV_CONTROLLER_UI_EVENTS"
180
194#define SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION \
195 "SDL_APPLE_TV_REMOTE_ALLOW_ROTATION"
196
215#define SDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE "SDL_AUDIO_ALSA_DEFAULT_DEVICE"
216
233#define SDL_HINT_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE \
234 "SDL_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE"
235
252#define SDL_HINT_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE \
253 "SDL_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE"
254
271#define SDL_HINT_AUDIO_CATEGORY "SDL_AUDIO_CATEGORY"
272
284#define SDL_HINT_AUDIO_CHANNELS "SDL_AUDIO_CHANNELS"
285
307#define SDL_HINT_AUDIO_DEVICE_APP_ICON_NAME "SDL_AUDIO_DEVICE_APP_ICON_NAME"
308
329#define SDL_HINT_AUDIO_DEVICE_SAMPLE_FRAMES "SDL_AUDIO_DEVICE_SAMPLE_FRAMES"
330
356#define SDL_HINT_AUDIO_DEVICE_STREAM_NAME "SDL_AUDIO_DEVICE_STREAM_NAME"
357
395#define SDL_HINT_AUDIO_DEVICE_STREAM_ROLE "SDL_AUDIO_DEVICE_STREAM_ROLE"
396
397#if SDL_VERSION_ATLEAST(3, 4, 0)
398
417#define SDL_HINT_AUDIO_DEVICE_RAW_STREAM "SDL_AUDIO_DEVICE_RAW_STREAM"
418
419#endif // SDL_VERSION_ATLEAST(3, 4, 0)
420
430#define SDL_HINT_AUDIO_DISK_INPUT_FILE "SDL_AUDIO_DISK_INPUT_FILE"
431
441#define SDL_HINT_AUDIO_DISK_OUTPUT_FILE "SDL_AUDIO_DISK_OUTPUT_FILE"
442
454#define SDL_HINT_AUDIO_DISK_TIMESCALE "SDL_AUDIO_DISK_TIMESCALE"
455
468#define SDL_HINT_AUDIO_DRIVER "SDL_AUDIO_DRIVER"
469
481#define SDL_HINT_AUDIO_DUMMY_TIMESCALE "SDL_AUDIO_DUMMY_TIMESCALE"
482
507#define SDL_HINT_AUDIO_FORMAT "SDL_AUDIO_FORMAT"
508
520#define SDL_HINT_AUDIO_FREQUENCY "SDL_AUDIO_FREQUENCY"
521
542#define SDL_HINT_AUDIO_INCLUDE_MONITORS "SDL_AUDIO_INCLUDE_MONITORS"
543
557#define SDL_HINT_AUTO_UPDATE_JOYSTICKS "SDL_AUTO_UPDATE_JOYSTICKS"
558
572#define SDL_HINT_AUTO_UPDATE_SENSORS "SDL_AUTO_UPDATE_SENSORS"
573
594#define SDL_HINT_BMP_SAVE_LEGACY_FORMAT "SDL_BMP_SAVE_LEGACY_FORMAT"
595
610#define SDL_HINT_CAMERA_DRIVER "SDL_CAMERA_DRIVER"
611
642#define SDL_HINT_CPU_FEATURE_MASK "SDL_CPU_FEATURE_MASK"
643
656#define SDL_HINT_JOYSTICK_DIRECTINPUT "SDL_JOYSTICK_DIRECTINPUT"
657
685#define SDL_HINT_FILE_DIALOG_DRIVER "SDL_FILE_DIALOG_DRIVER"
686
702#define SDL_HINT_DISPLAY_USABLE_BOUNDS "SDL_DISPLAY_USABLE_BOUNDS"
703
704#if SDL_VERSION_ATLEAST(3, 4, 0)
705
719#define SDL_HINT_INVALID_PARAM_CHECKS "SDL_INVALID_PARAM_CHECKS"
720
721#endif // SDL_VERSION_ATLEAST(3, 4, 0)
722
742#define SDL_HINT_EMSCRIPTEN_ASYNCIFY "SDL_EMSCRIPTEN_ASYNCIFY"
743
753#define SDL_HINT_EMSCRIPTEN_CANVAS_SELECTOR "SDL_EMSCRIPTEN_CANVAS_SELECTOR"
754
774#define SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT"
775
791#define SDL_HINT_ENABLE_SCREEN_KEYBOARD "SDL_ENABLE_SCREEN_KEYBOARD"
792
808#define SDL_HINT_EVDEV_DEVICES "SDL_EVDEV_DEVICES"
809
830#define SDL_HINT_EVENT_LOGGING "SDL_EVENT_LOGGING"
831
849#define SDL_HINT_FORCE_RAISEWINDOW "SDL_FORCE_RAISEWINDOW"
850
870#define SDL_HINT_FRAMEBUFFER_ACCELERATION "SDL_FRAMEBUFFER_ACCELERATION"
871
885#define SDL_HINT_GAMECONTROLLERCONFIG "SDL_GAMECONTROLLERCONFIG"
886
900#define SDL_HINT_GAMECONTROLLERCONFIG_FILE "SDL_GAMECONTROLLERCONFIG_FILE"
901
924#define SDL_HINT_GAMECONTROLLERTYPE "SDL_GAMECONTROLLERTYPE"
925
942#define SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES \
943 "SDL_GAMECONTROLLER_IGNORE_DEVICES"
944
961#define SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT \
962 "SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT"
963
985#define SDL_HINT_GAMECONTROLLER_SENSOR_FUSION "SDL_GAMECONTROLLER_SENSOR_FUSION"
986
996#define SDL_HINT_GDK_TEXTINPUT_DEFAULT_TEXT "SDL_GDK_TEXTINPUT_DEFAULT_TEXT"
997
1007#define SDL_HINT_GDK_TEXTINPUT_DESCRIPTION "SDL_GDK_TEXTINPUT_DESCRIPTION"
1008
1022#define SDL_HINT_GDK_TEXTINPUT_MAX_LENGTH "SDL_GDK_TEXTINPUT_MAX_LENGTH"
1023
1037#define SDL_HINT_GDK_TEXTINPUT_SCOPE "SDL_GDK_TEXTINPUT_SCOPE"
1038
1048#define SDL_HINT_GDK_TEXTINPUT_TITLE "SDL_GDK_TEXTINPUT_TITLE"
1049
1065#define SDL_HINT_HIDAPI_LIBUSB "SDL_HIDAPI_LIBUSB"
1066
1079#define SDL_HINT_HIDAPI_LIBUSB_GAMECUBE "SDL_HIDAPI_LIBUSB_GAMECUBE"
1080
1097#define SDL_HINT_HIDAPI_LIBUSB_WHITELIST "SDL_HIDAPI_LIBUSB_WHITELIST"
1098
1111#define SDL_HINT_HIDAPI_UDEV "SDL_HIDAPI_UDEV"
1112
1125#define SDL_HINT_GPU_DRIVER "SDL_GPU_DRIVER"
1126
1144#define SDL_HINT_HIDAPI_ENUMERATE_ONLY_CONTROLLERS \
1145 "SDL_HIDAPI_ENUMERATE_ONLY_CONTROLLERS"
1146
1162#define SDL_HINT_HIDAPI_IGNORE_DEVICES "SDL_HIDAPI_IGNORE_DEVICES"
1163
1185#define SDL_HINT_IME_IMPLEMENTED_UI "SDL_IME_IMPLEMENTED_UI"
1186
1204#define SDL_HINT_IOS_HIDE_HOME_INDICATOR "SDL_IOS_HIDE_HOME_INDICATOR"
1205
1221#define SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS \
1222 "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS"
1223
1239#define SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES "SDL_JOYSTICK_ARCADESTICK_DEVICES"
1240
1260#define SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED \
1261 "SDL_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED"
1262
1279#define SDL_HINT_JOYSTICK_BLACKLIST_DEVICES "SDL_JOYSTICK_BLACKLIST_DEVICES"
1280
1299#define SDL_HINT_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED \
1300 "SDL_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED"
1301
1309#define SDL_HINT_JOYSTICK_DEVICE "SDL_JOYSTICK_DEVICE"
1310
1333#define SDL_HINT_JOYSTICK_ENHANCED_REPORTS "SDL_JOYSTICK_ENHANCED_REPORTS"
1334
1350#define SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES "SDL_JOYSTICK_FLIGHTSTICK_DEVICES"
1351
1371#define SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED \
1372 "SDL_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED"
1373
1389#define SDL_HINT_JOYSTICK_GAMEINPUT "SDL_JOYSTICK_GAMEINPUT"
1390
1406#define SDL_HINT_JOYSTICK_GAMECUBE_DEVICES "SDL_JOYSTICK_GAMECUBE_DEVICES"
1407
1427#define SDL_HINT_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED \
1428 "SDL_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED"
1429
1445#define SDL_HINT_JOYSTICK_HIDAPI "SDL_JOYSTICK_HIDAPI"
1446
1462#define SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS \
1463 "SDL_JOYSTICK_HIDAPI_COMBINE_JOY_CONS"
1464
1480#define SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE "SDL_JOYSTICK_HIDAPI_GAMECUBE"
1481
1501#define SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE \
1502 "SDL_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE"
1503
1519#define SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS "SDL_JOYSTICK_HIDAPI_JOY_CONS"
1520
1538#define SDL_HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED \
1539 "SDL_JOYSTICK_HIDAPI_JOYCON_HOME_LED"
1540
1556#define SDL_HINT_JOYSTICK_HIDAPI_LUNA "SDL_JOYSTICK_HIDAPI_LUNA"
1557
1573#define SDL_HINT_JOYSTICK_HIDAPI_NINTENDO_CLASSIC \
1574 "SDL_JOYSTICK_HIDAPI_NINTENDO_CLASSIC"
1575
1596#define SDL_HINT_JOYSTICK_HIDAPI_PS3 "SDL_JOYSTICK_HIDAPI_PS3"
1597
1613#define SDL_HINT_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER \
1614 "SDL_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER"
1615
1631#define SDL_HINT_JOYSTICK_HIDAPI_PS4 "SDL_JOYSTICK_HIDAPI_PS4"
1632
1646#define SDL_HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL \
1647 "SDL_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL"
1648
1664#define SDL_HINT_JOYSTICK_HIDAPI_PS5 "SDL_JOYSTICK_HIDAPI_PS5"
1665
1677#define SDL_HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED \
1678 "SDL_JOYSTICK_HIDAPI_PS5_PLAYER_LED"
1679
1695#define SDL_HINT_JOYSTICK_HIDAPI_SHIELD "SDL_JOYSTICK_HIDAPI_SHIELD"
1696
1710#define SDL_HINT_JOYSTICK_HIDAPI_STADIA "SDL_JOYSTICK_HIDAPI_STADIA"
1711
1726#define SDL_HINT_JOYSTICK_HIDAPI_STEAM "SDL_JOYSTICK_HIDAPI_STEAM"
1727
1745#define SDL_HINT_JOYSTICK_HIDAPI_STEAM_HOME_LED \
1746 "SDL_JOYSTICK_HIDAPI_STEAM_HOME_LED"
1747
1763#define SDL_HINT_JOYSTICK_HIDAPI_STEAMDECK "SDL_JOYSTICK_HIDAPI_STEAMDECK"
1764
1774#define SDL_HINT_JOYSTICK_HIDAPI_STEAM_HORI "SDL_JOYSTICK_HIDAPI_STEAM_HORI"
1775
1787#define SDL_HINT_JOYSTICK_HIDAPI_LG4FF "SDL_JOYSTICK_HIDAPI_LG4FF"
1788
1799#define SDL_HINT_JOYSTICK_HIDAPI_8BITDO "SDL_JOYSTICK_HIDAPI_8BITDO"
1800
1813#define SDL_HINT_JOYSTICK_HIDAPI_SINPUT "SDL_JOYSTICK_HIDAPI_SINPUT"
1814
1825#define SDL_HINT_JOYSTICK_HIDAPI_ZUIKI "SDL_JOYSTICK_HIDAPI_ZUIKI"
1826
1837#define SDL_HINT_JOYSTICK_HIDAPI_FLYDIGI "SDL_JOYSTICK_HIDAPI_FLYDIGI"
1838
1854#define SDL_HINT_JOYSTICK_HIDAPI_SWITCH "SDL_JOYSTICK_HIDAPI_SWITCH"
1855
1873#define SDL_HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED \
1874 "SDL_JOYSTICK_HIDAPI_SWITCH_HOME_LED"
1875
1889#define SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED \
1890 "SDL_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED"
1891
1892#if SDL_VERSION_ATLEAST(3, 4, 0)
1893
1909#define SDL_HINT_JOYSTICK_HIDAPI_SWITCH2 "SDL_JOYSTICK_HIDAPI_SWITCH2"
1910
1911#endif // SDL_VERSION_ATLEAST(3, 4, 0)
1912
1927#define SDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS \
1928 "SDL_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS"
1929
1946#define SDL_HINT_JOYSTICK_HIDAPI_WII "SDL_JOYSTICK_HIDAPI_WII"
1947
1961#define SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED \
1962 "SDL_JOYSTICK_HIDAPI_WII_PLAYER_LED"
1963
1980#define SDL_HINT_JOYSTICK_HIDAPI_XBOX "SDL_JOYSTICK_HIDAPI_XBOX"
1981
1997#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_360 "SDL_JOYSTICK_HIDAPI_XBOX_360"
1998
2012#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED \
2013 "SDL_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED"
2014
2030#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS \
2031 "SDL_JOYSTICK_HIDAPI_XBOX_360_WIRELESS"
2032
2048#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE "SDL_JOYSTICK_HIDAPI_XBOX_ONE"
2049
2067#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED \
2068 "SDL_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED"
2069
2070#if SDL_VERSION_ATLEAST(3, 4, 0)
2071
2087#define SDL_HINT_JOYSTICK_HIDAPI_GIP "SDL_JOYSTICK_HIDAPI_GIP"
2088
2105#define SDL_HINT_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA \
2106 "SDL_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA"
2107
2108#endif // SDL_VERSION_ATLEAST(3, 4, 0)
2109
2122#define SDL_HINT_JOYSTICK_IOKIT "SDL_JOYSTICK_IOKIT"
2123
2137#define SDL_HINT_JOYSTICK_LINUX_CLASSIC "SDL_JOYSTICK_LINUX_CLASSIC"
2138
2152#define SDL_HINT_JOYSTICK_LINUX_DEADZONES "SDL_JOYSTICK_LINUX_DEADZONES"
2153
2170#define SDL_HINT_JOYSTICK_LINUX_DIGITAL_HATS "SDL_JOYSTICK_LINUX_DIGITAL_HATS"
2171
2186#define SDL_HINT_JOYSTICK_LINUX_HAT_DEADZONES "SDL_JOYSTICK_LINUX_HAT_DEADZONES"
2187
2201#define SDL_HINT_JOYSTICK_MFI "SDL_JOYSTICK_MFI"
2202
2216#define SDL_HINT_JOYSTICK_RAWINPUT "SDL_JOYSTICK_RAWINPUT"
2217
2233#define SDL_HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT \
2234 "SDL_JOYSTICK_RAWINPUT_CORRELATE_XINPUT"
2235
2249#define SDL_HINT_JOYSTICK_ROG_CHAKRAM "SDL_JOYSTICK_ROG_CHAKRAM"
2250
2264#define SDL_HINT_JOYSTICK_THREAD "SDL_JOYSTICK_THREAD"
2265
2281#define SDL_HINT_JOYSTICK_THROTTLE_DEVICES "SDL_JOYSTICK_THROTTLE_DEVICES"
2282
2302#define SDL_HINT_JOYSTICK_THROTTLE_DEVICES_EXCLUDED \
2303 "SDL_JOYSTICK_THROTTLE_DEVICES_EXCLUDED"
2304
2318#define SDL_HINT_JOYSTICK_WGI "SDL_JOYSTICK_WGI"
2319
2335#define SDL_HINT_JOYSTICK_WHEEL_DEVICES "SDL_JOYSTICK_WHEEL_DEVICES"
2336
2355#define SDL_HINT_JOYSTICK_WHEEL_DEVICES_EXCLUDED \
2356 "SDL_JOYSTICK_WHEEL_DEVICES_EXCLUDED"
2357
2374#define SDL_HINT_JOYSTICK_ZERO_CENTERED_DEVICES \
2375 "SDL_JOYSTICK_ZERO_CENTERED_DEVICES"
2376
2377#if SDL_VERSION_ATLEAST(3, 2, 5)
2378
2399#define SDL_HINT_JOYSTICK_HAPTIC_AXES "SDL_JOYSTICK_HAPTIC_AXES"
2400
2401#endif // SDL_VERSION_ATLEAST(3, 2, 5)
2402
2434#define SDL_HINT_KEYCODE_OPTIONS "SDL_KEYCODE_OPTIONS"
2435
2448#define SDL_HINT_KMSDRM_DEVICE_INDEX "SDL_KMSDRM_DEVICE_INDEX"
2449
2474#define SDL_HINT_KMSDRM_REQUIRE_DRM_MASTER "SDL_KMSDRM_REQUIRE_DRM_MASTER"
2475
2476#if SDL_VERSION_ATLEAST(3, 4, 0)
2477
2497#define SDL_HINT_KMSDRM_ATOMIC "SDL_KMSDRM_ATOMIC"
2498
2499#endif // SDL_VERSION_ATLEAST(3, 4, 0)
2500
2530#define SDL_HINT_LOGGING "SDL_LOGGING"
2531
2545#define SDL_HINT_MAC_BACKGROUND_APP "SDL_MAC_BACKGROUND_APP"
2546
2561#define SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK \
2562 "SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK"
2563
2585#define SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH "SDL_MAC_OPENGL_ASYNC_DISPATCH"
2586
2610#define SDL_HINT_MAC_OPTION_AS_ALT "SDL_MAC_OPTION_AS_ALT"
2611
2625#define SDL_HINT_MAC_SCROLL_MOMENTUM "SDL_MAC_SCROLL_MOMENTUM"
2626
2627#if SDL_VERSION_ATLEAST(3, 4, 0)
2628
2642#define SDL_HINT_MAC_PRESS_AND_HOLD "SDL_MAC_PRESS_AND_HOLD"
2643
2644#endif // SDL_VERSION_ATLEAST(3, 4, 0)
2645
2674#define SDL_HINT_MAIN_CALLBACK_RATE "SDL_MAIN_CALLBACK_RATE"
2675
2693#define SDL_HINT_MOUSE_AUTO_CAPTURE "SDL_MOUSE_AUTO_CAPTURE"
2694
2702#define SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS "SDL_MOUSE_DOUBLE_CLICK_RADIUS"
2703
2711#define SDL_HINT_MOUSE_DOUBLE_CLICK_TIME "SDL_MOUSE_DOUBLE_CLICK_TIME"
2712
2723#define SDL_HINT_MOUSE_DEFAULT_SYSTEM_CURSOR "SDL_MOUSE_DEFAULT_SYSTEM_CURSOR"
2724
2725#if SDL_VERSION_ATLEAST(3, 4, 0)
2726
2743#define SDL_HINT_MOUSE_DPI_SCALE_CURSORS "SDL_MOUSE_DPI_SCALE_CURSORS"
2744
2745#endif // SDL_VERSION_ATLEAST(3, 4, 0)
2746
2777#define SDL_HINT_MOUSE_EMULATE_WARP_WITH_RELATIVE \
2778 "SDL_MOUSE_EMULATE_WARP_WITH_RELATIVE"
2779
2792#define SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH "SDL_MOUSE_FOCUS_CLICKTHROUGH"
2793
2802#define SDL_HINT_MOUSE_NORMAL_SPEED_SCALE "SDL_MOUSE_NORMAL_SPEED_SCALE"
2803
2823#define SDL_HINT_MOUSE_RELATIVE_MODE_CENTER "SDL_MOUSE_RELATIVE_MODE_CENTER"
2824
2833#define SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE "SDL_MOUSE_RELATIVE_SPEED_SCALE"
2834
2852#define SDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE "SDL_MOUSE_RELATIVE_SYSTEM_SCALE"
2853
2871#define SDL_HINT_MOUSE_RELATIVE_WARP_MOTION "SDL_MOUSE_RELATIVE_WARP_MOTION"
2872
2890#define SDL_HINT_MOUSE_RELATIVE_CURSOR_VISIBLE \
2891 "SDL_MOUSE_RELATIVE_CURSOR_VISIBLE"
2892
2908#define SDL_HINT_MOUSE_TOUCH_EVENTS "SDL_MOUSE_TOUCH_EVENTS"
2909
2926#define SDL_HINT_MUTE_CONSOLE_KEYBOARD "SDL_MUTE_CONSOLE_KEYBOARD"
2927
2941#define SDL_HINT_NO_SIGNAL_HANDLERS "SDL_NO_SIGNAL_HANDLERS"
2942
2951#define SDL_HINT_OPENGL_LIBRARY "SDL_OPENGL_LIBRARY"
2952
2963#define SDL_HINT_EGL_LIBRARY "SDL_EGL_LIBRARY"
2964
2996#define SDL_HINT_OPENGL_ES_DRIVER "SDL_OPENGL_ES_DRIVER"
2997
3008#define SDL_HINT_OPENVR_LIBRARY "SDL_OPENVR_LIBRARY"
3009
3027#define SDL_HINT_ORIENTATIONS "SDL_ORIENTATIONS"
3028
3047#define SDL_HINT_POLL_SENTINEL "SDL_POLL_SENTINEL"
3048
3065#define SDL_HINT_PREFERRED_LOCALES "SDL_PREFERRED_LOCALES"
3066
3088#define SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE "SDL_QUIT_ON_LAST_WINDOW_CLOSE"
3089
3103#define SDL_HINT_RENDER_DIRECT3D_THREADSAFE "SDL_RENDER_DIRECT3D_THREADSAFE"
3104
3119#define SDL_HINT_RENDER_DIRECT3D11_DEBUG "SDL_RENDER_DIRECT3D11_DEBUG"
3120
3121#if SDL_VERSION_ATLEAST(3, 4, 0)
3122
3139#define SDL_HINT_RENDER_DIRECT3D11_WARP "SDL_RENDER_DIRECT3D11_WARP"
3140
3141#endif // SDL_VERSION_ATLEAST(3, 4, 0)
3142
3155#define SDL_HINT_RENDER_VULKAN_DEBUG "SDL_RENDER_VULKAN_DEBUG"
3156
3169#define SDL_HINT_RENDER_GPU_DEBUG "SDL_RENDER_GPU_DEBUG"
3170
3184#define SDL_HINT_RENDER_GPU_LOW_POWER "SDL_RENDER_GPU_LOW_POWER"
3185
3217#define SDL_HINT_RENDER_DRIVER "SDL_RENDER_DRIVER"
3218
3235#define SDL_HINT_RENDER_LINE_METHOD "SDL_RENDER_LINE_METHOD"
3236
3250#define SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE \
3251 "SDL_RENDER_METAL_PREFER_LOW_POWER_DEVICE"
3252
3268#define SDL_HINT_RENDER_VSYNC "SDL_RENDER_VSYNC"
3269
3285#define SDL_HINT_RETURN_KEY_HIDES_IME "SDL_RETURN_KEY_HIDES_IME"
3286
3304#define SDL_HINT_ROG_GAMEPAD_MICE "SDL_ROG_GAMEPAD_MICE"
3305
3324#define SDL_HINT_ROG_GAMEPAD_MICE_EXCLUDED "SDL_ROG_GAMEPAD_MICE_EXCLUDED"
3325
3331#define SDL_HINT_PS2_GS_WIDTH "SDL_PS2_GS_WIDTH"
3332
3338#define SDL_HINT_PS2_GS_HEIGHT "SDL_PS2_GS_HEIGHT"
3339
3346#define SDL_HINT_PS2_GS_PROGRESSIVE "SDL_PS2_GS_PROGRESSIVE"
3347
3355#define SDL_HINT_PS2_GS_MODE "SDL_PS2_GS_MODE"
3356
3367#define SDL_HINT_RPI_VIDEO_LAYER "SDL_RPI_VIDEO_LAYER"
3368
3389#define SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME \
3390 "SDL_SCREENSAVER_INHIBIT_ACTIVITY_NAME"
3391
3409#define SDL_HINT_SHUTDOWN_DBUS_ON_QUIT "SDL_SHUTDOWN_DBUS_ON_QUIT"
3410
3423#define SDL_HINT_STORAGE_TITLE_DRIVER "SDL_STORAGE_TITLE_DRIVER"
3424
3437#define SDL_HINT_STORAGE_USER_DRIVER "SDL_STORAGE_USER_DRIVER"
3438
3464#define SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL \
3465 "SDL_THREAD_FORCE_REALTIME_TIME_CRITICAL"
3466
3488#define SDL_HINT_THREAD_PRIORITY_POLICY "SDL_THREAD_PRIORITY_POLICY"
3489
3508#define SDL_HINT_TIMER_RESOLUTION "SDL_TIMER_RESOLUTION"
3509
3523#define SDL_HINT_TOUCH_MOUSE_EVENTS "SDL_TOUCH_MOUSE_EVENTS"
3524
3542#define SDL_HINT_TRACKPAD_IS_TOUCH_ONLY "SDL_TRACKPAD_IS_TOUCH_ONLY"
3543
3557#define SDL_HINT_TV_REMOTE_AS_JOYSTICK "SDL_TV_REMOTE_AS_JOYSTICK"
3558
3571#define SDL_HINT_VIDEO_ALLOW_SCREENSAVER "SDL_VIDEO_ALLOW_SCREENSAVER"
3572
3598#define SDL_HINT_VIDEO_DISPLAY_PRIORITY "SDL_VIDEO_DISPLAY_PRIORITY"
3599
3621#define SDL_HINT_VIDEO_DOUBLE_BUFFER "SDL_VIDEO_DOUBLE_BUFFER"
3622
3639#define SDL_HINT_VIDEO_DRIVER "SDL_VIDEO_DRIVER"
3640
3652#define SDL_HINT_VIDEO_DUMMY_SAVE_FRAMES "SDL_VIDEO_DUMMY_SAVE_FRAMES"
3653
3666#define SDL_HINT_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK \
3667 "SDL_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK"
3668
3682#define SDL_HINT_VIDEO_FORCE_EGL "SDL_VIDEO_FORCE_EGL"
3683
3700#define SDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES "SDL_VIDEO_MAC_FULLSCREEN_SPACES"
3701
3719#define SDL_HINT_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY \
3720 "SDL_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY"
3721
3722#if SDL_VERSION_ATLEAST(3, 4, 0)
3723
3739#define SDL_HINT_VIDEO_METAL_AUTO_RESIZE_DRAWABLE \
3740 "SDL_VIDEO_METAL_AUTO_RESIZE_DRAWABLE"
3741
3760#define SDL_HINT_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE \
3761 "SDL_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE"
3762
3763#endif // SDL_VERSION_ATLEAST(3, 4, 0)
3764
3781#define SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS"
3782
3798#define SDL_HINT_VIDEO_OFFSCREEN_SAVE_FRAMES "SDL_VIDEO_OFFSCREEN_SAVE_FRAMES"
3799
3824#define SDL_HINT_VIDEO_SYNC_WINDOW_OPERATIONS "SDL_VIDEO_SYNC_WINDOW_OPERATIONS"
3825
3841#define SDL_HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR "SDL_VIDEO_WAYLAND_ALLOW_LIBDECOR"
3842
3860#define SDL_HINT_VIDEO_WAYLAND_MODE_EMULATION "SDL_VIDEO_WAYLAND_MODE_EMULATION"
3861
3882#define SDL_HINT_VIDEO_WAYLAND_MODE_SCALING "SDL_VIDEO_WAYLAND_MODE_SCALING"
3883
3902#define SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR \
3903 "SDL_VIDEO_WAYLAND_PREFER_LIBDECOR"
3904
3942#define SDL_HINT_VIDEO_WAYLAND_SCALE_TO_DISPLAY \
3943 "SDL_VIDEO_WAYLAND_SCALE_TO_DISPLAY"
3944
3965#define SDL_HINT_VIDEO_WIN_D3DCOMPILER "SDL_VIDEO_WIN_D3DCOMPILER"
3966
3967#if SDL_VERSION_ATLEAST(3, 2, 10)
3968
3983#define SDL_HINT_VIDEO_X11_EXTERNAL_WINDOW_INPUT \
3984 "SDL_VIDEO_X11_EXTERNAL_WINDOW_INPUT"
3985
3986#endif // SDL_VERSION_ATLEAST(3, 2, 10)
3987
4001#define SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR \
4002 "SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR"
4003
4021#define SDL_HINT_VIDEO_X11_NET_WM_PING "SDL_VIDEO_X11_NET_WM_PING"
4022
4035#define SDL_HINT_VIDEO_X11_NODIRECTCOLOR "SDL_VIDEO_X11_NODIRECTCOLOR"
4036
4046#define SDL_HINT_VIDEO_X11_SCALING_FACTOR "SDL_VIDEO_X11_SCALING_FACTOR"
4047
4055#define SDL_HINT_VIDEO_X11_VISUALID "SDL_VIDEO_X11_VISUALID"
4056
4064#define SDL_HINT_VIDEO_X11_WINDOW_VISUALID "SDL_VIDEO_X11_WINDOW_VISUALID"
4065
4078#define SDL_HINT_VIDEO_X11_XRANDR "SDL_VIDEO_X11_XRANDR"
4079
4093#define SDL_HINT_VITA_ENABLE_BACK_TOUCH "SDL_VITA_ENABLE_BACK_TOUCH"
4094
4108#define SDL_HINT_VITA_ENABLE_FRONT_TOUCH "SDL_VITA_ENABLE_FRONT_TOUCH"
4109
4119#define SDL_HINT_VITA_MODULE_PATH "SDL_VITA_MODULE_PATH"
4120
4132#define SDL_HINT_VITA_PVR_INIT "SDL_VITA_PVR_INIT"
4133
4147#define SDL_HINT_VITA_RESOLUTION "SDL_VITA_RESOLUTION"
4148
4162#define SDL_HINT_VITA_PVR_OPENGL "SDL_VITA_PVR_OPENGL"
4163
4177#define SDL_HINT_VITA_TOUCH_MOUSE_DEVICE "SDL_VITA_TOUCH_MOUSE_DEVICE"
4178
4188#define SDL_HINT_VULKAN_DISPLAY "SDL_VULKAN_DISPLAY"
4189
4198#define SDL_HINT_VULKAN_LIBRARY "SDL_VULKAN_LIBRARY"
4199
4229#define SDL_HINT_WAVE_FACT_CHUNK "SDL_WAVE_FACT_CHUNK"
4230
4241#define SDL_HINT_WAVE_CHUNK_LIMIT "SDL_WAVE_CHUNK_LIMIT"
4242
4269#define SDL_HINT_WAVE_RIFF_CHUNK_SIZE "SDL_WAVE_RIFF_CHUNK_SIZE"
4270
4289#define SDL_HINT_WAVE_TRUNCATION "SDL_WAVE_TRUNCATION"
4290
4305#define SDL_HINT_WINDOW_ACTIVATE_WHEN_RAISED "SDL_WINDOW_ACTIVATE_WHEN_RAISED"
4306
4321#define SDL_HINT_WINDOW_ACTIVATE_WHEN_SHOWN "SDL_WINDOW_ACTIVATE_WHEN_SHOWN"
4322
4339#define SDL_HINT_WINDOW_ALLOW_TOPMOST "SDL_WINDOW_ALLOW_TOPMOST"
4340
4355#define SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN \
4356 "SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN"
4357
4371#define SDL_HINT_WINDOWS_CLOSE_ON_ALT_F4 "SDL_WINDOWS_CLOSE_ON_ALT_F4"
4372
4399#define SDL_HINT_WINDOWS_ENABLE_MENU_MNEMONICS \
4400 "SDL_WINDOWS_ENABLE_MENU_MNEMONICS"
4401
4414#define SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP "SDL_WINDOWS_ENABLE_MESSAGELOOP"
4415
4429#define SDL_HINT_WINDOWS_GAMEINPUT "SDL_WINDOWS_GAMEINPUT"
4430
4443#define SDL_HINT_WINDOWS_RAW_KEYBOARD "SDL_WINDOWS_RAW_KEYBOARD"
4444
4445#if SDL_VERSION_ATLEAST(3, 4, 0)
4446
4467#define SDL_HINT_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS \
4468 "SDL_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS"
4469
4470#endif // SDL_VERSION_ATLEAST(3, 4, 0)
4471
4491#define SDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL \
4492 "SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL"
4493
4502#define SDL_HINT_WINDOWS_INTRESOURCE_ICON "SDL_WINDOWS_INTRESOURCE_ICON"
4503
4512#define SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL \
4513 "SDL_WINDOWS_INTRESOURCE_ICON_SMALL"
4514
4541#define SDL_HINT_WINDOWS_USE_D3D9EX "SDL_WINDOWS_USE_D3D9EX"
4542
4558#define SDL_HINT_WINDOWS_ERASE_BACKGROUND_MODE \
4559 "SDL_WINDOWS_ERASE_BACKGROUND_MODE"
4560
4580#define SDL_HINT_X11_FORCE_OVERRIDE_REDIRECT "SDL_X11_FORCE_OVERRIDE_REDIRECT"
4581
4596#define SDL_HINT_X11_WINDOW_TYPE "SDL_X11_WINDOW_TYPE"
4597
4607#define SDL_HINT_X11_XCB_LIBRARY "SDL_X11_XCB_LIBRARY"
4608
4621#define SDL_HINT_XINPUT_ENABLED "SDL_XINPUT_ENABLED"
4622
4644#define SDL_HINT_ASSERT "SDL_ASSERT"
4645
4659#define SDL_HINT_PEN_MOUSE_EVENTS "SDL_PEN_MOUSE_EVENTS"
4660
4674#define SDL_HINT_PEN_TOUCH_EVENTS "SDL_PEN_TOUCH_EVENTS"
4675
4676#endif // SDL3PP_DOC
4677
4683using HintPriority = SDL_HintPriority;
4684
4685constexpr HintPriority HINT_DEFAULT = SDL_HINT_DEFAULT;
4686
4687constexpr HintPriority HINT_NORMAL = SDL_HINT_NORMAL;
4688
4689constexpr HintPriority HINT_OVERRIDE = SDL_HINT_OVERRIDE;
4690
4712 StringParam value,
4713 HintPriority priority)
4714{
4715 CheckError(SDL_SetHintWithPriority(name, value, priority));
4716}
4717
4737inline void SetHint(StringParam name, StringParam value)
4738{
4739 CheckError(SDL_SetHint(name, value));
4740}
4741
4759inline void ResetHint(StringParam name) { CheckError(SDL_ResetHint(name)); }
4760
4774inline void ResetHints() { SDL_ResetHints(); }
4775
4789inline const char* GetHint(StringParam name) { return SDL_GetHint(name); }
4790
4806inline bool GetHintBoolean(StringParam name, bool default_value)
4807{
4808 return SDL_GetHintBoolean(name, default_value);
4809}
4810
4830using HintCallback = void(SDLCALL*)(void* userdata,
4831 const char* name,
4832 const char* oldValue,
4833 const char* newValue);
4834
4856 void(const char* name, const char* oldValue, const char* newValue)>;
4857
4877 HintCallback callback,
4878 void* userdata)
4879{
4880 CheckError(SDL_AddHintCallback(name, callback, userdata));
4881}
4882
4900inline void AddHintCallback(StringParam name, HintCB callback)
4901{
4902 AddHintCallback(std::move(name), callback.wrapper, callback.data);
4903}
4904
4920 HintCallback callback,
4921 void* userdata)
4922{
4923 SDL_RemoveHintCallback(name, callback, userdata);
4924}
4925
4927
4928} // namespace SDL
4929
4930#endif /* SDL3PP_HINTS_H_ */
Helpers to use C++ strings parameters.
Definition: SDL3pp_strings.h:43
constexpr void CheckError(bool result)
Check and throw if returned value from SDL is an error.
Definition: SDL3pp_error.h:197
void SetHint(StringParam name, StringParam value)
Set a hint with normal priority.
Definition: SDL3pp_hints.h:4737
void AddHintCallback(StringParam name, HintCallback callback, void *userdata)
Add a function to watch a particular hint.
Definition: SDL3pp_hints.h:4876
constexpr HintPriority HINT_NORMAL
NORMAL.
Definition: SDL3pp_hints.h:4687
constexpr HintPriority HINT_OVERRIDE
OVERRIDE.
Definition: SDL3pp_hints.h:4689
bool GetHintBoolean(StringParam name, bool default_value)
Get the boolean value of a hint variable.
Definition: SDL3pp_hints.h:4806
void SetHintWithPriority(StringParam name, StringParam value, HintPriority priority)
Set a hint with a specific priority.
Definition: SDL3pp_hints.h:4711
void RemoveHintCallback(StringParam name, HintCallback callback, void *userdata)
Remove a function watching a particular hint.
Definition: SDL3pp_hints.h:4919
const char * GetHint(StringParam name)
Get the value of a hint.
Definition: SDL3pp_hints.h:4789
void ResetHint(StringParam name)
Reset a hint to the default value.
Definition: SDL3pp_hints.h:4759
void ResetHints()
Reset all hints to the default values.
Definition: SDL3pp_hints.h:4774
SDL_HintPriority HintPriority
An enumeration of hint priorities.
Definition: SDL3pp_hints.h:4683
constexpr HintPriority HINT_DEFAULT
DEFAULT.
Definition: SDL3pp_hints.h:4685
void(SDLCALL *)(void *userdata, const char *name, const char *oldValue, const char *newValue) HintCallback
A callback used to send notifications of hint value changes.
Definition: SDL3pp_hints.h:4833
Main include header for the SDL3pp library.
Definition: SDL3pp_callbackWrapper.h:169