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
27
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
400#define SDL_HINT_AUDIO_DEVICE_STREAM_ROLE "SDL_AUDIO_DEVICE_STREAM_ROLE"
401
402#if SDL_VERSION_ATLEAST(3, 4, 0)
403
422#define SDL_HINT_AUDIO_DEVICE_RAW_STREAM "SDL_AUDIO_DEVICE_RAW_STREAM"
423
424#endif // SDL_VERSION_ATLEAST(3, 4, 0)
425
435#define SDL_HINT_AUDIO_DISK_INPUT_FILE "SDL_AUDIO_DISK_INPUT_FILE"
436
446#define SDL_HINT_AUDIO_DISK_OUTPUT_FILE "SDL_AUDIO_DISK_OUTPUT_FILE"
447
459#define SDL_HINT_AUDIO_DISK_TIMESCALE "SDL_AUDIO_DISK_TIMESCALE"
460
473#define SDL_HINT_AUDIO_DRIVER "SDL_AUDIO_DRIVER"
474
486#define SDL_HINT_AUDIO_DUMMY_TIMESCALE "SDL_AUDIO_DUMMY_TIMESCALE"
487
512#define SDL_HINT_AUDIO_FORMAT "SDL_AUDIO_FORMAT"
513
525#define SDL_HINT_AUDIO_FREQUENCY "SDL_AUDIO_FREQUENCY"
526
547#define SDL_HINT_AUDIO_INCLUDE_MONITORS "SDL_AUDIO_INCLUDE_MONITORS"
548
562#define SDL_HINT_AUTO_UPDATE_JOYSTICKS "SDL_AUTO_UPDATE_JOYSTICKS"
563
577#define SDL_HINT_AUTO_UPDATE_SENSORS "SDL_AUTO_UPDATE_SENSORS"
578
599#define SDL_HINT_BMP_SAVE_LEGACY_FORMAT "SDL_BMP_SAVE_LEGACY_FORMAT"
600
615#define SDL_HINT_CAMERA_DRIVER "SDL_CAMERA_DRIVER"
616
647#define SDL_HINT_CPU_FEATURE_MASK "SDL_CPU_FEATURE_MASK"
648
661#define SDL_HINT_JOYSTICK_DIRECTINPUT "SDL_JOYSTICK_DIRECTINPUT"
662
690#define SDL_HINT_FILE_DIALOG_DRIVER "SDL_FILE_DIALOG_DRIVER"
691
707#define SDL_HINT_DISPLAY_USABLE_BOUNDS "SDL_DISPLAY_USABLE_BOUNDS"
708
709#if SDL_VERSION_ATLEAST(3, 4, 0)
710
724#define SDL_HINT_INVALID_PARAM_CHECKS "SDL_INVALID_PARAM_CHECKS"
725
726#endif // SDL_VERSION_ATLEAST(3, 4, 0)
727
747#define SDL_HINT_EMSCRIPTEN_ASYNCIFY "SDL_EMSCRIPTEN_ASYNCIFY"
748
758#define SDL_HINT_EMSCRIPTEN_CANVAS_SELECTOR "SDL_EMSCRIPTEN_CANVAS_SELECTOR"
759
779#define SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT"
780
796#define SDL_HINT_ENABLE_SCREEN_KEYBOARD "SDL_ENABLE_SCREEN_KEYBOARD"
797
798#if SDL_VERSION_ATLEAST(3, 4, 12)
799
817#define SDL_HINT_ENABLE_STEAM_SCREEN_KEYBOARD "SDL_ENABLE_STEAM_SCREEN_KEYBOARD"
818
819#endif // SDL_VERSION_ATLEAST(3, 4, 12)
820
836#define SDL_HINT_EVDEV_DEVICES "SDL_EVDEV_DEVICES"
837
858#define SDL_HINT_EVENT_LOGGING "SDL_EVENT_LOGGING"
859
877#define SDL_HINT_FORCE_RAISEWINDOW "SDL_FORCE_RAISEWINDOW"
878
898#define SDL_HINT_FRAMEBUFFER_ACCELERATION "SDL_FRAMEBUFFER_ACCELERATION"
899
913#define SDL_HINT_GAMECONTROLLERCONFIG "SDL_GAMECONTROLLERCONFIG"
914
928#define SDL_HINT_GAMECONTROLLERCONFIG_FILE "SDL_GAMECONTROLLERCONFIG_FILE"
929
952#define SDL_HINT_GAMECONTROLLERTYPE "SDL_GAMECONTROLLERTYPE"
953
970#define SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES \
971 "SDL_GAMECONTROLLER_IGNORE_DEVICES"
972
989#define SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT \
990 "SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT"
991
1013#define SDL_HINT_GAMECONTROLLER_SENSOR_FUSION "SDL_GAMECONTROLLER_SENSOR_FUSION"
1014
1024#define SDL_HINT_GDK_TEXTINPUT_DEFAULT_TEXT "SDL_GDK_TEXTINPUT_DEFAULT_TEXT"
1025
1035#define SDL_HINT_GDK_TEXTINPUT_DESCRIPTION "SDL_GDK_TEXTINPUT_DESCRIPTION"
1036
1050#define SDL_HINT_GDK_TEXTINPUT_MAX_LENGTH "SDL_GDK_TEXTINPUT_MAX_LENGTH"
1051
1065#define SDL_HINT_GDK_TEXTINPUT_SCOPE "SDL_GDK_TEXTINPUT_SCOPE"
1066
1076#define SDL_HINT_GDK_TEXTINPUT_TITLE "SDL_GDK_TEXTINPUT_TITLE"
1077
1093#define SDL_HINT_HIDAPI_LIBUSB "SDL_HIDAPI_LIBUSB"
1094
1095#if SDL_VERSION_ATLEAST(3, 4, 0)
1096
1109#define SDL_HINT_HIDAPI_LIBUSB_GAMECUBE "SDL_HIDAPI_LIBUSB_GAMECUBE"
1110
1111#endif // SDL_VERSION_ATLEAST(3, 4, 0)
1112
1129#define SDL_HINT_HIDAPI_LIBUSB_WHITELIST "SDL_HIDAPI_LIBUSB_WHITELIST"
1130
1143#define SDL_HINT_HIDAPI_UDEV "SDL_HIDAPI_UDEV"
1144
1157#define SDL_HINT_GPU_DRIVER "SDL_GPU_DRIVER"
1158
1176#define SDL_HINT_HIDAPI_ENUMERATE_ONLY_CONTROLLERS \
1177 "SDL_HIDAPI_ENUMERATE_ONLY_CONTROLLERS"
1178
1194#define SDL_HINT_HIDAPI_IGNORE_DEVICES "SDL_HIDAPI_IGNORE_DEVICES"
1195
1217#define SDL_HINT_IME_IMPLEMENTED_UI "SDL_IME_IMPLEMENTED_UI"
1218
1236#define SDL_HINT_IOS_HIDE_HOME_INDICATOR "SDL_IOS_HIDE_HOME_INDICATOR"
1237
1253#define SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS \
1254 "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS"
1255
1271#define SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES "SDL_JOYSTICK_ARCADESTICK_DEVICES"
1272
1292#define SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED \
1293 "SDL_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED"
1294
1311#define SDL_HINT_JOYSTICK_BLACKLIST_DEVICES "SDL_JOYSTICK_BLACKLIST_DEVICES"
1312
1331#define SDL_HINT_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED \
1332 "SDL_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED"
1333
1341#define SDL_HINT_JOYSTICK_DEVICE "SDL_JOYSTICK_DEVICE"
1342
1365#define SDL_HINT_JOYSTICK_ENHANCED_REPORTS "SDL_JOYSTICK_ENHANCED_REPORTS"
1366
1382#define SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES "SDL_JOYSTICK_FLIGHTSTICK_DEVICES"
1383
1403#define SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED \
1404 "SDL_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED"
1405
1421#define SDL_HINT_JOYSTICK_GAMEINPUT "SDL_JOYSTICK_GAMEINPUT"
1422
1423#if SDL_VERSION_ATLEAST(3, 4, 4)
1424
1443#define SDL_HINT_JOYSTICK_GAMEINPUT_RAW "SDL_JOYSTICK_GAMEINPUT_RAW"
1444
1445#endif // SDL_VERSION_ATLEAST(3, 4, 4)
1446
1462#define SDL_HINT_JOYSTICK_GAMECUBE_DEVICES "SDL_JOYSTICK_GAMECUBE_DEVICES"
1463
1483#define SDL_HINT_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED \
1484 "SDL_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED"
1485
1501#define SDL_HINT_JOYSTICK_HIDAPI "SDL_JOYSTICK_HIDAPI"
1502
1518#define SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS \
1519 "SDL_JOYSTICK_HIDAPI_COMBINE_JOY_CONS"
1520
1536#define SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE "SDL_JOYSTICK_HIDAPI_GAMECUBE"
1537
1557#define SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE \
1558 "SDL_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE"
1559
1575#define SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS "SDL_JOYSTICK_HIDAPI_JOY_CONS"
1576
1594#define SDL_HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED \
1595 "SDL_JOYSTICK_HIDAPI_JOYCON_HOME_LED"
1596
1612#define SDL_HINT_JOYSTICK_HIDAPI_LUNA "SDL_JOYSTICK_HIDAPI_LUNA"
1613
1629#define SDL_HINT_JOYSTICK_HIDAPI_NINTENDO_CLASSIC \
1630 "SDL_JOYSTICK_HIDAPI_NINTENDO_CLASSIC"
1631
1652#define SDL_HINT_JOYSTICK_HIDAPI_PS3 "SDL_JOYSTICK_HIDAPI_PS3"
1653
1669#define SDL_HINT_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER \
1670 "SDL_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER"
1671
1687#define SDL_HINT_JOYSTICK_HIDAPI_PS4 "SDL_JOYSTICK_HIDAPI_PS4"
1688
1702#define SDL_HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL \
1703 "SDL_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL"
1704
1720#define SDL_HINT_JOYSTICK_HIDAPI_PS5 "SDL_JOYSTICK_HIDAPI_PS5"
1721
1733#define SDL_HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED \
1734 "SDL_JOYSTICK_HIDAPI_PS5_PLAYER_LED"
1735
1751#define SDL_HINT_JOYSTICK_HIDAPI_SHIELD "SDL_JOYSTICK_HIDAPI_SHIELD"
1752
1766#define SDL_HINT_JOYSTICK_HIDAPI_STADIA "SDL_JOYSTICK_HIDAPI_STADIA"
1767
1782#define SDL_HINT_JOYSTICK_HIDAPI_STEAM "SDL_JOYSTICK_HIDAPI_STEAM"
1783
1801#define SDL_HINT_JOYSTICK_HIDAPI_STEAM_HOME_LED \
1802 "SDL_JOYSTICK_HIDAPI_STEAM_HOME_LED"
1803
1819#define SDL_HINT_JOYSTICK_HIDAPI_STEAMDECK "SDL_JOYSTICK_HIDAPI_STEAMDECK"
1820
1836#define SDL_HINT_JOYSTICK_HIDAPI_STEAM_HORI "SDL_JOYSTICK_HIDAPI_STEAM_HORI"
1837
1838#if SDL_VERSION_ATLEAST(3, 4, 0)
1839
1855#define SDL_HINT_JOYSTICK_HIDAPI_LG4FF "SDL_JOYSTICK_HIDAPI_LG4FF"
1856
1872#define SDL_HINT_JOYSTICK_HIDAPI_8BITDO "SDL_JOYSTICK_HIDAPI_8BITDO"
1873
1891#define SDL_HINT_JOYSTICK_HIDAPI_SINPUT "SDL_JOYSTICK_HIDAPI_SINPUT"
1892
1908#define SDL_HINT_JOYSTICK_HIDAPI_ZUIKI "SDL_JOYSTICK_HIDAPI_ZUIKI"
1909
1925#define SDL_HINT_JOYSTICK_HIDAPI_FLYDIGI "SDL_JOYSTICK_HIDAPI_FLYDIGI"
1926
1927#endif // SDL_VERSION_ATLEAST(3, 4, 0)
1928
1944#define SDL_HINT_JOYSTICK_HIDAPI_SWITCH "SDL_JOYSTICK_HIDAPI_SWITCH"
1945
1963#define SDL_HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED \
1964 "SDL_JOYSTICK_HIDAPI_SWITCH_HOME_LED"
1965
1979#define SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED \
1980 "SDL_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED"
1981
1982#if SDL_VERSION_ATLEAST(3, 4, 0)
1983
1999#define SDL_HINT_JOYSTICK_HIDAPI_SWITCH2 "SDL_JOYSTICK_HIDAPI_SWITCH2"
2000
2001#endif // SDL_VERSION_ATLEAST(3, 4, 0)
2002
2017#define SDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS \
2018 "SDL_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS"
2019
2036#define SDL_HINT_JOYSTICK_HIDAPI_WII "SDL_JOYSTICK_HIDAPI_WII"
2037
2051#define SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED \
2052 "SDL_JOYSTICK_HIDAPI_WII_PLAYER_LED"
2053
2070#define SDL_HINT_JOYSTICK_HIDAPI_XBOX "SDL_JOYSTICK_HIDAPI_XBOX"
2071
2087#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_360 "SDL_JOYSTICK_HIDAPI_XBOX_360"
2088
2102#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED \
2103 "SDL_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED"
2104
2120#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS \
2121 "SDL_JOYSTICK_HIDAPI_XBOX_360_WIRELESS"
2122
2138#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE "SDL_JOYSTICK_HIDAPI_XBOX_ONE"
2139
2157#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED \
2158 "SDL_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED"
2159
2160#if SDL_VERSION_ATLEAST(3, 4, 0)
2161
2177#define SDL_HINT_JOYSTICK_HIDAPI_GIP "SDL_JOYSTICK_HIDAPI_GIP"
2178
2196#define SDL_HINT_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA \
2197 "SDL_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA"
2198
2199#endif // SDL_VERSION_ATLEAST(3, 4, 0)
2200
2213#define SDL_HINT_JOYSTICK_IOKIT "SDL_JOYSTICK_IOKIT"
2214
2228#define SDL_HINT_JOYSTICK_LINUX_CLASSIC "SDL_JOYSTICK_LINUX_CLASSIC"
2229
2243#define SDL_HINT_JOYSTICK_LINUX_DEADZONES "SDL_JOYSTICK_LINUX_DEADZONES"
2244
2261#define SDL_HINT_JOYSTICK_LINUX_DIGITAL_HATS "SDL_JOYSTICK_LINUX_DIGITAL_HATS"
2262
2277#define SDL_HINT_JOYSTICK_LINUX_HAT_DEADZONES "SDL_JOYSTICK_LINUX_HAT_DEADZONES"
2278
2292#define SDL_HINT_JOYSTICK_MFI "SDL_JOYSTICK_MFI"
2293
2307#define SDL_HINT_JOYSTICK_RAWINPUT "SDL_JOYSTICK_RAWINPUT"
2308
2324#define SDL_HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT \
2325 "SDL_JOYSTICK_RAWINPUT_CORRELATE_XINPUT"
2326
2340#define SDL_HINT_JOYSTICK_ROG_CHAKRAM "SDL_JOYSTICK_ROG_CHAKRAM"
2341
2355#define SDL_HINT_JOYSTICK_THREAD "SDL_JOYSTICK_THREAD"
2356
2372#define SDL_HINT_JOYSTICK_THROTTLE_DEVICES "SDL_JOYSTICK_THROTTLE_DEVICES"
2373
2393#define SDL_HINT_JOYSTICK_THROTTLE_DEVICES_EXCLUDED \
2394 "SDL_JOYSTICK_THROTTLE_DEVICES_EXCLUDED"
2395
2409#define SDL_HINT_JOYSTICK_WGI "SDL_JOYSTICK_WGI"
2410
2426#define SDL_HINT_JOYSTICK_WHEEL_DEVICES "SDL_JOYSTICK_WHEEL_DEVICES"
2427
2446#define SDL_HINT_JOYSTICK_WHEEL_DEVICES_EXCLUDED \
2447 "SDL_JOYSTICK_WHEEL_DEVICES_EXCLUDED"
2448
2465#define SDL_HINT_JOYSTICK_ZERO_CENTERED_DEVICES \
2466 "SDL_JOYSTICK_ZERO_CENTERED_DEVICES"
2467
2468#if SDL_VERSION_ATLEAST(3, 2, 5)
2469
2490#define SDL_HINT_JOYSTICK_HAPTIC_AXES "SDL_JOYSTICK_HAPTIC_AXES"
2491
2492#endif // SDL_VERSION_ATLEAST(3, 2, 5)
2493
2525#define SDL_HINT_KEYCODE_OPTIONS "SDL_KEYCODE_OPTIONS"
2526
2539#define SDL_HINT_KMSDRM_DEVICE_INDEX "SDL_KMSDRM_DEVICE_INDEX"
2540
2565#define SDL_HINT_KMSDRM_REQUIRE_DRM_MASTER "SDL_KMSDRM_REQUIRE_DRM_MASTER"
2566
2567#if SDL_VERSION_ATLEAST(3, 4, 0)
2568
2588#define SDL_HINT_KMSDRM_ATOMIC "SDL_KMSDRM_ATOMIC"
2589
2590#endif // SDL_VERSION_ATLEAST(3, 4, 0)
2591
2621#define SDL_HINT_LOGGING "SDL_LOGGING"
2622
2636#define SDL_HINT_MAC_BACKGROUND_APP "SDL_MAC_BACKGROUND_APP"
2637
2652#define SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK \
2653 "SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK"
2654
2676#define SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH "SDL_MAC_OPENGL_ASYNC_DISPATCH"
2677
2701#define SDL_HINT_MAC_OPTION_AS_ALT "SDL_MAC_OPTION_AS_ALT"
2702
2716#define SDL_HINT_MAC_SCROLL_MOMENTUM "SDL_MAC_SCROLL_MOMENTUM"
2717
2718#if SDL_VERSION_ATLEAST(3, 4, 0)
2719
2733#define SDL_HINT_MAC_PRESS_AND_HOLD "SDL_MAC_PRESS_AND_HOLD"
2734
2735#endif // SDL_VERSION_ATLEAST(3, 4, 0)
2736
2765#define SDL_HINT_MAIN_CALLBACK_RATE "SDL_MAIN_CALLBACK_RATE"
2766
2784#define SDL_HINT_MOUSE_AUTO_CAPTURE "SDL_MOUSE_AUTO_CAPTURE"
2785
2793#define SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS "SDL_MOUSE_DOUBLE_CLICK_RADIUS"
2794
2802#define SDL_HINT_MOUSE_DOUBLE_CLICK_TIME "SDL_MOUSE_DOUBLE_CLICK_TIME"
2803
2814#define SDL_HINT_MOUSE_DEFAULT_SYSTEM_CURSOR "SDL_MOUSE_DEFAULT_SYSTEM_CURSOR"
2815
2816#if SDL_VERSION_ATLEAST(3, 4, 0)
2817
2834#define SDL_HINT_MOUSE_DPI_SCALE_CURSORS "SDL_MOUSE_DPI_SCALE_CURSORS"
2835
2836#endif // SDL_VERSION_ATLEAST(3, 4, 0)
2837
2868#define SDL_HINT_MOUSE_EMULATE_WARP_WITH_RELATIVE \
2869 "SDL_MOUSE_EMULATE_WARP_WITH_RELATIVE"
2870
2883#define SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH "SDL_MOUSE_FOCUS_CLICKTHROUGH"
2884
2893#define SDL_HINT_MOUSE_NORMAL_SPEED_SCALE "SDL_MOUSE_NORMAL_SPEED_SCALE"
2894
2914#define SDL_HINT_MOUSE_RELATIVE_MODE_CENTER "SDL_MOUSE_RELATIVE_MODE_CENTER"
2915
2924#define SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE "SDL_MOUSE_RELATIVE_SPEED_SCALE"
2925
2943#define SDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE "SDL_MOUSE_RELATIVE_SYSTEM_SCALE"
2944
2962#define SDL_HINT_MOUSE_RELATIVE_WARP_MOTION "SDL_MOUSE_RELATIVE_WARP_MOTION"
2963
2981#define SDL_HINT_MOUSE_RELATIVE_CURSOR_VISIBLE \
2982 "SDL_MOUSE_RELATIVE_CURSOR_VISIBLE"
2983
2999#define SDL_HINT_MOUSE_TOUCH_EVENTS "SDL_MOUSE_TOUCH_EVENTS"
3000
3017#define SDL_HINT_MUTE_CONSOLE_KEYBOARD "SDL_MUTE_CONSOLE_KEYBOARD"
3018
3032#define SDL_HINT_NO_SIGNAL_HANDLERS "SDL_NO_SIGNAL_HANDLERS"
3033
3042#define SDL_HINT_OPENGL_LIBRARY "SDL_OPENGL_LIBRARY"
3043
3054#define SDL_HINT_EGL_LIBRARY "SDL_EGL_LIBRARY"
3055
3087#define SDL_HINT_OPENGL_ES_DRIVER "SDL_OPENGL_ES_DRIVER"
3088
3089#if SDL_VERSION_ATLEAST(3, 4, 2)
3090
3129#define SDL_HINT_OPENGL_FORCE_SRGB_FRAMEBUFFER \
3130 "SDL_OPENGL_FORCE_SRGB_FRAMEBUFFER"
3131
3132#endif // SDL_VERSION_ATLEAST(3, 4, 2)
3133
3144#define SDL_HINT_OPENVR_LIBRARY "SDL_OPENVR_LIBRARY"
3145
3163#define SDL_HINT_ORIENTATIONS "SDL_ORIENTATIONS"
3164
3183#define SDL_HINT_POLL_SENTINEL "SDL_POLL_SENTINEL"
3184
3201#define SDL_HINT_PREFERRED_LOCALES "SDL_PREFERRED_LOCALES"
3202
3224#define SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE "SDL_QUIT_ON_LAST_WINDOW_CLOSE"
3225
3239#define SDL_HINT_RENDER_DIRECT3D_THREADSAFE "SDL_RENDER_DIRECT3D_THREADSAFE"
3240
3255#define SDL_HINT_RENDER_DIRECT3D11_DEBUG "SDL_RENDER_DIRECT3D11_DEBUG"
3256
3257#if SDL_VERSION_ATLEAST(3, 4, 0)
3258
3275#define SDL_HINT_RENDER_DIRECT3D11_WARP "SDL_RENDER_DIRECT3D11_WARP"
3276
3277#endif // SDL_VERSION_ATLEAST(3, 4, 0)
3278
3291#define SDL_HINT_RENDER_VULKAN_DEBUG "SDL_RENDER_VULKAN_DEBUG"
3292
3305#define SDL_HINT_RENDER_GPU_DEBUG "SDL_RENDER_GPU_DEBUG"
3306
3320#define SDL_HINT_RENDER_GPU_LOW_POWER "SDL_RENDER_GPU_LOW_POWER"
3321
3353#define SDL_HINT_RENDER_DRIVER "SDL_RENDER_DRIVER"
3354
3371#define SDL_HINT_RENDER_LINE_METHOD "SDL_RENDER_LINE_METHOD"
3372
3386#define SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE \
3387 "SDL_RENDER_METAL_PREFER_LOW_POWER_DEVICE"
3388
3404#define SDL_HINT_RENDER_VSYNC "SDL_RENDER_VSYNC"
3405
3421#define SDL_HINT_RETURN_KEY_HIDES_IME "SDL_RETURN_KEY_HIDES_IME"
3422
3440#define SDL_HINT_ROG_GAMEPAD_MICE "SDL_ROG_GAMEPAD_MICE"
3441
3460#define SDL_HINT_ROG_GAMEPAD_MICE_EXCLUDED "SDL_ROG_GAMEPAD_MICE_EXCLUDED"
3461
3462#if SDL_VERSION_ATLEAST(3, 4, 0)
3463
3471#define SDL_HINT_PS2_GS_WIDTH "SDL_PS2_GS_WIDTH"
3472
3480#define SDL_HINT_PS2_GS_HEIGHT "SDL_PS2_GS_HEIGHT"
3481
3492#define SDL_HINT_PS2_GS_PROGRESSIVE "SDL_PS2_GS_PROGRESSIVE"
3493
3505#define SDL_HINT_PS2_GS_MODE "SDL_PS2_GS_MODE"
3506
3507#endif // SDL_VERSION_ATLEAST(3, 4, 0)
3508
3519#define SDL_HINT_RPI_VIDEO_LAYER "SDL_RPI_VIDEO_LAYER"
3520
3541#define SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME \
3542 "SDL_SCREENSAVER_INHIBIT_ACTIVITY_NAME"
3543
3561#define SDL_HINT_SHUTDOWN_DBUS_ON_QUIT "SDL_SHUTDOWN_DBUS_ON_QUIT"
3562
3575#define SDL_HINT_STORAGE_TITLE_DRIVER "SDL_STORAGE_TITLE_DRIVER"
3576
3589#define SDL_HINT_STORAGE_USER_DRIVER "SDL_STORAGE_USER_DRIVER"
3590
3616#define SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL \
3617 "SDL_THREAD_FORCE_REALTIME_TIME_CRITICAL"
3618
3640#define SDL_HINT_THREAD_PRIORITY_POLICY "SDL_THREAD_PRIORITY_POLICY"
3641
3660#define SDL_HINT_TIMER_RESOLUTION "SDL_TIMER_RESOLUTION"
3661
3675#define SDL_HINT_TOUCH_MOUSE_EVENTS "SDL_TOUCH_MOUSE_EVENTS"
3676
3694#define SDL_HINT_TRACKPAD_IS_TOUCH_ONLY "SDL_TRACKPAD_IS_TOUCH_ONLY"
3695
3709#define SDL_HINT_TV_REMOTE_AS_JOYSTICK "SDL_TV_REMOTE_AS_JOYSTICK"
3710
3723#define SDL_HINT_VIDEO_ALLOW_SCREENSAVER "SDL_VIDEO_ALLOW_SCREENSAVER"
3724
3750#define SDL_HINT_VIDEO_DISPLAY_PRIORITY "SDL_VIDEO_DISPLAY_PRIORITY"
3751
3773#define SDL_HINT_VIDEO_DOUBLE_BUFFER "SDL_VIDEO_DOUBLE_BUFFER"
3774
3791#define SDL_HINT_VIDEO_DRIVER "SDL_VIDEO_DRIVER"
3792
3804#define SDL_HINT_VIDEO_DUMMY_SAVE_FRAMES "SDL_VIDEO_DUMMY_SAVE_FRAMES"
3805
3818#define SDL_HINT_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK \
3819 "SDL_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK"
3820
3834#define SDL_HINT_VIDEO_FORCE_EGL "SDL_VIDEO_FORCE_EGL"
3835
3852#define SDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES "SDL_VIDEO_MAC_FULLSCREEN_SPACES"
3853
3871#define SDL_HINT_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY \
3872 "SDL_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY"
3873
3874#if SDL_VERSION_ATLEAST(3, 4, 0)
3875
3891#define SDL_HINT_VIDEO_METAL_AUTO_RESIZE_DRAWABLE \
3892 "SDL_VIDEO_METAL_AUTO_RESIZE_DRAWABLE"
3893
3912#define SDL_HINT_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE \
3913 "SDL_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE"
3914
3915#endif // SDL_VERSION_ATLEAST(3, 4, 0)
3916
3933#define SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS"
3934
3950#define SDL_HINT_VIDEO_OFFSCREEN_SAVE_FRAMES "SDL_VIDEO_OFFSCREEN_SAVE_FRAMES"
3951
3976#define SDL_HINT_VIDEO_SYNC_WINDOW_OPERATIONS "SDL_VIDEO_SYNC_WINDOW_OPERATIONS"
3977
3993#define SDL_HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR "SDL_VIDEO_WAYLAND_ALLOW_LIBDECOR"
3994
4012#define SDL_HINT_VIDEO_WAYLAND_MODE_EMULATION "SDL_VIDEO_WAYLAND_MODE_EMULATION"
4013
4034#define SDL_HINT_VIDEO_WAYLAND_MODE_SCALING "SDL_VIDEO_WAYLAND_MODE_SCALING"
4035
4054#define SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR \
4055 "SDL_VIDEO_WAYLAND_PREFER_LIBDECOR"
4056
4094#define SDL_HINT_VIDEO_WAYLAND_SCALE_TO_DISPLAY \
4095 "SDL_VIDEO_WAYLAND_SCALE_TO_DISPLAY"
4096
4117#define SDL_HINT_VIDEO_WIN_D3DCOMPILER "SDL_VIDEO_WIN_D3DCOMPILER"
4118
4119#if SDL_VERSION_ATLEAST(3, 4, 10)
4120
4144#define SDL_HINT_VIDEO_X11_ENABLE_XSYNC_EXT "SDL_VIDEO_X11_ENABLE_XSYNC_EXT"
4145
4146#endif // SDL_VERSION_ATLEAST(3, 4, 10)
4147
4148#if SDL_VERSION_ATLEAST(3, 2, 10)
4149
4164#define SDL_HINT_VIDEO_X11_EXTERNAL_WINDOW_INPUT \
4165 "SDL_VIDEO_X11_EXTERNAL_WINDOW_INPUT"
4166
4167#endif // SDL_VERSION_ATLEAST(3, 2, 10)
4168
4182#define SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR \
4183 "SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR"
4184
4202#define SDL_HINT_VIDEO_X11_NET_WM_PING "SDL_VIDEO_X11_NET_WM_PING"
4203
4216#define SDL_HINT_VIDEO_X11_NODIRECTCOLOR "SDL_VIDEO_X11_NODIRECTCOLOR"
4217
4227#define SDL_HINT_VIDEO_X11_SCALING_FACTOR "SDL_VIDEO_X11_SCALING_FACTOR"
4228
4236#define SDL_HINT_VIDEO_X11_VISUALID "SDL_VIDEO_X11_VISUALID"
4237
4245#define SDL_HINT_VIDEO_X11_WINDOW_VISUALID "SDL_VIDEO_X11_WINDOW_VISUALID"
4246
4259#define SDL_HINT_VIDEO_X11_XRANDR "SDL_VIDEO_X11_XRANDR"
4260
4274#define SDL_HINT_VITA_ENABLE_BACK_TOUCH "SDL_VITA_ENABLE_BACK_TOUCH"
4275
4289#define SDL_HINT_VITA_ENABLE_FRONT_TOUCH "SDL_VITA_ENABLE_FRONT_TOUCH"
4290
4300#define SDL_HINT_VITA_MODULE_PATH "SDL_VITA_MODULE_PATH"
4301
4313#define SDL_HINT_VITA_PVR_INIT "SDL_VITA_PVR_INIT"
4314
4328#define SDL_HINT_VITA_RESOLUTION "SDL_VITA_RESOLUTION"
4329
4343#define SDL_HINT_VITA_PVR_OPENGL "SDL_VITA_PVR_OPENGL"
4344
4358#define SDL_HINT_VITA_TOUCH_MOUSE_DEVICE "SDL_VITA_TOUCH_MOUSE_DEVICE"
4359
4369#define SDL_HINT_VULKAN_DISPLAY "SDL_VULKAN_DISPLAY"
4370
4379#define SDL_HINT_VULKAN_LIBRARY "SDL_VULKAN_LIBRARY"
4380
4410#define SDL_HINT_WAVE_FACT_CHUNK "SDL_WAVE_FACT_CHUNK"
4411
4422#define SDL_HINT_WAVE_CHUNK_LIMIT "SDL_WAVE_CHUNK_LIMIT"
4423
4450#define SDL_HINT_WAVE_RIFF_CHUNK_SIZE "SDL_WAVE_RIFF_CHUNK_SIZE"
4451
4470#define SDL_HINT_WAVE_TRUNCATION "SDL_WAVE_TRUNCATION"
4471
4486#define SDL_HINT_WINDOW_ACTIVATE_WHEN_RAISED "SDL_WINDOW_ACTIVATE_WHEN_RAISED"
4487
4502#define SDL_HINT_WINDOW_ACTIVATE_WHEN_SHOWN "SDL_WINDOW_ACTIVATE_WHEN_SHOWN"
4503
4520#define SDL_HINT_WINDOW_ALLOW_TOPMOST "SDL_WINDOW_ALLOW_TOPMOST"
4521
4536#define SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN \
4537 "SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN"
4538
4552#define SDL_HINT_WINDOWS_CLOSE_ON_ALT_F4 "SDL_WINDOWS_CLOSE_ON_ALT_F4"
4553
4580#define SDL_HINT_WINDOWS_ENABLE_MENU_MNEMONICS \
4581 "SDL_WINDOWS_ENABLE_MENU_MNEMONICS"
4582
4595#define SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP "SDL_WINDOWS_ENABLE_MESSAGELOOP"
4596
4610#define SDL_HINT_WINDOWS_GAMEINPUT "SDL_WINDOWS_GAMEINPUT"
4611
4624#define SDL_HINT_WINDOWS_RAW_KEYBOARD "SDL_WINDOWS_RAW_KEYBOARD"
4625
4626#if SDL_VERSION_ATLEAST(3, 4, 0)
4627
4648#define SDL_HINT_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS \
4649 "SDL_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS"
4650
4651#endif // SDL_VERSION_ATLEAST(3, 4, 0)
4652
4653#if SDL_VERSION_ATLEAST(3, 4, 4)
4654
4671#define SDL_HINT_WINDOWS_RAW_KEYBOARD_INPUTSINK \
4672 "SDL_WINDOWS_RAW_KEYBOARD_INPUTSINK"
4673
4674#endif // SDL_VERSION_ATLEAST(3, 4, 4)
4675
4695#define SDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL \
4696 "SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL"
4697
4706#define SDL_HINT_WINDOWS_INTRESOURCE_ICON "SDL_WINDOWS_INTRESOURCE_ICON"
4707
4716#define SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL \
4717 "SDL_WINDOWS_INTRESOURCE_ICON_SMALL"
4718
4745#define SDL_HINT_WINDOWS_USE_D3D9EX "SDL_WINDOWS_USE_D3D9EX"
4746
4762#define SDL_HINT_WINDOWS_ERASE_BACKGROUND_MODE \
4763 "SDL_WINDOWS_ERASE_BACKGROUND_MODE"
4764
4784#define SDL_HINT_X11_FORCE_OVERRIDE_REDIRECT "SDL_X11_FORCE_OVERRIDE_REDIRECT"
4785
4800#define SDL_HINT_X11_WINDOW_TYPE "SDL_X11_WINDOW_TYPE"
4801
4811#define SDL_HINT_X11_XCB_LIBRARY "SDL_X11_XCB_LIBRARY"
4812
4825#define SDL_HINT_XINPUT_ENABLED "SDL_XINPUT_ENABLED"
4826
4848#define SDL_HINT_ASSERT "SDL_ASSERT"
4849
4863#define SDL_HINT_PEN_MOUSE_EVENTS "SDL_PEN_MOUSE_EVENTS"
4864
4878#define SDL_HINT_PEN_TOUCH_EVENTS "SDL_PEN_TOUCH_EVENTS"
4879
4880#endif // SDL3PP_DOC
4881
4887using HintPriority = SDL_HintPriority;
4888
4889constexpr HintPriority HINT_DEFAULT = SDL_HINT_DEFAULT;
4890
4891constexpr HintPriority HINT_NORMAL = SDL_HINT_NORMAL;
4892
4893constexpr HintPriority HINT_OVERRIDE = SDL_HINT_OVERRIDE;
4894
4916 StringParam value,
4917 HintPriority priority)
4918{
4919 CheckError(SDL_SetHintWithPriority(name, value, priority));
4920}
4921
4941inline void SetHint(StringParam name, StringParam value)
4942{
4943 CheckError(SDL_SetHint(name, value));
4944}
4945
4963inline void ResetHint(StringParam name) { CheckError(SDL_ResetHint(name)); }
4964
4978inline void ResetHints() { SDL_ResetHints(); }
4979
4993inline const char* GetHint(StringParam name) { return SDL_GetHint(name); }
4994
5010inline bool GetHintBoolean(StringParam name, bool default_value)
5011{
5012 return SDL_GetHintBoolean(name, default_value);
5013}
5014
5035using HintCallback = void(SDLCALL*)(void* userdata,
5036 const char* name,
5037 const char* oldValue,
5038 const char* newValue);
5039
5062 void(const char* name, const char* oldValue, const char* newValue)>;
5063
5083 HintCallback callback,
5084 void* userdata)
5085{
5086 CheckError(SDL_AddHintCallback(name, callback, userdata));
5087}
5088
5106inline void AddHintCallback(StringParam name, HintCB callback)
5107{
5108 AddHintCallback(name, callback.wrapper, callback.data);
5109}
5110
5126 HintCallback callback,
5127 void* userdata)
5128{
5129 SDL_RemoveHintCallback(name, callback, userdata);
5130}
5131
5133
5134} // namespace SDL
5135
5136#endif /* SDL3PP_HINTS_H_ */
Helpers to use C++ strings parameters.
Definition SDL3pp_strings.h:58
constexpr void CheckError(bool result)
Check and throw if returned value from SDL is an error.
Definition SDL3pp_error.h:199
MakeFrontCallback< void(const char *name, const char *oldValue, const char *newValue)> HintCB
A callback used to send notifications of hint value changes.
Definition SDL3pp_hints.h:5061
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:5035
void SetHint(StringParam name, StringParam value)
Set a hint with normal priority.
Definition SDL3pp_hints.h:4941
void AddHintCallback(StringParam name, HintCallback callback, void *userdata)
Add a function to watch a particular hint.
Definition SDL3pp_hints.h:5082
constexpr HintPriority HINT_NORMAL
NORMAL.
Definition SDL3pp_hints.h:4891
constexpr HintPriority HINT_OVERRIDE
OVERRIDE.
Definition SDL3pp_hints.h:4893
bool GetHintBoolean(StringParam name, bool default_value)
Get the boolean value of a hint variable.
Definition SDL3pp_hints.h:5010
void SetHintWithPriority(StringParam name, StringParam value, HintPriority priority)
Set a hint with a specific priority.
Definition SDL3pp_hints.h:4915
SDL_HintPriority HintPriority
An enumeration of hint priorities.
Definition SDL3pp_hints.h:4887
void RemoveHintCallback(StringParam name, HintCallback callback, void *userdata)
Remove a function watching a particular hint.
Definition SDL3pp_hints.h:5125
const char * GetHint(StringParam name)
Get the value of a hint.
Definition SDL3pp_hints.h:4993
void ResetHint(StringParam name)
Reset a hint to the default value.
Definition SDL3pp_hints.h:4963
void ResetHints()
Reset all hints to the default values.
Definition SDL3pp_hints.h:4978
constexpr HintPriority HINT_DEFAULT
DEFAULT.
Definition SDL3pp_hints.h:4889
Main include header for the SDL3pp library.
Definition SDL3pp_callbackWrapper.h:169