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_stdinc.h"
6
7namespace SDL {
8
26#ifdef SDL3PP_DOC
27
45#define SDL_HINT_ALLOW_ALT_TAB_WHILE_GRABBED "SDL_ALLOW_ALT_TAB_WHILE_GRABBED"
46
65#define SDL_HINT_ANDROID_ALLOW_RECREATE_ACTIVITY \
66 "SDL_ANDROID_ALLOW_RECREATE_ACTIVITY"
67
81#define SDL_HINT_ANDROID_BLOCK_ON_PAUSE "SDL_ANDROID_BLOCK_ON_PAUSE"
82
98#define SDL_HINT_ANDROID_LOW_LATENCY_AUDIO "SDL_ANDROID_LOW_LATENCY_AUDIO"
99
120#define SDL_HINT_ANDROID_TRAP_BACK_BUTTON "SDL_ANDROID_TRAP_BACK_BUTTON"
121
136#define SDL_HINT_APP_ID "SDL_APP_ID"
137
154#define SDL_HINT_APP_NAME "SDL_APP_NAME"
155
177#define SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS \
178 "SDL_APPLE_TV_CONTROLLER_UI_EVENTS"
179
193#define SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION \
194 "SDL_APPLE_TV_REMOTE_ALLOW_ROTATION"
195
214#define SDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE "SDL_AUDIO_ALSA_DEFAULT_DEVICE"
215
232#define SDL_HINT_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE \
233 "SDL_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE"
234
251#define SDL_HINT_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE \
252 "SDL_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE"
253
270#define SDL_HINT_AUDIO_CATEGORY "SDL_AUDIO_CATEGORY"
271
283#define SDL_HINT_AUDIO_CHANNELS "SDL_AUDIO_CHANNELS"
284
306#define SDL_HINT_AUDIO_DEVICE_APP_ICON_NAME "SDL_AUDIO_DEVICE_APP_ICON_NAME"
307
328#define SDL_HINT_AUDIO_DEVICE_SAMPLE_FRAMES "SDL_AUDIO_DEVICE_SAMPLE_FRAMES"
329
355#define SDL_HINT_AUDIO_DEVICE_STREAM_NAME "SDL_AUDIO_DEVICE_STREAM_NAME"
356
381#define SDL_HINT_AUDIO_DEVICE_STREAM_ROLE "SDL_AUDIO_DEVICE_STREAM_ROLE"
382
392#define SDL_HINT_AUDIO_DISK_INPUT_FILE "SDL_AUDIO_DISK_INPUT_FILE"
393
403#define SDL_HINT_AUDIO_DISK_OUTPUT_FILE "SDL_AUDIO_DISK_OUTPUT_FILE"
404
416#define SDL_HINT_AUDIO_DISK_TIMESCALE "SDL_AUDIO_DISK_TIMESCALE"
417
430#define SDL_HINT_AUDIO_DRIVER "SDL_AUDIO_DRIVER"
431
443#define SDL_HINT_AUDIO_DUMMY_TIMESCALE "SDL_AUDIO_DUMMY_TIMESCALE"
444
470#define SDL_HINT_AUDIO_FORMAT "SDL_AUDIO_FORMAT"
471
483#define SDL_HINT_AUDIO_FREQUENCY "SDL_AUDIO_FREQUENCY"
484
506#define SDL_HINT_AUDIO_INCLUDE_MONITORS "SDL_AUDIO_INCLUDE_MONITORS"
507
521#define SDL_HINT_AUTO_UPDATE_JOYSTICKS "SDL_AUTO_UPDATE_JOYSTICKS"
522
536#define SDL_HINT_AUTO_UPDATE_SENSORS "SDL_AUTO_UPDATE_SENSORS"
537
559#define SDL_HINT_BMP_SAVE_LEGACY_FORMAT "SDL_BMP_SAVE_LEGACY_FORMAT"
560
575#define SDL_HINT_CAMERA_DRIVER "SDL_CAMERA_DRIVER"
576
608#define SDL_HINT_CPU_FEATURE_MASK "SDL_CPU_FEATURE_MASK"
609
622#define SDL_HINT_JOYSTICK_DIRECTINPUT "SDL_JOYSTICK_DIRECTINPUT"
623
651#define SDL_HINT_FILE_DIALOG_DRIVER "SDL_FILE_DIALOG_DRIVER"
652
669#define SDL_HINT_DISPLAY_USABLE_BOUNDS "SDL_DISPLAY_USABLE_BOUNDS"
670
690#define SDL_HINT_EMSCRIPTEN_ASYNCIFY "SDL_EMSCRIPTEN_ASYNCIFY"
691
703#define SDL_HINT_EMSCRIPTEN_CANVAS_SELECTOR "SDL_EMSCRIPTEN_CANVAS_SELECTOR"
704
724#define SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT"
725
741#define SDL_HINT_ENABLE_SCREEN_KEYBOARD "SDL_ENABLE_SCREEN_KEYBOARD"
742
758#define SDL_HINT_EVDEV_DEVICES "SDL_EVDEV_DEVICES"
759
782#define SDL_HINT_EVENT_LOGGING "SDL_EVENT_LOGGING"
783
802#define SDL_HINT_FORCE_RAISEWINDOW "SDL_FORCE_RAISEWINDOW"
803
823#define SDL_HINT_FRAMEBUFFER_ACCELERATION "SDL_FRAMEBUFFER_ACCELERATION"
824
838#define SDL_HINT_GAMECONTROLLERCONFIG "SDL_GAMECONTROLLERCONFIG"
839
854#define SDL_HINT_GAMECONTROLLERCONFIG_FILE "SDL_GAMECONTROLLERCONFIG_FILE"
855
878#define SDL_HINT_GAMECONTROLLERTYPE "SDL_GAMECONTROLLERTYPE"
879
896#define SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES \
897 "SDL_GAMECONTROLLER_IGNORE_DEVICES"
898
915#define SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT \
916 "SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT"
917
939#define SDL_HINT_GAMECONTROLLER_SENSOR_FUSION "SDL_GAMECONTROLLER_SENSOR_FUSION"
940
951#define SDL_HINT_GDK_TEXTINPUT_DEFAULT_TEXT "SDL_GDK_TEXTINPUT_DEFAULT_TEXT"
952
963#define SDL_HINT_GDK_TEXTINPUT_DESCRIPTION "SDL_GDK_TEXTINPUT_DESCRIPTION"
964
978#define SDL_HINT_GDK_TEXTINPUT_MAX_LENGTH "SDL_GDK_TEXTINPUT_MAX_LENGTH"
979
994#define SDL_HINT_GDK_TEXTINPUT_SCOPE "SDL_GDK_TEXTINPUT_SCOPE"
995
1005#define SDL_HINT_GDK_TEXTINPUT_TITLE "SDL_GDK_TEXTINPUT_TITLE"
1006
1023#define SDL_HINT_HIDAPI_LIBUSB "SDL_HIDAPI_LIBUSB"
1024
1041#define SDL_HINT_HIDAPI_LIBUSB_WHITELIST "SDL_HIDAPI_LIBUSB_WHITELIST"
1042
1055#define SDL_HINT_HIDAPI_UDEV "SDL_HIDAPI_UDEV"
1056
1069#define SDL_HINT_GPU_DRIVER "SDL_GPU_DRIVER"
1070
1088#define SDL_HINT_HIDAPI_ENUMERATE_ONLY_CONTROLLERS \
1089 "SDL_HIDAPI_ENUMERATE_ONLY_CONTROLLERS"
1090
1106#define SDL_HINT_HIDAPI_IGNORE_DEVICES "SDL_HIDAPI_IGNORE_DEVICES"
1107
1129#define SDL_HINT_IME_IMPLEMENTED_UI "SDL_IME_IMPLEMENTED_UI"
1130
1148#define SDL_HINT_IOS_HIDE_HOME_INDICATOR "SDL_IOS_HIDE_HOME_INDICATOR"
1149
1165#define SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS \
1166 "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS"
1167
1183#define SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES "SDL_JOYSTICK_ARCADESTICK_DEVICES"
1184
1204#define SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED \
1205 "SDL_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED"
1206
1223#define SDL_HINT_JOYSTICK_BLACKLIST_DEVICES "SDL_JOYSTICK_BLACKLIST_DEVICES"
1224
1244#define SDL_HINT_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED \
1245 "SDL_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED"
1246
1255#define SDL_HINT_JOYSTICK_DEVICE "SDL_JOYSTICK_DEVICE"
1256
1280#define SDL_HINT_JOYSTICK_ENHANCED_REPORTS "SDL_JOYSTICK_ENHANCED_REPORTS"
1281
1297#define SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES "SDL_JOYSTICK_FLIGHTSTICK_DEVICES"
1298
1318#define SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED \
1319 "SDL_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED"
1320
1336#define SDL_HINT_JOYSTICK_GAMEINPUT "SDL_JOYSTICK_GAMEINPUT"
1337
1354#define SDL_HINT_JOYSTICK_GAMECUBE_DEVICES "SDL_JOYSTICK_GAMECUBE_DEVICES"
1355
1375#define SDL_HINT_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED \
1376 "SDL_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED"
1377
1393#define SDL_HINT_JOYSTICK_HIDAPI "SDL_JOYSTICK_HIDAPI"
1394
1410#define SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS \
1411 "SDL_JOYSTICK_HIDAPI_COMBINE_JOY_CONS"
1412
1428#define SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE "SDL_JOYSTICK_HIDAPI_GAMECUBE"
1429
1449#define SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE \
1450 "SDL_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE"
1451
1467#define SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS "SDL_JOYSTICK_HIDAPI_JOY_CONS"
1468
1486#define SDL_HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED \
1487 "SDL_JOYSTICK_HIDAPI_JOYCON_HOME_LED"
1488
1504#define SDL_HINT_JOYSTICK_HIDAPI_LUNA "SDL_JOYSTICK_HIDAPI_LUNA"
1505
1521#define SDL_HINT_JOYSTICK_HIDAPI_NINTENDO_CLASSIC \
1522 "SDL_JOYSTICK_HIDAPI_NINTENDO_CLASSIC"
1523
1544#define SDL_HINT_JOYSTICK_HIDAPI_PS3 "SDL_JOYSTICK_HIDAPI_PS3"
1545
1561#define SDL_HINT_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER \
1562 "SDL_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER"
1563
1579#define SDL_HINT_JOYSTICK_HIDAPI_PS4 "SDL_JOYSTICK_HIDAPI_PS4"
1580
1594#define SDL_HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL \
1595 "SDL_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL"
1596
1612#define SDL_HINT_JOYSTICK_HIDAPI_PS5 "SDL_JOYSTICK_HIDAPI_PS5"
1613
1625#define SDL_HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED \
1626 "SDL_JOYSTICK_HIDAPI_PS5_PLAYER_LED"
1627
1643#define SDL_HINT_JOYSTICK_HIDAPI_SHIELD "SDL_JOYSTICK_HIDAPI_SHIELD"
1644
1658#define SDL_HINT_JOYSTICK_HIDAPI_STADIA "SDL_JOYSTICK_HIDAPI_STADIA"
1659
1675#define SDL_HINT_JOYSTICK_HIDAPI_STEAM "SDL_JOYSTICK_HIDAPI_STEAM"
1676
1694#define SDL_HINT_JOYSTICK_HIDAPI_STEAM_HOME_LED \
1695 "SDL_JOYSTICK_HIDAPI_STEAM_HOME_LED"
1696
1712#define SDL_HINT_JOYSTICK_HIDAPI_STEAMDECK "SDL_JOYSTICK_HIDAPI_STEAMDECK"
1713
1723#define SDL_HINT_JOYSTICK_HIDAPI_STEAM_HORI "SDL_JOYSTICK_HIDAPI_STEAM_HORI"
1724
1740#define SDL_HINT_JOYSTICK_HIDAPI_SWITCH "SDL_JOYSTICK_HIDAPI_SWITCH"
1741
1759#define SDL_HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED \
1760 "SDL_JOYSTICK_HIDAPI_SWITCH_HOME_LED"
1761
1775#define SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED \
1776 "SDL_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED"
1777
1792#define SDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS \
1793 "SDL_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS"
1794
1811#define SDL_HINT_JOYSTICK_HIDAPI_WII "SDL_JOYSTICK_HIDAPI_WII"
1812
1826#define SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED \
1827 "SDL_JOYSTICK_HIDAPI_WII_PLAYER_LED"
1828
1845#define SDL_HINT_JOYSTICK_HIDAPI_XBOX "SDL_JOYSTICK_HIDAPI_XBOX"
1846
1862#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_360 "SDL_JOYSTICK_HIDAPI_XBOX_360"
1863
1877#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED \
1878 "SDL_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED"
1879
1895#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS \
1896 "SDL_JOYSTICK_HIDAPI_XBOX_360_WIRELESS"
1897
1913#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE "SDL_JOYSTICK_HIDAPI_XBOX_ONE"
1914
1932#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED \
1933 "SDL_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED"
1934
1948#define SDL_HINT_JOYSTICK_IOKIT "SDL_JOYSTICK_IOKIT"
1949
1963#define SDL_HINT_JOYSTICK_LINUX_CLASSIC "SDL_JOYSTICK_LINUX_CLASSIC"
1964
1978#define SDL_HINT_JOYSTICK_LINUX_DEADZONES "SDL_JOYSTICK_LINUX_DEADZONES"
1979
1996#define SDL_HINT_JOYSTICK_LINUX_DIGITAL_HATS "SDL_JOYSTICK_LINUX_DIGITAL_HATS"
1997
2012#define SDL_HINT_JOYSTICK_LINUX_HAT_DEADZONES "SDL_JOYSTICK_LINUX_HAT_DEADZONES"
2013
2027#define SDL_HINT_JOYSTICK_MFI "SDL_JOYSTICK_MFI"
2028
2042#define SDL_HINT_JOYSTICK_RAWINPUT "SDL_JOYSTICK_RAWINPUT"
2043
2059#define SDL_HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT \
2060 "SDL_JOYSTICK_RAWINPUT_CORRELATE_XINPUT"
2061
2075#define SDL_HINT_JOYSTICK_ROG_CHAKRAM "SDL_JOYSTICK_ROG_CHAKRAM"
2076
2090#define SDL_HINT_JOYSTICK_THREAD "SDL_JOYSTICK_THREAD"
2091
2107#define SDL_HINT_JOYSTICK_THROTTLE_DEVICES "SDL_JOYSTICK_THROTTLE_DEVICES"
2108
2128#define SDL_HINT_JOYSTICK_THROTTLE_DEVICES_EXCLUDED \
2129 "SDL_JOYSTICK_THROTTLE_DEVICES_EXCLUDED"
2130
2144#define SDL_HINT_JOYSTICK_WGI "SDL_JOYSTICK_WGI"
2145
2161#define SDL_HINT_JOYSTICK_WHEEL_DEVICES "SDL_JOYSTICK_WHEEL_DEVICES"
2162
2182#define SDL_HINT_JOYSTICK_WHEEL_DEVICES_EXCLUDED \
2183 "SDL_JOYSTICK_WHEEL_DEVICES_EXCLUDED"
2184
2201#define SDL_HINT_JOYSTICK_ZERO_CENTERED_DEVICES \
2202 "SDL_JOYSTICK_ZERO_CENTERED_DEVICES"
2203
2204#if SDL_VERSION_ATLEAST(3, 2, 5)
2205
2226#define SDL_HINT_JOYSTICK_HAPTIC_AXES "SDL_JOYSTICK_HAPTIC_AXES"
2227
2228#endif // SDL_VERSION_ATLEAST(3, 2, 5)
2229
2262#define SDL_HINT_KEYCODE_OPTIONS "SDL_KEYCODE_OPTIONS"
2263
2276#define SDL_HINT_KMSDRM_DEVICE_INDEX "SDL_KMSDRM_DEVICE_INDEX"
2277
2304#define SDL_HINT_KMSDRM_REQUIRE_DRM_MASTER "SDL_KMSDRM_REQUIRE_DRM_MASTER"
2305
2330#define SDL_HINT_LOGGING "SDL_LOGGING"
2331
2346#define SDL_HINT_MAC_BACKGROUND_APP "SDL_MAC_BACKGROUND_APP"
2347
2362#define SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK \
2363 "SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK"
2364
2386#define SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH "SDL_MAC_OPENGL_ASYNC_DISPATCH"
2387
2411#define SDL_HINT_MAC_OPTION_AS_ALT "SDL_MAC_OPTION_AS_ALT"
2412
2426#define SDL_HINT_MAC_SCROLL_MOMENTUM "SDL_MAC_SCROLL_MOMENTUM"
2427
2452#define SDL_HINT_MAIN_CALLBACK_RATE "SDL_MAIN_CALLBACK_RATE"
2453
2471#define SDL_HINT_MOUSE_AUTO_CAPTURE "SDL_MOUSE_AUTO_CAPTURE"
2472
2480#define SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS "SDL_MOUSE_DOUBLE_CLICK_RADIUS"
2481
2489#define SDL_HINT_MOUSE_DOUBLE_CLICK_TIME "SDL_MOUSE_DOUBLE_CLICK_TIME"
2490
2501#define SDL_HINT_MOUSE_DEFAULT_SYSTEM_CURSOR "SDL_MOUSE_DEFAULT_SYSTEM_CURSOR"
2502
2533#define SDL_HINT_MOUSE_EMULATE_WARP_WITH_RELATIVE \
2534 "SDL_MOUSE_EMULATE_WARP_WITH_RELATIVE"
2535
2548#define SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH "SDL_MOUSE_FOCUS_CLICKTHROUGH"
2549
2558#define SDL_HINT_MOUSE_NORMAL_SPEED_SCALE "SDL_MOUSE_NORMAL_SPEED_SCALE"
2559
2579#define SDL_HINT_MOUSE_RELATIVE_MODE_CENTER "SDL_MOUSE_RELATIVE_MODE_CENTER"
2580
2589#define SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE "SDL_MOUSE_RELATIVE_SPEED_SCALE"
2590
2608#define SDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE "SDL_MOUSE_RELATIVE_SYSTEM_SCALE"
2609
2627#define SDL_HINT_MOUSE_RELATIVE_WARP_MOTION "SDL_MOUSE_RELATIVE_WARP_MOTION"
2628
2646#define SDL_HINT_MOUSE_RELATIVE_CURSOR_VISIBLE \
2647 "SDL_MOUSE_RELATIVE_CURSOR_VISIBLE"
2648
2664#define SDL_HINT_MOUSE_TOUCH_EVENTS "SDL_MOUSE_TOUCH_EVENTS"
2665
2682#define SDL_HINT_MUTE_CONSOLE_KEYBOARD "SDL_MUTE_CONSOLE_KEYBOARD"
2683
2697#define SDL_HINT_NO_SIGNAL_HANDLERS "SDL_NO_SIGNAL_HANDLERS"
2698
2708#define SDL_HINT_OPENGL_LIBRARY "SDL_OPENGL_LIBRARY"
2709
2720#define SDL_HINT_EGL_LIBRARY "SDL_EGL_LIBRARY"
2721
2754#define SDL_HINT_OPENGL_ES_DRIVER "SDL_OPENGL_ES_DRIVER"
2755
2766#define SDL_HINT_OPENVR_LIBRARY "SDL_OPENVR_LIBRARY"
2767
2785#define SDL_HINT_ORIENTATIONS "SDL_ORIENTATIONS"
2786
2805#define SDL_HINT_POLL_SENTINEL "SDL_POLL_SENTINEL"
2806
2823#define SDL_HINT_PREFERRED_LOCALES "SDL_PREFERRED_LOCALES"
2824
2846#define SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE "SDL_QUIT_ON_LAST_WINDOW_CLOSE"
2847
2861#define SDL_HINT_RENDER_DIRECT3D_THREADSAFE "SDL_RENDER_DIRECT3D_THREADSAFE"
2862
2877#define SDL_HINT_RENDER_DIRECT3D11_DEBUG "SDL_RENDER_DIRECT3D11_DEBUG"
2878
2891#define SDL_HINT_RENDER_VULKAN_DEBUG "SDL_RENDER_VULKAN_DEBUG"
2892
2905#define SDL_HINT_RENDER_GPU_DEBUG "SDL_RENDER_GPU_DEBUG"
2906
2920#define SDL_HINT_RENDER_GPU_LOW_POWER "SDL_RENDER_GPU_LOW_POWER"
2921
2953#define SDL_HINT_RENDER_DRIVER "SDL_RENDER_DRIVER"
2954
2971#define SDL_HINT_RENDER_LINE_METHOD "SDL_RENDER_LINE_METHOD"
2972
2986#define SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE \
2987 "SDL_RENDER_METAL_PREFER_LOW_POWER_DEVICE"
2988
3004#define SDL_HINT_RENDER_VSYNC "SDL_RENDER_VSYNC"
3005
3021#define SDL_HINT_RETURN_KEY_HIDES_IME "SDL_RETURN_KEY_HIDES_IME"
3022
3040#define SDL_HINT_ROG_GAMEPAD_MICE "SDL_ROG_GAMEPAD_MICE"
3041
3060#define SDL_HINT_ROG_GAMEPAD_MICE_EXCLUDED "SDL_ROG_GAMEPAD_MICE_EXCLUDED"
3061
3072#define SDL_HINT_RPI_VIDEO_LAYER "SDL_RPI_VIDEO_LAYER"
3073
3094#define SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME \
3095 "SDL_SCREENSAVER_INHIBIT_ACTIVITY_NAME"
3096
3114#define SDL_HINT_SHUTDOWN_DBUS_ON_QUIT "SDL_SHUTDOWN_DBUS_ON_QUIT"
3115
3128#define SDL_HINT_STORAGE_TITLE_DRIVER "SDL_STORAGE_TITLE_DRIVER"
3129
3142#define SDL_HINT_STORAGE_USER_DRIVER "SDL_STORAGE_USER_DRIVER"
3143
3171#define SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL \
3172 "SDL_THREAD_FORCE_REALTIME_TIME_CRITICAL"
3173
3195#define SDL_HINT_THREAD_PRIORITY_POLICY "SDL_THREAD_PRIORITY_POLICY"
3196
3215#define SDL_HINT_TIMER_RESOLUTION "SDL_TIMER_RESOLUTION"
3216
3230#define SDL_HINT_TOUCH_MOUSE_EVENTS "SDL_TOUCH_MOUSE_EVENTS"
3231
3251#define SDL_HINT_TRACKPAD_IS_TOUCH_ONLY "SDL_TRACKPAD_IS_TOUCH_ONLY"
3252
3266#define SDL_HINT_TV_REMOTE_AS_JOYSTICK "SDL_TV_REMOTE_AS_JOYSTICK"
3267
3280#define SDL_HINT_VIDEO_ALLOW_SCREENSAVER "SDL_VIDEO_ALLOW_SCREENSAVER"
3281
3305#define SDL_HINT_VIDEO_DISPLAY_PRIORITY "SDL_VIDEO_DISPLAY_PRIORITY"
3306
3328#define SDL_HINT_VIDEO_DOUBLE_BUFFER "SDL_VIDEO_DOUBLE_BUFFER"
3329
3346#define SDL_HINT_VIDEO_DRIVER "SDL_VIDEO_DRIVER"
3347
3359#define SDL_HINT_VIDEO_DUMMY_SAVE_FRAMES "SDL_VIDEO_DUMMY_SAVE_FRAMES"
3360
3373#define SDL_HINT_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK \
3374 "SDL_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK"
3375
3390#define SDL_HINT_VIDEO_FORCE_EGL "SDL_VIDEO_FORCE_EGL"
3391
3408#define SDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES "SDL_VIDEO_MAC_FULLSCREEN_SPACES"
3409
3429#define SDL_HINT_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY \
3430 "SDL_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY"
3431
3446#define SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS"
3447
3463#define SDL_HINT_VIDEO_OFFSCREEN_SAVE_FRAMES "SDL_VIDEO_OFFSCREEN_SAVE_FRAMES"
3464
3489#define SDL_HINT_VIDEO_SYNC_WINDOW_OPERATIONS "SDL_VIDEO_SYNC_WINDOW_OPERATIONS"
3490
3507#define SDL_HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR "SDL_VIDEO_WAYLAND_ALLOW_LIBDECOR"
3508
3527#define SDL_HINT_VIDEO_WAYLAND_MODE_EMULATION "SDL_VIDEO_WAYLAND_MODE_EMULATION"
3528
3549#define SDL_HINT_VIDEO_WAYLAND_MODE_SCALING "SDL_VIDEO_WAYLAND_MODE_SCALING"
3550
3569#define SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR \
3570 "SDL_VIDEO_WAYLAND_PREFER_LIBDECOR"
3571
3609#define SDL_HINT_VIDEO_WAYLAND_SCALE_TO_DISPLAY \
3610 "SDL_VIDEO_WAYLAND_SCALE_TO_DISPLAY"
3611
3632#define SDL_HINT_VIDEO_WIN_D3DCOMPILER "SDL_VIDEO_WIN_D3DCOMPILER"
3633
3634#if SDL_VERSION_ATLEAST(3, 2, 10)
3635
3650#define SDL_HINT_VIDEO_X11_EXTERNAL_WINDOW_INPUT \
3651 "SDL_VIDEO_X11_EXTERNAL_WINDOW_INPUT"
3652
3653#endif // SDL_VERSION_ATLEAST(3, 2, 10)
3654
3668#define SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR \
3669 "SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR"
3670
3688#define SDL_HINT_VIDEO_X11_NET_WM_PING "SDL_VIDEO_X11_NET_WM_PING"
3689
3702#define SDL_HINT_VIDEO_X11_NODIRECTCOLOR "SDL_VIDEO_X11_NODIRECTCOLOR"
3703
3713#define SDL_HINT_VIDEO_X11_SCALING_FACTOR "SDL_VIDEO_X11_SCALING_FACTOR"
3714
3722#define SDL_HINT_VIDEO_X11_VISUALID "SDL_VIDEO_X11_VISUALID"
3723
3731#define SDL_HINT_VIDEO_X11_WINDOW_VISUALID "SDL_VIDEO_X11_WINDOW_VISUALID"
3732
3745#define SDL_HINT_VIDEO_X11_XRANDR "SDL_VIDEO_X11_XRANDR"
3746
3760#define SDL_HINT_VITA_ENABLE_BACK_TOUCH "SDL_VITA_ENABLE_BACK_TOUCH"
3761
3775#define SDL_HINT_VITA_ENABLE_FRONT_TOUCH "SDL_VITA_ENABLE_FRONT_TOUCH"
3776
3786#define SDL_HINT_VITA_MODULE_PATH "SDL_VITA_MODULE_PATH"
3787
3799#define SDL_HINT_VITA_PVR_INIT "SDL_VITA_PVR_INIT"
3800
3814#define SDL_HINT_VITA_RESOLUTION "SDL_VITA_RESOLUTION"
3815
3829#define SDL_HINT_VITA_PVR_OPENGL "SDL_VITA_PVR_OPENGL"
3830
3845#define SDL_HINT_VITA_TOUCH_MOUSE_DEVICE "SDL_VITA_TOUCH_MOUSE_DEVICE"
3846
3856#define SDL_HINT_VULKAN_DISPLAY "SDL_VULKAN_DISPLAY"
3857
3866#define SDL_HINT_VULKAN_LIBRARY "SDL_VULKAN_LIBRARY"
3867
3898#define SDL_HINT_WAVE_FACT_CHUNK "SDL_WAVE_FACT_CHUNK"
3899
3910#define SDL_HINT_WAVE_CHUNK_LIMIT "SDL_WAVE_CHUNK_LIMIT"
3911
3938#define SDL_HINT_WAVE_RIFF_CHUNK_SIZE "SDL_WAVE_RIFF_CHUNK_SIZE"
3939
3958#define SDL_HINT_WAVE_TRUNCATION "SDL_WAVE_TRUNCATION"
3959
3975#define SDL_HINT_WINDOW_ACTIVATE_WHEN_RAISED "SDL_WINDOW_ACTIVATE_WHEN_RAISED"
3976
3992#define SDL_HINT_WINDOW_ACTIVATE_WHEN_SHOWN "SDL_WINDOW_ACTIVATE_WHEN_SHOWN"
3993
4010#define SDL_HINT_WINDOW_ALLOW_TOPMOST "SDL_WINDOW_ALLOW_TOPMOST"
4011
4026#define SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN \
4027 "SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN"
4028
4043#define SDL_HINT_WINDOWS_CLOSE_ON_ALT_F4 "SDL_WINDOWS_CLOSE_ON_ALT_F4"
4044
4072#define SDL_HINT_WINDOWS_ENABLE_MENU_MNEMONICS \
4073 "SDL_WINDOWS_ENABLE_MENU_MNEMONICS"
4074
4088#define SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP "SDL_WINDOWS_ENABLE_MESSAGELOOP"
4089
4104#define SDL_HINT_WINDOWS_GAMEINPUT "SDL_WINDOWS_GAMEINPUT"
4105
4118#define SDL_HINT_WINDOWS_RAW_KEYBOARD "SDL_WINDOWS_RAW_KEYBOARD"
4119
4139#define SDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL \
4140 "SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL"
4141
4150#define SDL_HINT_WINDOWS_INTRESOURCE_ICON "SDL_WINDOWS_INTRESOURCE_ICON"
4151
4160#define SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL \
4161 "SDL_WINDOWS_INTRESOURCE_ICON_SMALL"
4162
4189#define SDL_HINT_WINDOWS_USE_D3D9EX "SDL_WINDOWS_USE_D3D9EX"
4190
4206#define SDL_HINT_WINDOWS_ERASE_BACKGROUND_MODE \
4207 "SDL_WINDOWS_ERASE_BACKGROUND_MODE"
4208
4228#define SDL_HINT_X11_FORCE_OVERRIDE_REDIRECT "SDL_X11_FORCE_OVERRIDE_REDIRECT"
4229
4245#define SDL_HINT_X11_WINDOW_TYPE "SDL_X11_WINDOW_TYPE"
4246
4256#define SDL_HINT_X11_XCB_LIBRARY "SDL_X11_XCB_LIBRARY"
4257
4271#define SDL_HINT_XINPUT_ENABLED "SDL_XINPUT_ENABLED"
4272
4295#define SDL_HINT_ASSERT "SDL_ASSERT"
4296
4310#define SDL_HINT_PEN_MOUSE_EVENTS "SDL_PEN_MOUSE_EVENTS"
4311
4325#define SDL_HINT_PEN_TOUCH_EVENTS "SDL_PEN_TOUCH_EVENTS"
4326
4327#endif // SDL3PP_DOC
4328
4334using HintPriority = SDL_HintPriority;
4335
4336constexpr HintPriority HINT_DEFAULT = SDL_HINT_DEFAULT;
4337
4338constexpr HintPriority HINT_NORMAL = SDL_HINT_NORMAL;
4339
4340constexpr HintPriority HINT_OVERRIDE = SDL_HINT_OVERRIDE;
4341
4363 StringParam value,
4364 HintPriority priority)
4365{
4366 CheckError(SDL_SetHintWithPriority(name, value, priority));
4367}
4368
4388inline void SetHint(StringParam name, StringParam value)
4389{
4390 CheckError(SDL_SetHint(name, value));
4391}
4392
4410inline void ResetHint(StringParam name) { CheckError(SDL_ResetHint(name)); }
4411
4425inline void ResetHints() { SDL_ResetHints(); }
4426
4445inline const char* GetHint(StringParam name) { return SDL_GetHint(name); }
4446
4462inline bool GetHintBoolean(StringParam name, bool default_value)
4463{
4464 return SDL_GetHintBoolean(name, default_value);
4465}
4466
4486using HintCallback = SDL_HintCallback;
4487
4508using HintCB = std::function<void(const char*, const char*, const char*)>;
4509
4514{
4515 using CallbackHandle::CallbackHandle;
4516};
4517
4537 HintCallback callback,
4538 void* userdata)
4539{
4540 CheckError(SDL_AddHintCallback(name, callback, userdata));
4541}
4542
4562{
4563 using Wrapper = CallbackWrapper<HintCB>;
4564 auto cb = Wrapper::Wrap(std::move(callback));
4565 if (!SDL_AddHintCallback(name, &Wrapper::Call, cb)) {
4566 Wrapper::release(cb);
4567 throw Error{};
4568 }
4569 return HintCallbackHandle{cb};
4570}
4571
4587 HintCallback callback,
4588 void* userdata)
4589{
4590 SDL_RemoveHintCallback(name, callback, userdata);
4591}
4592
4606{
4608}
4609
4611
4612} // namespace SDL
4613
4614#endif /* SDL3PP_HINTS_H_ */
A typesafe handle for callback.
Definition SDL3pp_callbackWrapper.h:21
An exception that returns GetError()
Definition SDL3pp_error.h:167
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:206
void SetHint(StringParam name, StringParam value)
Set a hint with normal priority.
Definition SDL3pp_hints.h:4388
void AddHintCallback(StringParam name, HintCallback callback, void *userdata)
Add a function to watch a particular hint.
Definition SDL3pp_hints.h:4536
constexpr HintPriority HINT_NORMAL
NORMAL.
Definition SDL3pp_hints.h:4338
constexpr HintPriority HINT_OVERRIDE
OVERRIDE.
Definition SDL3pp_hints.h:4340
bool GetHintBoolean(StringParam name, bool default_value)
Get the boolean value of a hint variable.
Definition SDL3pp_hints.h:4462
void SetHintWithPriority(StringParam name, StringParam value, HintPriority priority)
Set a hint with a specific priority.
Definition SDL3pp_hints.h:4362
std::function< void(const char *, const char *, const char *)> HintCB
A callback used to send notifications of hint value changes.
Definition SDL3pp_hints.h:4508
void RemoveHintCallback(StringParam name, HintCallback callback, void *userdata)
Remove a function watching a particular hint.
Definition SDL3pp_hints.h:4586
const char * GetHint(StringParam name)
Get the value of a hint.
Definition SDL3pp_hints.h:4445
void ResetHint(StringParam name)
Reset a hint to the default value.
Definition SDL3pp_hints.h:4410
void ResetHints()
Reset all hints to the default values.
Definition SDL3pp_hints.h:4425
SDL_HintPriority HintPriority
An enumeration of hint priorities.
Definition SDL3pp_hints.h:4334
constexpr HintPriority HINT_DEFAULT
DEFAULT.
Definition SDL3pp_hints.h:4336
SDL_HintCallback HintCallback
A callback used to send notifications of hint value changes.
Definition SDL3pp_hints.h:4486
the main namespace where all SDL3pp public functions and types live
Definition SDL3pp_assert.h:7
Definition SDL3pp_callbackWrapper.h:66
Handle returned by AddHintCallback()
Definition SDL3pp_hints.h:4514