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
102#if SDL_VERSION_ATLEAST(3, 4, 16)
103
129#define SDL_HINT_ANDROID_AAUDIO_INPUT_PRESET "SDL_ANDROID_AAUDIO_INPUT_PRESET"
130
131#endif // SDL_VERSION_ATLEAST(3, 4, 16)
132
153#define SDL_HINT_ANDROID_TRAP_BACK_BUTTON "SDL_ANDROID_TRAP_BACK_BUTTON"
154
169#define SDL_HINT_APP_ID "SDL_APP_ID"
170
186#define SDL_HINT_APP_NAME "SDL_APP_NAME"
187
209#define SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS \
210 "SDL_APPLE_TV_CONTROLLER_UI_EVENTS"
211
225#define SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION \
226 "SDL_APPLE_TV_REMOTE_ALLOW_ROTATION"
227
246#define SDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE "SDL_AUDIO_ALSA_DEFAULT_DEVICE"
247
264#define SDL_HINT_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE \
265 "SDL_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE"
266
283#define SDL_HINT_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE \
284 "SDL_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE"
285
302#define SDL_HINT_AUDIO_CATEGORY "SDL_AUDIO_CATEGORY"
303
315#define SDL_HINT_AUDIO_CHANNELS "SDL_AUDIO_CHANNELS"
316
338#define SDL_HINT_AUDIO_DEVICE_APP_ICON_NAME "SDL_AUDIO_DEVICE_APP_ICON_NAME"
339
360#define SDL_HINT_AUDIO_DEVICE_SAMPLE_FRAMES "SDL_AUDIO_DEVICE_SAMPLE_FRAMES"
361
387#define SDL_HINT_AUDIO_DEVICE_STREAM_NAME "SDL_AUDIO_DEVICE_STREAM_NAME"
388
431#define SDL_HINT_AUDIO_DEVICE_STREAM_ROLE "SDL_AUDIO_DEVICE_STREAM_ROLE"
432
433#if SDL_VERSION_ATLEAST(3, 4, 0)
434
453#define SDL_HINT_AUDIO_DEVICE_RAW_STREAM "SDL_AUDIO_DEVICE_RAW_STREAM"
454
455#endif // SDL_VERSION_ATLEAST(3, 4, 0)
456
466#define SDL_HINT_AUDIO_DISK_INPUT_FILE "SDL_AUDIO_DISK_INPUT_FILE"
467
477#define SDL_HINT_AUDIO_DISK_OUTPUT_FILE "SDL_AUDIO_DISK_OUTPUT_FILE"
478
490#define SDL_HINT_AUDIO_DISK_TIMESCALE "SDL_AUDIO_DISK_TIMESCALE"
491
504#define SDL_HINT_AUDIO_DRIVER "SDL_AUDIO_DRIVER"
505
517#define SDL_HINT_AUDIO_DUMMY_TIMESCALE "SDL_AUDIO_DUMMY_TIMESCALE"
518
543#define SDL_HINT_AUDIO_FORMAT "SDL_AUDIO_FORMAT"
544
556#define SDL_HINT_AUDIO_FREQUENCY "SDL_AUDIO_FREQUENCY"
557
578#define SDL_HINT_AUDIO_INCLUDE_MONITORS "SDL_AUDIO_INCLUDE_MONITORS"
579
593#define SDL_HINT_AUTO_UPDATE_JOYSTICKS "SDL_AUTO_UPDATE_JOYSTICKS"
594
608#define SDL_HINT_AUTO_UPDATE_SENSORS "SDL_AUTO_UPDATE_SENSORS"
609
630#define SDL_HINT_BMP_SAVE_LEGACY_FORMAT "SDL_BMP_SAVE_LEGACY_FORMAT"
631
646#define SDL_HINT_CAMERA_DRIVER "SDL_CAMERA_DRIVER"
647
678#define SDL_HINT_CPU_FEATURE_MASK "SDL_CPU_FEATURE_MASK"
679
692#define SDL_HINT_JOYSTICK_DIRECTINPUT "SDL_JOYSTICK_DIRECTINPUT"
693
721#define SDL_HINT_FILE_DIALOG_DRIVER "SDL_FILE_DIALOG_DRIVER"
722
738#define SDL_HINT_DISPLAY_USABLE_BOUNDS "SDL_DISPLAY_USABLE_BOUNDS"
739
740#if SDL_VERSION_ATLEAST(3, 4, 0)
741
755#define SDL_HINT_INVALID_PARAM_CHECKS "SDL_INVALID_PARAM_CHECKS"
756
757#endif // SDL_VERSION_ATLEAST(3, 4, 0)
758
778#define SDL_HINT_EMSCRIPTEN_ASYNCIFY "SDL_EMSCRIPTEN_ASYNCIFY"
779
789#define SDL_HINT_EMSCRIPTEN_CANVAS_SELECTOR "SDL_EMSCRIPTEN_CANVAS_SELECTOR"
790
810#define SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT"
811
827#define SDL_HINT_ENABLE_SCREEN_KEYBOARD "SDL_ENABLE_SCREEN_KEYBOARD"
828
829#if SDL_VERSION_ATLEAST(3, 4, 12)
830
848#define SDL_HINT_ENABLE_STEAM_SCREEN_KEYBOARD "SDL_ENABLE_STEAM_SCREEN_KEYBOARD"
849
850#endif // SDL_VERSION_ATLEAST(3, 4, 12)
851
867#define SDL_HINT_EVDEV_DEVICES "SDL_EVDEV_DEVICES"
868
889#define SDL_HINT_EVENT_LOGGING "SDL_EVENT_LOGGING"
890
908#define SDL_HINT_FORCE_RAISEWINDOW "SDL_FORCE_RAISEWINDOW"
909
929#define SDL_HINT_FRAMEBUFFER_ACCELERATION "SDL_FRAMEBUFFER_ACCELERATION"
930
944#define SDL_HINT_GAMECONTROLLERCONFIG "SDL_GAMECONTROLLERCONFIG"
945
959#define SDL_HINT_GAMECONTROLLERCONFIG_FILE "SDL_GAMECONTROLLERCONFIG_FILE"
960
983#define SDL_HINT_GAMECONTROLLERTYPE "SDL_GAMECONTROLLERTYPE"
984
1001#define SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES \
1002 "SDL_GAMECONTROLLER_IGNORE_DEVICES"
1003
1020#define SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT \
1021 "SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT"
1022
1044#define SDL_HINT_GAMECONTROLLER_SENSOR_FUSION "SDL_GAMECONTROLLER_SENSOR_FUSION"
1045
1055#define SDL_HINT_GDK_TEXTINPUT_DEFAULT_TEXT "SDL_GDK_TEXTINPUT_DEFAULT_TEXT"
1056
1066#define SDL_HINT_GDK_TEXTINPUT_DESCRIPTION "SDL_GDK_TEXTINPUT_DESCRIPTION"
1067
1081#define SDL_HINT_GDK_TEXTINPUT_MAX_LENGTH "SDL_GDK_TEXTINPUT_MAX_LENGTH"
1082
1096#define SDL_HINT_GDK_TEXTINPUT_SCOPE "SDL_GDK_TEXTINPUT_SCOPE"
1097
1107#define SDL_HINT_GDK_TEXTINPUT_TITLE "SDL_GDK_TEXTINPUT_TITLE"
1108
1124#define SDL_HINT_HIDAPI_LIBUSB "SDL_HIDAPI_LIBUSB"
1125
1126#if SDL_VERSION_ATLEAST(3, 4, 0)
1127
1140#define SDL_HINT_HIDAPI_LIBUSB_GAMECUBE "SDL_HIDAPI_LIBUSB_GAMECUBE"
1141
1142#endif // SDL_VERSION_ATLEAST(3, 4, 0)
1143
1160#define SDL_HINT_HIDAPI_LIBUSB_WHITELIST "SDL_HIDAPI_LIBUSB_WHITELIST"
1161
1174#define SDL_HINT_HIDAPI_UDEV "SDL_HIDAPI_UDEV"
1175
1188#define SDL_HINT_GPU_DRIVER "SDL_GPU_DRIVER"
1189
1207#define SDL_HINT_HIDAPI_ENUMERATE_ONLY_CONTROLLERS \
1208 "SDL_HIDAPI_ENUMERATE_ONLY_CONTROLLERS"
1209
1225#define SDL_HINT_HIDAPI_IGNORE_DEVICES "SDL_HIDAPI_IGNORE_DEVICES"
1226
1248#define SDL_HINT_IME_IMPLEMENTED_UI "SDL_IME_IMPLEMENTED_UI"
1249
1267#define SDL_HINT_IOS_HIDE_HOME_INDICATOR "SDL_IOS_HIDE_HOME_INDICATOR"
1268
1284#define SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS \
1285 "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS"
1286
1302#define SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES "SDL_JOYSTICK_ARCADESTICK_DEVICES"
1303
1323#define SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED \
1324 "SDL_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED"
1325
1342#define SDL_HINT_JOYSTICK_BLACKLIST_DEVICES "SDL_JOYSTICK_BLACKLIST_DEVICES"
1343
1362#define SDL_HINT_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED \
1363 "SDL_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED"
1364
1372#define SDL_HINT_JOYSTICK_DEVICE "SDL_JOYSTICK_DEVICE"
1373
1396#define SDL_HINT_JOYSTICK_ENHANCED_REPORTS "SDL_JOYSTICK_ENHANCED_REPORTS"
1397
1413#define SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES "SDL_JOYSTICK_FLIGHTSTICK_DEVICES"
1414
1434#define SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED \
1435 "SDL_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED"
1436
1452#define SDL_HINT_JOYSTICK_GAMEINPUT "SDL_JOYSTICK_GAMEINPUT"
1453
1454#if SDL_VERSION_ATLEAST(3, 4, 4)
1455
1474#define SDL_HINT_JOYSTICK_GAMEINPUT_RAW "SDL_JOYSTICK_GAMEINPUT_RAW"
1475
1476#endif // SDL_VERSION_ATLEAST(3, 4, 4)
1477
1493#define SDL_HINT_JOYSTICK_GAMECUBE_DEVICES "SDL_JOYSTICK_GAMECUBE_DEVICES"
1494
1514#define SDL_HINT_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED \
1515 "SDL_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED"
1516
1532#define SDL_HINT_JOYSTICK_HIDAPI "SDL_JOYSTICK_HIDAPI"
1533
1549#define SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS \
1550 "SDL_JOYSTICK_HIDAPI_COMBINE_JOY_CONS"
1551
1567#define SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE "SDL_JOYSTICK_HIDAPI_GAMECUBE"
1568
1588#define SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE \
1589 "SDL_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE"
1590
1606#define SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS "SDL_JOYSTICK_HIDAPI_JOY_CONS"
1607
1625#define SDL_HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED \
1626 "SDL_JOYSTICK_HIDAPI_JOYCON_HOME_LED"
1627
1643#define SDL_HINT_JOYSTICK_HIDAPI_LUNA "SDL_JOYSTICK_HIDAPI_LUNA"
1644
1660#define SDL_HINT_JOYSTICK_HIDAPI_NINTENDO_CLASSIC \
1661 "SDL_JOYSTICK_HIDAPI_NINTENDO_CLASSIC"
1662
1683#define SDL_HINT_JOYSTICK_HIDAPI_PS3 "SDL_JOYSTICK_HIDAPI_PS3"
1684
1700#define SDL_HINT_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER \
1701 "SDL_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER"
1702
1718#define SDL_HINT_JOYSTICK_HIDAPI_PS4 "SDL_JOYSTICK_HIDAPI_PS4"
1719
1733#define SDL_HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL \
1734 "SDL_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL"
1735
1751#define SDL_HINT_JOYSTICK_HIDAPI_PS5 "SDL_JOYSTICK_HIDAPI_PS5"
1752
1764#define SDL_HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED \
1765 "SDL_JOYSTICK_HIDAPI_PS5_PLAYER_LED"
1766
1782#define SDL_HINT_JOYSTICK_HIDAPI_SHIELD "SDL_JOYSTICK_HIDAPI_SHIELD"
1783
1797#define SDL_HINT_JOYSTICK_HIDAPI_STADIA "SDL_JOYSTICK_HIDAPI_STADIA"
1798
1813#define SDL_HINT_JOYSTICK_HIDAPI_STEAM "SDL_JOYSTICK_HIDAPI_STEAM"
1814
1832#define SDL_HINT_JOYSTICK_HIDAPI_STEAM_HOME_LED \
1833 "SDL_JOYSTICK_HIDAPI_STEAM_HOME_LED"
1834
1850#define SDL_HINT_JOYSTICK_HIDAPI_STEAMDECK "SDL_JOYSTICK_HIDAPI_STEAMDECK"
1851
1867#define SDL_HINT_JOYSTICK_HIDAPI_STEAM_HORI "SDL_JOYSTICK_HIDAPI_STEAM_HORI"
1868
1869#if SDL_VERSION_ATLEAST(3, 4, 0)
1870
1886#define SDL_HINT_JOYSTICK_HIDAPI_LG4FF "SDL_JOYSTICK_HIDAPI_LG4FF"
1887
1903#define SDL_HINT_JOYSTICK_HIDAPI_8BITDO "SDL_JOYSTICK_HIDAPI_8BITDO"
1904
1922#define SDL_HINT_JOYSTICK_HIDAPI_SINPUT "SDL_JOYSTICK_HIDAPI_SINPUT"
1923
1939#define SDL_HINT_JOYSTICK_HIDAPI_ZUIKI "SDL_JOYSTICK_HIDAPI_ZUIKI"
1940
1956#define SDL_HINT_JOYSTICK_HIDAPI_FLYDIGI "SDL_JOYSTICK_HIDAPI_FLYDIGI"
1957
1958#endif // SDL_VERSION_ATLEAST(3, 4, 0)
1959
1975#define SDL_HINT_JOYSTICK_HIDAPI_SWITCH "SDL_JOYSTICK_HIDAPI_SWITCH"
1976
1994#define SDL_HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED \
1995 "SDL_JOYSTICK_HIDAPI_SWITCH_HOME_LED"
1996
2010#define SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED \
2011 "SDL_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED"
2012
2013#if SDL_VERSION_ATLEAST(3, 4, 0)
2014
2030#define SDL_HINT_JOYSTICK_HIDAPI_SWITCH2 "SDL_JOYSTICK_HIDAPI_SWITCH2"
2031
2032#endif // SDL_VERSION_ATLEAST(3, 4, 0)
2033
2048#define SDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS \
2049 "SDL_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS"
2050
2067#define SDL_HINT_JOYSTICK_HIDAPI_WII "SDL_JOYSTICK_HIDAPI_WII"
2068
2082#define SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED \
2083 "SDL_JOYSTICK_HIDAPI_WII_PLAYER_LED"
2084
2101#define SDL_HINT_JOYSTICK_HIDAPI_XBOX "SDL_JOYSTICK_HIDAPI_XBOX"
2102
2118#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_360 "SDL_JOYSTICK_HIDAPI_XBOX_360"
2119
2133#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED \
2134 "SDL_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED"
2135
2151#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS \
2152 "SDL_JOYSTICK_HIDAPI_XBOX_360_WIRELESS"
2153
2169#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE "SDL_JOYSTICK_HIDAPI_XBOX_ONE"
2170
2188#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED \
2189 "SDL_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED"
2190
2191#if SDL_VERSION_ATLEAST(3, 4, 0)
2192
2208#define SDL_HINT_JOYSTICK_HIDAPI_GIP "SDL_JOYSTICK_HIDAPI_GIP"
2209
2227#define SDL_HINT_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA \
2228 "SDL_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA"
2229
2230#endif // SDL_VERSION_ATLEAST(3, 4, 0)
2231
2244#define SDL_HINT_JOYSTICK_IOKIT "SDL_JOYSTICK_IOKIT"
2245
2259#define SDL_HINT_JOYSTICK_LINUX_CLASSIC "SDL_JOYSTICK_LINUX_CLASSIC"
2260
2274#define SDL_HINT_JOYSTICK_LINUX_DEADZONES "SDL_JOYSTICK_LINUX_DEADZONES"
2275
2292#define SDL_HINT_JOYSTICK_LINUX_DIGITAL_HATS "SDL_JOYSTICK_LINUX_DIGITAL_HATS"
2293
2308#define SDL_HINT_JOYSTICK_LINUX_HAT_DEADZONES "SDL_JOYSTICK_LINUX_HAT_DEADZONES"
2309
2323#define SDL_HINT_JOYSTICK_MFI "SDL_JOYSTICK_MFI"
2324
2338#define SDL_HINT_JOYSTICK_RAWINPUT "SDL_JOYSTICK_RAWINPUT"
2339
2355#define SDL_HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT \
2356 "SDL_JOYSTICK_RAWINPUT_CORRELATE_XINPUT"
2357
2371#define SDL_HINT_JOYSTICK_ROG_CHAKRAM "SDL_JOYSTICK_ROG_CHAKRAM"
2372
2386#define SDL_HINT_JOYSTICK_THREAD "SDL_JOYSTICK_THREAD"
2387
2403#define SDL_HINT_JOYSTICK_THROTTLE_DEVICES "SDL_JOYSTICK_THROTTLE_DEVICES"
2404
2424#define SDL_HINT_JOYSTICK_THROTTLE_DEVICES_EXCLUDED \
2425 "SDL_JOYSTICK_THROTTLE_DEVICES_EXCLUDED"
2426
2440#define SDL_HINT_JOYSTICK_WGI "SDL_JOYSTICK_WGI"
2441
2457#define SDL_HINT_JOYSTICK_WHEEL_DEVICES "SDL_JOYSTICK_WHEEL_DEVICES"
2458
2477#define SDL_HINT_JOYSTICK_WHEEL_DEVICES_EXCLUDED \
2478 "SDL_JOYSTICK_WHEEL_DEVICES_EXCLUDED"
2479
2496#define SDL_HINT_JOYSTICK_ZERO_CENTERED_DEVICES \
2497 "SDL_JOYSTICK_ZERO_CENTERED_DEVICES"
2498
2499#if SDL_VERSION_ATLEAST(3, 2, 5)
2500
2521#define SDL_HINT_JOYSTICK_HAPTIC_AXES "SDL_JOYSTICK_HAPTIC_AXES"
2522
2523#endif // SDL_VERSION_ATLEAST(3, 2, 5)
2524
2556#define SDL_HINT_KEYCODE_OPTIONS "SDL_KEYCODE_OPTIONS"
2557
2570#define SDL_HINT_KMSDRM_DEVICE_INDEX "SDL_KMSDRM_DEVICE_INDEX"
2571
2596#define SDL_HINT_KMSDRM_REQUIRE_DRM_MASTER "SDL_KMSDRM_REQUIRE_DRM_MASTER"
2597
2598#if SDL_VERSION_ATLEAST(3, 4, 0)
2599
2619#define SDL_HINT_KMSDRM_ATOMIC "SDL_KMSDRM_ATOMIC"
2620
2621#endif // SDL_VERSION_ATLEAST(3, 4, 0)
2622
2652#define SDL_HINT_LOGGING "SDL_LOGGING"
2653
2667#define SDL_HINT_MAC_BACKGROUND_APP "SDL_MAC_BACKGROUND_APP"
2668
2683#define SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK \
2684 "SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK"
2685
2707#define SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH "SDL_MAC_OPENGL_ASYNC_DISPATCH"
2708
2732#define SDL_HINT_MAC_OPTION_AS_ALT "SDL_MAC_OPTION_AS_ALT"
2733
2747#define SDL_HINT_MAC_SCROLL_MOMENTUM "SDL_MAC_SCROLL_MOMENTUM"
2748
2749#if SDL_VERSION_ATLEAST(3, 4, 0)
2750
2764#define SDL_HINT_MAC_PRESS_AND_HOLD "SDL_MAC_PRESS_AND_HOLD"
2765
2766#endif // SDL_VERSION_ATLEAST(3, 4, 0)
2767
2796#define SDL_HINT_MAIN_CALLBACK_RATE "SDL_MAIN_CALLBACK_RATE"
2797
2815#define SDL_HINT_MOUSE_AUTO_CAPTURE "SDL_MOUSE_AUTO_CAPTURE"
2816
2824#define SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS "SDL_MOUSE_DOUBLE_CLICK_RADIUS"
2825
2833#define SDL_HINT_MOUSE_DOUBLE_CLICK_TIME "SDL_MOUSE_DOUBLE_CLICK_TIME"
2834
2845#define SDL_HINT_MOUSE_DEFAULT_SYSTEM_CURSOR "SDL_MOUSE_DEFAULT_SYSTEM_CURSOR"
2846
2847#if SDL_VERSION_ATLEAST(3, 4, 0)
2848
2865#define SDL_HINT_MOUSE_DPI_SCALE_CURSORS "SDL_MOUSE_DPI_SCALE_CURSORS"
2866
2867#endif // SDL_VERSION_ATLEAST(3, 4, 0)
2868
2899#define SDL_HINT_MOUSE_EMULATE_WARP_WITH_RELATIVE \
2900 "SDL_MOUSE_EMULATE_WARP_WITH_RELATIVE"
2901
2914#define SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH "SDL_MOUSE_FOCUS_CLICKTHROUGH"
2915
2924#define SDL_HINT_MOUSE_NORMAL_SPEED_SCALE "SDL_MOUSE_NORMAL_SPEED_SCALE"
2925
2945#define SDL_HINT_MOUSE_RELATIVE_MODE_CENTER "SDL_MOUSE_RELATIVE_MODE_CENTER"
2946
2955#define SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE "SDL_MOUSE_RELATIVE_SPEED_SCALE"
2956
2974#define SDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE "SDL_MOUSE_RELATIVE_SYSTEM_SCALE"
2975
2993#define SDL_HINT_MOUSE_RELATIVE_WARP_MOTION "SDL_MOUSE_RELATIVE_WARP_MOTION"
2994
3012#define SDL_HINT_MOUSE_RELATIVE_CURSOR_VISIBLE \
3013 "SDL_MOUSE_RELATIVE_CURSOR_VISIBLE"
3014
3030#define SDL_HINT_MOUSE_TOUCH_EVENTS "SDL_MOUSE_TOUCH_EVENTS"
3031
3048#define SDL_HINT_MUTE_CONSOLE_KEYBOARD "SDL_MUTE_CONSOLE_KEYBOARD"
3049
3063#define SDL_HINT_NO_SIGNAL_HANDLERS "SDL_NO_SIGNAL_HANDLERS"
3064
3073#define SDL_HINT_OPENGL_LIBRARY "SDL_OPENGL_LIBRARY"
3074
3085#define SDL_HINT_EGL_LIBRARY "SDL_EGL_LIBRARY"
3086
3118#define SDL_HINT_OPENGL_ES_DRIVER "SDL_OPENGL_ES_DRIVER"
3119
3120#if SDL_VERSION_ATLEAST(3, 4, 2)
3121
3160#define SDL_HINT_OPENGL_FORCE_SRGB_FRAMEBUFFER \
3161 "SDL_OPENGL_FORCE_SRGB_FRAMEBUFFER"
3162
3163#endif // SDL_VERSION_ATLEAST(3, 4, 2)
3164
3175#define SDL_HINT_OPENVR_LIBRARY "SDL_OPENVR_LIBRARY"
3176
3194#define SDL_HINT_ORIENTATIONS "SDL_ORIENTATIONS"
3195
3214#define SDL_HINT_POLL_SENTINEL "SDL_POLL_SENTINEL"
3215
3232#define SDL_HINT_PREFERRED_LOCALES "SDL_PREFERRED_LOCALES"
3233
3255#define SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE "SDL_QUIT_ON_LAST_WINDOW_CLOSE"
3256
3270#define SDL_HINT_RENDER_DIRECT3D_THREADSAFE "SDL_RENDER_DIRECT3D_THREADSAFE"
3271
3286#define SDL_HINT_RENDER_DIRECT3D11_DEBUG "SDL_RENDER_DIRECT3D11_DEBUG"
3287
3288#if SDL_VERSION_ATLEAST(3, 4, 0)
3289
3306#define SDL_HINT_RENDER_DIRECT3D11_WARP "SDL_RENDER_DIRECT3D11_WARP"
3307
3308#endif // SDL_VERSION_ATLEAST(3, 4, 0)
3309
3322#define SDL_HINT_RENDER_VULKAN_DEBUG "SDL_RENDER_VULKAN_DEBUG"
3323
3336#define SDL_HINT_RENDER_GPU_DEBUG "SDL_RENDER_GPU_DEBUG"
3337
3351#define SDL_HINT_RENDER_GPU_LOW_POWER "SDL_RENDER_GPU_LOW_POWER"
3352
3384#define SDL_HINT_RENDER_DRIVER "SDL_RENDER_DRIVER"
3385
3402#define SDL_HINT_RENDER_LINE_METHOD "SDL_RENDER_LINE_METHOD"
3403
3417#define SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE \
3418 "SDL_RENDER_METAL_PREFER_LOW_POWER_DEVICE"
3419
3435#define SDL_HINT_RENDER_VSYNC "SDL_RENDER_VSYNC"
3436
3452#define SDL_HINT_RETURN_KEY_HIDES_IME "SDL_RETURN_KEY_HIDES_IME"
3453
3471#define SDL_HINT_ROG_GAMEPAD_MICE "SDL_ROG_GAMEPAD_MICE"
3472
3491#define SDL_HINT_ROG_GAMEPAD_MICE_EXCLUDED "SDL_ROG_GAMEPAD_MICE_EXCLUDED"
3492
3493#if SDL_VERSION_ATLEAST(3, 4, 0)
3494
3502#define SDL_HINT_PS2_GS_WIDTH "SDL_PS2_GS_WIDTH"
3503
3511#define SDL_HINT_PS2_GS_HEIGHT "SDL_PS2_GS_HEIGHT"
3512
3523#define SDL_HINT_PS2_GS_PROGRESSIVE "SDL_PS2_GS_PROGRESSIVE"
3524
3536#define SDL_HINT_PS2_GS_MODE "SDL_PS2_GS_MODE"
3537
3538#endif // SDL_VERSION_ATLEAST(3, 4, 0)
3539
3550#define SDL_HINT_RPI_VIDEO_LAYER "SDL_RPI_VIDEO_LAYER"
3551
3572#define SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME \
3573 "SDL_SCREENSAVER_INHIBIT_ACTIVITY_NAME"
3574
3592#define SDL_HINT_SHUTDOWN_DBUS_ON_QUIT "SDL_SHUTDOWN_DBUS_ON_QUIT"
3593
3606#define SDL_HINT_STORAGE_TITLE_DRIVER "SDL_STORAGE_TITLE_DRIVER"
3607
3620#define SDL_HINT_STORAGE_USER_DRIVER "SDL_STORAGE_USER_DRIVER"
3621
3647#define SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL \
3648 "SDL_THREAD_FORCE_REALTIME_TIME_CRITICAL"
3649
3671#define SDL_HINT_THREAD_PRIORITY_POLICY "SDL_THREAD_PRIORITY_POLICY"
3672
3691#define SDL_HINT_TIMER_RESOLUTION "SDL_TIMER_RESOLUTION"
3692
3706#define SDL_HINT_TOUCH_MOUSE_EVENTS "SDL_TOUCH_MOUSE_EVENTS"
3707
3725#define SDL_HINT_TRACKPAD_IS_TOUCH_ONLY "SDL_TRACKPAD_IS_TOUCH_ONLY"
3726
3740#define SDL_HINT_TV_REMOTE_AS_JOYSTICK "SDL_TV_REMOTE_AS_JOYSTICK"
3741
3754#define SDL_HINT_VIDEO_ALLOW_SCREENSAVER "SDL_VIDEO_ALLOW_SCREENSAVER"
3755
3781#define SDL_HINT_VIDEO_DISPLAY_PRIORITY "SDL_VIDEO_DISPLAY_PRIORITY"
3782
3804#define SDL_HINT_VIDEO_DOUBLE_BUFFER "SDL_VIDEO_DOUBLE_BUFFER"
3805
3822#define SDL_HINT_VIDEO_DRIVER "SDL_VIDEO_DRIVER"
3823
3835#define SDL_HINT_VIDEO_DUMMY_SAVE_FRAMES "SDL_VIDEO_DUMMY_SAVE_FRAMES"
3836
3849#define SDL_HINT_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK \
3850 "SDL_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK"
3851
3865#define SDL_HINT_VIDEO_FORCE_EGL "SDL_VIDEO_FORCE_EGL"
3866
3883#define SDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES "SDL_VIDEO_MAC_FULLSCREEN_SPACES"
3884
3902#define SDL_HINT_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY \
3903 "SDL_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY"
3904
3905#if SDL_VERSION_ATLEAST(3, 4, 0)
3906
3922#define SDL_HINT_VIDEO_METAL_AUTO_RESIZE_DRAWABLE \
3923 "SDL_VIDEO_METAL_AUTO_RESIZE_DRAWABLE"
3924
3943#define SDL_HINT_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE \
3944 "SDL_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE"
3945
3946#endif // SDL_VERSION_ATLEAST(3, 4, 0)
3947
3964#define SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS"
3965
3981#define SDL_HINT_VIDEO_OFFSCREEN_SAVE_FRAMES "SDL_VIDEO_OFFSCREEN_SAVE_FRAMES"
3982
4007#define SDL_HINT_VIDEO_SYNC_WINDOW_OPERATIONS "SDL_VIDEO_SYNC_WINDOW_OPERATIONS"
4008
4024#define SDL_HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR "SDL_VIDEO_WAYLAND_ALLOW_LIBDECOR"
4025
4043#define SDL_HINT_VIDEO_WAYLAND_MODE_EMULATION "SDL_VIDEO_WAYLAND_MODE_EMULATION"
4044
4065#define SDL_HINT_VIDEO_WAYLAND_MODE_SCALING "SDL_VIDEO_WAYLAND_MODE_SCALING"
4066
4085#define SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR \
4086 "SDL_VIDEO_WAYLAND_PREFER_LIBDECOR"
4087
4125#define SDL_HINT_VIDEO_WAYLAND_SCALE_TO_DISPLAY \
4126 "SDL_VIDEO_WAYLAND_SCALE_TO_DISPLAY"
4127
4148#define SDL_HINT_VIDEO_WIN_D3DCOMPILER "SDL_VIDEO_WIN_D3DCOMPILER"
4149
4150#if SDL_VERSION_ATLEAST(3, 4, 10)
4151
4175#define SDL_HINT_VIDEO_X11_ENABLE_XSYNC_EXT "SDL_VIDEO_X11_ENABLE_XSYNC_EXT"
4176
4177#endif // SDL_VERSION_ATLEAST(3, 4, 10)
4178
4179#if SDL_VERSION_ATLEAST(3, 2, 10)
4180
4195#define SDL_HINT_VIDEO_X11_EXTERNAL_WINDOW_INPUT \
4196 "SDL_VIDEO_X11_EXTERNAL_WINDOW_INPUT"
4197
4198#endif // SDL_VERSION_ATLEAST(3, 2, 10)
4199
4213#define SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR \
4214 "SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR"
4215
4233#define SDL_HINT_VIDEO_X11_NET_WM_PING "SDL_VIDEO_X11_NET_WM_PING"
4234
4247#define SDL_HINT_VIDEO_X11_NODIRECTCOLOR "SDL_VIDEO_X11_NODIRECTCOLOR"
4248
4258#define SDL_HINT_VIDEO_X11_SCALING_FACTOR "SDL_VIDEO_X11_SCALING_FACTOR"
4259
4267#define SDL_HINT_VIDEO_X11_VISUALID "SDL_VIDEO_X11_VISUALID"
4268
4276#define SDL_HINT_VIDEO_X11_WINDOW_VISUALID "SDL_VIDEO_X11_WINDOW_VISUALID"
4277
4290#define SDL_HINT_VIDEO_X11_XRANDR "SDL_VIDEO_X11_XRANDR"
4291
4305#define SDL_HINT_VITA_ENABLE_BACK_TOUCH "SDL_VITA_ENABLE_BACK_TOUCH"
4306
4320#define SDL_HINT_VITA_ENABLE_FRONT_TOUCH "SDL_VITA_ENABLE_FRONT_TOUCH"
4321
4331#define SDL_HINT_VITA_MODULE_PATH "SDL_VITA_MODULE_PATH"
4332
4344#define SDL_HINT_VITA_PVR_INIT "SDL_VITA_PVR_INIT"
4345
4359#define SDL_HINT_VITA_RESOLUTION "SDL_VITA_RESOLUTION"
4360
4374#define SDL_HINT_VITA_PVR_OPENGL "SDL_VITA_PVR_OPENGL"
4375
4389#define SDL_HINT_VITA_TOUCH_MOUSE_DEVICE "SDL_VITA_TOUCH_MOUSE_DEVICE"
4390
4400#define SDL_HINT_VULKAN_DISPLAY "SDL_VULKAN_DISPLAY"
4401
4410#define SDL_HINT_VULKAN_LIBRARY "SDL_VULKAN_LIBRARY"
4411
4441#define SDL_HINT_WAVE_FACT_CHUNK "SDL_WAVE_FACT_CHUNK"
4442
4453#define SDL_HINT_WAVE_CHUNK_LIMIT "SDL_WAVE_CHUNK_LIMIT"
4454
4481#define SDL_HINT_WAVE_RIFF_CHUNK_SIZE "SDL_WAVE_RIFF_CHUNK_SIZE"
4482
4501#define SDL_HINT_WAVE_TRUNCATION "SDL_WAVE_TRUNCATION"
4502
4517#define SDL_HINT_WINDOW_ACTIVATE_WHEN_RAISED "SDL_WINDOW_ACTIVATE_WHEN_RAISED"
4518
4533#define SDL_HINT_WINDOW_ACTIVATE_WHEN_SHOWN "SDL_WINDOW_ACTIVATE_WHEN_SHOWN"
4534
4551#define SDL_HINT_WINDOW_ALLOW_TOPMOST "SDL_WINDOW_ALLOW_TOPMOST"
4552
4567#define SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN \
4568 "SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN"
4569
4583#define SDL_HINT_WINDOWS_CLOSE_ON_ALT_F4 "SDL_WINDOWS_CLOSE_ON_ALT_F4"
4584
4611#define SDL_HINT_WINDOWS_ENABLE_MENU_MNEMONICS \
4612 "SDL_WINDOWS_ENABLE_MENU_MNEMONICS"
4613
4626#define SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP "SDL_WINDOWS_ENABLE_MESSAGELOOP"
4627
4641#define SDL_HINT_WINDOWS_GAMEINPUT "SDL_WINDOWS_GAMEINPUT"
4642
4655#define SDL_HINT_WINDOWS_RAW_KEYBOARD "SDL_WINDOWS_RAW_KEYBOARD"
4656
4657#if SDL_VERSION_ATLEAST(3, 4, 0)
4658
4679#define SDL_HINT_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS \
4680 "SDL_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS"
4681
4682#endif // SDL_VERSION_ATLEAST(3, 4, 0)
4683
4684#if SDL_VERSION_ATLEAST(3, 4, 4)
4685
4702#define SDL_HINT_WINDOWS_RAW_KEYBOARD_INPUTSINK \
4703 "SDL_WINDOWS_RAW_KEYBOARD_INPUTSINK"
4704
4705#endif // SDL_VERSION_ATLEAST(3, 4, 4)
4706
4726#define SDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL \
4727 "SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL"
4728
4737#define SDL_HINT_WINDOWS_INTRESOURCE_ICON "SDL_WINDOWS_INTRESOURCE_ICON"
4738
4747#define SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL \
4748 "SDL_WINDOWS_INTRESOURCE_ICON_SMALL"
4749
4776#define SDL_HINT_WINDOWS_USE_D3D9EX "SDL_WINDOWS_USE_D3D9EX"
4777
4793#define SDL_HINT_WINDOWS_ERASE_BACKGROUND_MODE \
4794 "SDL_WINDOWS_ERASE_BACKGROUND_MODE"
4795
4815#define SDL_HINT_X11_FORCE_OVERRIDE_REDIRECT "SDL_X11_FORCE_OVERRIDE_REDIRECT"
4816
4831#define SDL_HINT_X11_WINDOW_TYPE "SDL_X11_WINDOW_TYPE"
4832
4842#define SDL_HINT_X11_XCB_LIBRARY "SDL_X11_XCB_LIBRARY"
4843
4856#define SDL_HINT_XINPUT_ENABLED "SDL_XINPUT_ENABLED"
4857
4879#define SDL_HINT_ASSERT "SDL_ASSERT"
4880
4894#define SDL_HINT_PEN_MOUSE_EVENTS "SDL_PEN_MOUSE_EVENTS"
4895
4909#define SDL_HINT_PEN_TOUCH_EVENTS "SDL_PEN_TOUCH_EVENTS"
4910
4911#endif // SDL3PP_DOC
4912
4918using HintPriority = SDL_HintPriority;
4919
4920constexpr HintPriority HINT_DEFAULT = SDL_HINT_DEFAULT;
4921
4922constexpr HintPriority HINT_NORMAL = SDL_HINT_NORMAL;
4923
4924constexpr HintPriority HINT_OVERRIDE = SDL_HINT_OVERRIDE;
4925
4947 StringParam value,
4948 HintPriority priority)
4949{
4950 CheckError(SDL_SetHintWithPriority(name, value, priority));
4951}
4952
4972inline void SetHint(StringParam name, StringParam value)
4973{
4974 CheckError(SDL_SetHint(name, value));
4975}
4976
4994inline void ResetHint(StringParam name) { CheckError(SDL_ResetHint(name)); }
4995
5009inline void ResetHints() { SDL_ResetHints(); }
5010
5024inline const char* GetHint(StringParam name) { return SDL_GetHint(name); }
5025
5041inline bool GetHintBoolean(StringParam name, bool default_value)
5042{
5043 return SDL_GetHintBoolean(name, default_value);
5044}
5045
5066using HintCallback = void(SDLCALL*)(void* userdata,
5067 const char* name,
5068 const char* oldValue,
5069 const char* newValue);
5070
5093 void(const char* name, const char* oldValue, const char* newValue)>;
5094
5114 HintCallback callback,
5115 void* userdata)
5116{
5117 CheckError(SDL_AddHintCallback(name, callback, userdata));
5118}
5119
5137inline void AddHintCallback(StringParam name, HintCB callback)
5138{
5139 AddHintCallback(name, callback.wrapper, callback.data);
5140}
5141
5157 HintCallback callback,
5158 void* userdata)
5159{
5160 SDL_RemoveHintCallback(name, callback, userdata);
5161}
5162
5164
5165} // namespace SDL
5166
5167#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:5092
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:5066
void SetHint(StringParam name, StringParam value)
Set a hint with normal priority.
Definition SDL3pp_hints.h:4972
void AddHintCallback(StringParam name, HintCallback callback, void *userdata)
Add a function to watch a particular hint.
Definition SDL3pp_hints.h:5113
constexpr HintPriority HINT_NORMAL
NORMAL.
Definition SDL3pp_hints.h:4922
constexpr HintPriority HINT_OVERRIDE
OVERRIDE.
Definition SDL3pp_hints.h:4924
bool GetHintBoolean(StringParam name, bool default_value)
Get the boolean value of a hint variable.
Definition SDL3pp_hints.h:5041
void SetHintWithPriority(StringParam name, StringParam value, HintPriority priority)
Set a hint with a specific priority.
Definition SDL3pp_hints.h:4946
SDL_HintPriority HintPriority
An enumeration of hint priorities.
Definition SDL3pp_hints.h:4918
void RemoveHintCallback(StringParam name, HintCallback callback, void *userdata)
Remove a function watching a particular hint.
Definition SDL3pp_hints.h:5156
const char * GetHint(StringParam name)
Get the value of a hint.
Definition SDL3pp_hints.h:5024
void ResetHint(StringParam name)
Reset a hint to the default value.
Definition SDL3pp_hints.h:4994
void ResetHints()
Reset all hints to the default values.
Definition SDL3pp_hints.h:5009
constexpr HintPriority HINT_DEFAULT
DEFAULT.
Definition SDL3pp_hints.h:4920
Main include header for the SDL3pp library.
Definition SDL3pp_callbackWrapper.h:169