1 /+ 2 + Copyright 2022 – 2024 Aya Partridge 3 + Copyright 2018 - 2022 Michael D. Parker 4 + Distributed under the Boost Software License, Version 1.0. 5 + (See accompanying file LICENSE_1_0.txt or copy at 6 + http://www.boost.org/LICENSE_1_0.txt) 7 +/ 8 module sdl.hints; 9 10 import bindbc.sdl.config; 11 import bindbc.sdl.codegen; 12 13 import sdl.stdinc: SDL_bool; 14 15 enum{ 16 SDL_HINT_FRAMEBUFFER_ACCELERATION = "SDL_FRAMEBUFFER_ACCELERATION", 17 SDL_HINT_RENDER_DRIVER = "SDL_RENDER_DRIVER", 18 SDL_HINT_RENDER_OPENGL_SHADERS = "SDL_RENDER_OPENGL_SHADERS", 19 SDL_HINT_RENDER_SCALE_QUALITY = "SDL_RENDER_SCALE_QUALITY", 20 SDL_HINT_RENDER_VSYNC = "SDL_RENDER_VSYNC", 21 SDL_HINT_VIDEO_X11_XVIDMODE = "SDL_VIDEO_X11_XVIDMODE", 22 SDL_HINT_VIDEO_X11_XINERAMA = "SDL_VIDEO_X11_XINERAMA", 23 SDL_HINT_VIDEO_X11_XRANDR = "SDL_VIDEO_X11_XRANDR", 24 SDL_HINT_GRAB_KEYBOARD = "SDL_GRAB_KEYBOARD", 25 SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS = "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS", 26 SDL_HINT_IDLE_TIMER_DISABLED = "SDL_IOS_IDLE_TIMER_DISABLED", 27 SDL_HINT_ORIENTATIONS = "SDL_IOS_ORIENTATIONS", 28 SDL_HINT_XINPUT_ENABLED = "SDL_XINPUT_ENABLED", 29 SDL_HINT_GAMECONTROLLERCONFIG = "SDL_GAMECONTROLLERCONFIG", 30 SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS = "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS", 31 SDL_HINT_ALLOW_TOPMOST = "SDL_ALLOW_TOPMOST", 32 SDL_HINT_TIMER_RESOLUTION = "SDL_TIMER_RESOLUTION", 33 } 34 static if(sdlSupport >= SDLSupport.v2_0_1) 35 enum{ 36 SDL_HINT_RENDER_DIRECT3D_THREADSAFE = "SDL_RENDER_DIRECT3D_THREADSAFE", 37 SDL_HINT_VIDEO_HIGHDPI_DISABLED = "SDL_VIDEO_HIGHDPI_DISABLED", 38 } 39 static if(sdlSupport >= SDLSupport.v2_0_2) 40 enum{ 41 SDL_HINT_VIDEO_ALLOW_SCREENSAVER = "SDL_VIDEO_ALLOW_SCREENSAVER", 42 SDL_HINT_MOUSE_RELATIVE_MODE_WARP = "SDL_MOUSE_RELATIVE_MODE_WARP", 43 SDL_HINT_ACCELEROMETER_AS_JOYSTICK = "SDL_ACCELEROMETER_AS_JOYSTICK", 44 SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK = "SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK", 45 SDL_HINT_VIDEO_WIN_D3DCOMPILER = "SDL_VIDEO_WIN_D3DCOMPILER", 46 SDL_HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT = "SDL_VIDEO_WINDOW_SHARE_PIXEL_FORMAT", 47 SDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES = "SDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES", 48 } 49 // This is *intended* to be == and not >=. The values for all of these changed in 2.0.4. 50 static if(sdlSupport == SDLSupport.v2_0_3) 51 enum{ 52 SDL_HINT_RENDER_DIRECT3D11_DEBUG = "SDL_HINT_RENDER_DIRECT3D11_DEBUG", 53 SDL_HINT_WINRT_PRIVACY_POLICY_URL = "SDL_HINT_WINRT_PRIVACY_POLICY_URL", 54 SDL_HINT_WINRT_PRIVACY_POLICY_LABEL = "SDL_HINT_WINRT_PRIVACY_POLICY_LABEL", 55 SDL_HINT_WINRT_HANDLE_BACK_BUTTON = "SDL_HINT_WINRT_HANDLE_BACK_BUTTON", 56 } 57 static if(sdlSupport >= SDLSupport.v2_0_4) 58 enum{ 59 SDL_HINT_VIDEO_X11_NET_WM_PING = "SDL_VIDEO_X11_NET_WM_PING", 60 SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN = "SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN", 61 SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP = "SDL_WINDOWS_ENABLE_MESSAGELOOP", 62 SDL_HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING = "SDL_XINPUT_USE_OLD_JOYSTICK_MAPPING", 63 SDL_HINT_THREAD_STACK_SIZE = "SDL_THREAD_STACK_SIZE", 64 SDL_HINT_MAC_BACKGROUND_APP = "SDL_MAC_BACKGROUND_APP", 65 SDL_HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION = "SDL_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION", 66 SDL_HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION = "SDL_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION", 67 SDL_HINT_IME_INTERNAL_EDITING = "SDL_IME_INTERNAL_EDITING", 68 SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT = "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT", 69 SDL_HINT_NO_SIGNAL_HANDLERS = "SDL_NO_SIGNAL_HANDLERS", 70 SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4 = "SDL_WINDOWS_NO_CLOSE_ON_ALT_F4", 71 72 // Changed values from those introduced in 2.0.3 73 SDL_HINT_RENDER_DIRECT3D11_DEBUG = "SDL_RENDER_DIRECT3D11_DEBUG", 74 SDL_HINT_WINRT_PRIVACY_POLICY_URL = "SDL_WINRT_PRIVACY_POLICY_URL", 75 SDL_HINT_WINRT_PRIVACY_POLICY_LABEL = "SDL_WINRT_PRIVACY_POLICY_LABEL", 76 SDL_HINT_WINRT_HANDLE_BACK_BUTTON = "SDL_WINRT_HANDLE_BACK_BUTTON", 77 } 78 static if(sdlSupport >= SDLSupport.v2_0_4 && sdlSupport < SDLSupport.v2_0_10) 79 enum{ 80 SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH = "SDL_ANDROID_SEPARATE_MOUSE_AND_TOUCH", 81 } 82 static if(sdlSupport >= SDLSupport.v2_0_5) 83 enum{ 84 SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH = "SDL_MOUSE_FOCUS_CLICKTHROUGH", 85 SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS = "SDL_APPLE_TV_CONTROLLER_UI_EVENTS", 86 SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION = "SDL_APPLE_TV_REMOTE_ALLOW_ROTATION", 87 SDL_HINT_BMP_SAVE_LEGACY_FORMAT = "SDL_BMP_SAVE_LEGACY_FORMAT", 88 SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING = "SDL_WINDOWS_DISABLE_THREAD_NAMING", 89 SDL_HINT_RPI_VIDEO_LAYER = "SDL_RPI_VIDEO_LAYER", 90 } 91 static if(sdlSupport >= SDLSupport.v2_0_6) 92 enum{ 93 SDL_HINT_RENDER_LOGICAL_SIZE_MODE = "SDL_RENDER_LOGICAL_SIZE_MODE", 94 SDL_HINT_WINDOWS_INTRESOURCE_ICON = "SDL_WINDOWS_INTRESOURCE_ICON", 95 SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL = "SDL_WINDOWS_INTRESOURCE_ICON_SMALL", 96 SDL_HINT_MOUSE_NORMAL_SPEED_SCALE = "SDL_MOUSE_NORMAL_SPEED_SCALE", 97 SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE = "SDL_MOUSE_RELATIVE_SPEED_SCALE", 98 SDL_HINT_TOUCH_MOUSE_EVENTS = "SDL_TOUCH_MOUSE_EVENTS", 99 SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES = "SDL_GAMECONTROLLER_IGNORE_DEVICES", 100 SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT = "SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT", 101 SDL_HINT_QTWAYLAND_CONTENT_ORIENTATION = "SDL_QTWAYLAND_CONTENT_ORIENTATION", 102 SDL_HINT_QTWAYLAND_WINDOW_FLAGS = "SDL_QTWAYLAND_WINDOW_FLAGS", 103 SDL_HINT_OPENGL_ES_DRIVER = "SDL_OPENGL_ES_DRIVER", 104 SDL_HINT_AUDIO_RESAMPLING_MODE = "SDL_AUDIO_RESAMPLING_MODE", 105 SDL_HINT_AUDIO_CATEGORY = "SDL_AUDIO_CATEGORY", 106 } 107 static if(sdlSupport >= SDLSupport.v2_0_8) 108 enum{ 109 SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR = "SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR", 110 SDL_HINT_IOS_HIDE_HOME_INDICATOR = "SDL_IOS_HIDE_HOME_INDICATOR", 111 SDL_HINT_TV_REMOTE_AS_JOYSTICK = "SDL_TV_REMOTE_AS_JOYSTICK", 112 SDL_HINT_RETURN_KEY_HIDES_IME = "SDL_RETURN_KEY_HIDES_IME", 113 SDL_HINT_VIDEO_DOUBLE_BUFFER = "SDL_VIDEO_DOUBLE_BUFFER", 114 } 115 static if(sdlSupport >= SDLSupport.v2_0_9) 116 enum{ 117 SDL_HINT_MOUSE_DOUBLE_CLICK_TIME = "SDL_MOUSE_DOUBLE_CLICK_TIME", 118 SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS = "SDL_MOUSE_DOUBLE_CLICK_RADIUS", 119 SDL_HINT_JOYSTICK_HIDAPI = "SDL_JOYSTICK_HIDAPI", 120 SDL_HINT_JOYSTICK_HIDAPI_PS4 = "SDL_JOYSTICK_HIDAPI_PS4", 121 SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE = "SDL_JOYSTICK_HIDAPI_PS4_RUMBLE", 122 SDL_HINT_JOYSTICK_HIDAPI_STEAM = "SDL_JOYSTICK_HIDAPI_STEAM", 123 SDL_HINT_JOYSTICK_HIDAPI_SWITCH = "SDL_JOYSTICK_HIDAPI_SWITCH", 124 SDL_HINT_JOYSTICK_HIDAPI_XBOX = "SDL_JOYSTICK_HIDAPI_XBOX", 125 SDL_HINT_ENABLE_STEAM_CONTROLLERS = "SDL_ENABLE_STEAM_CONTROLLERS", 126 SDL_HINT_ANDROID_TRAP_BACK_BUTTON = "SDL_ANDROID_TRAP_BACK_BUTTON", 127 } 128 static if(sdlSupport >= SDLSupport.v2_0_10) 129 enum{ 130 SDL_HINT_MOUSE_TOUCH_EVENTS = "SDL_MOUSE_TOUCH_EVENTS", 131 SDL_HINT_GAMECONTROLLERCONFIG_FILE = "SDL_GAMECONTROLLERCONFIG_FILE", 132 SDL_HINT_ANDROID_BLOCK_ON_PAUSE = "SDL_ANDROID_BLOCK_ON_PAUSE", 133 SDL_HINT_RENDER_BATCHING = "SDL_RENDER_BATCHING", 134 SDL_HINT_EVENT_LOGGING = "SDL_EVENT_LOGGING", 135 SDL_HINT_WAVE_RIFF_CHUNK_SIZE = "SDL_WAVE_RIFF_CHUNK_SIZE", 136 SDL_HINT_WAVE_TRUNCATION = "SDL_WAVE_TRUNCATION", 137 SDL_HINT_WAVE_FACT_CHUNK = "SDL_WAVE_FACT_CHUNK", 138 } 139 static if(sdlSupport >= SDLSupport.v2_0_12) 140 enum{ 141 SDL_HINT_VIDEO_EXTERNAL_CONTEXT = "SDL_VIDEO_EXTERNAL_CONTEXT", 142 SDL_HINT_VIDEO_X11_WINDOW_VISUALID = "SDL_VIDEO_X11_WINDOW_VISUALID", 143 SDL_HINT_VIDEO_X11_FORCE_EGL = "SDL_VIDEO_X11_FORCE_EGL", 144 SDL_HINT_GAMECONTROLLERTYPE = "SDL_GAMECONTROLLERTYPE", 145 SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS = "SDL_GAMECONTROLLER_USE_BUTTON_LABELS", 146 SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE = "SDL_JOYSTICK_HIDAPI_GAMECUBE", 147 SDL_HINT_DISPLAY_USABLE_BOUNDS = "SDL_DISPLAY_USABLE_BOUNDS", 148 } 149 static if(sdlSupport >= SDLSupport.v2_0_14) 150 enum{ 151 SDL_HINT_MOUSE_RELATIVE_SCALING = "SDL_MOUSE_RELATIVE_SCALING", 152 SDL_HINT_JOYSTICK_HIDAPI_PS5 = "SDL_JOYSTICK_HIDAPI_PS5", 153 SDL_HINT_JOYSTICK_HIDAPI_CORRELATE_XINPUT = "SDL_JOYSTICK_HIDAPI_CORRELATE_XINPUT", 154 SDL_HINT_JOYSTICK_RAWINPUT = "SDL_JOYSTICK_RAWINPUT", 155 SDL_HINT_JOYSTICK_THREAD = "SDL_JOYSTICK_THREAD", 156 SDL_HINT_LINUX_JOYSTICK_DEADZONES = "SDL_LINUX_JOYSTICK_DEADZONES", 157 SDL_HINT_THREAD_PRIORITY_POLICY = "SDL_THREAD_PRIORITY_POLICY", 158 SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL = "SDL_THREAD_FORCE_REALTIME_TIME_CRITICAL", 159 SDL_HINT_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO = "SDL_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO", 160 SDL_HINT_EMSCRIPTEN_ASYNCIFY = "SDL_EMSCRIPTEN_ASYNCIFY", 161 SDL_HINT_AUTO_UPDATE_JOYSTICKS = "SDL_AUTO_UPDATE_JOYSTICKS", 162 SDL_HINT_AUTO_UPDATE_SENSORS = "SDL_AUTO_UPDATE_SENSORS", 163 SDL_HINT_AUDIO_DEVICE_APP_NAME = "SDL_AUDIO_DEVICE_APP_NAME", 164 SDL_HINT_AUDIO_DEVICE_STREAM_NAME = "SDL_AUDIO_DEVICE_STREAM_NAME", 165 SDL_HINT_PREFERRED_LOCALES = "SDL_PREFERRED_LOCALES", 166 } 167 static if(sdlSupport >= SDLSupport.v2_0_16) 168 enum{ 169 SDL_HINT_AUDIO_INCLUDE_MONITORS = "SDL_AUDIO_INCLUDE_MONITORS", 170 SDL_HINT_AUDIO_DEVICE_STREAM_ROLE = "SDL_AUDIO_DEVICE_STREAM_ROLE", 171 } 172 static if(sdlSupport >= SDLSupport.v2_0_18) 173 enum{ 174 SDL_HINT_APP_NAME = "SDL_APP_NAME", 175 SDL_HINT_IME_SHOW_UI = "SDL_IME_SHOW_UI", 176 SDL_HINT_JOYSTICK_DEVICE = "SDL_JOYSTICK_DEVICE", 177 SDL_HINT_LINUX_JOYSTICK_CLASSIC = "SDL_LINUX_JOYSTICK_CLASSIC", 178 SDL_HINT_POLL_SENTINEL = "SDL_HINT_POLL_SENTINEL", 179 SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME = "SDL_SCREENSAVER_INHIBIT_ACTIVITY_NAME", 180 SDL_HINT_VIDEO_EGL_ALLOW_TRANSPARENCY = "SDL_VIDEO_EGL_ALLOW_TRANSPARENCY", 181 SDL_HINT_WINDOW_NO_ACTIVATION_WHEN_SHOWN = "SDL_HINT_WINDOW_NO_ACTIVATION_WHEN_SHOWN", 182 } 183 static if(sdlSupport >= SDLSupport.v2_0_20) 184 enum{ 185 SDL_HINT_RENDER_LINE_METHOD = "SDL_RENDER_LINE_METHOD", 186 } 187 static if(sdlSupport >= SDLSupport.v2_0_22) 188 enum{ 189 SDL_HINT_FORCE_RAISEWINDOW = "SDL_HINT_FORCE_RAISEWINDOW", 190 SDL_HINT_IME_SUPPORT_EXTENDED_TEXT = "SDL_HINT_IME_SUPPORT_EXTENDED_TEXT", 191 SDL_HINT_JOYSTICK_GAMECUBE_RUMBLE_BRAKE = "SDL_HINT_JOYSTICK_GAMECUBE_RUMBLE_BRAKE", 192 SDL_HINT_JOYSTICK_ROG_CHAKRAM = "SDL_HINT_JOYSTICK_ROG_CHAKRAM", 193 SDL_HINT_MOUSE_RELATIVE_MODE_CENTER = "SDL_HINT_MOUSE_RELATIVE_MODE_CENTER", 194 SDL_HINT_MOUSE_AUTO_CAPTURE = "SDL_HINT_MOUSE_AUTO_CAPTURE", 195 SDL_HINT_VITA_TOUCH_MOUSE_DEVICE = "SDL_HINT_VITA_TOUCH_MOUSE_DEVICE", 196 SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR = "SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR", 197 SDL_HINT_VIDEO_FOREIGN_WINDOW_OPENGL = "SDL_HINT_VIDEO_FOREIGN_WINDOW_OPENGL", 198 SDL_HINT_VIDEO_FOREIGN_WINDOW_VULKAN = "SDL_HINT_VIDEO_FOREIGN_WINDOW_VULKAN", 199 SDL_HINT_X11_WINDOW_TYPE = "SDL_HINT_X11_WINDOW_TYPE", 200 SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE = "SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE", 201 SDL_HINT_VIDEODRIVER = "SDL_HINT_VIDEODRIVER", 202 SDL_HINT_AUDIODRIVER = "SDL_HINT_AUDIODRIVER", 203 } 204 static if(sdlSupport >= SDLSupport.v2_24) 205 enum{ 206 SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS = "SDL_JOYSTICK_HIDAPI_COMBINE_JOY_CONS", 207 SDL_HINT_JOYSTICK_HIDAPI_NINTENDO_CLASSIC = "SDL_JOYSTICK_HIDAPI_NINTENDO_CLASSIC", 208 SDL_HINT_JOYSTICK_HIDAPI_SHIELD = "SDL_JOYSTICK_HIDAPI_SHIELD", 209 SDL_HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED = "SDL_JOYSTICK_HIDAPI_JOYCON_HOME_LED", 210 SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED = "SDL_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED", 211 SDL_HINT_LINUX_DIGITAL_HATS = "SDL_LINUX_DIGITAL_HATS", 212 SDL_HINT_LINUX_HAT_DEADZONES = "SDL_LINUX_HAT_DEADZONES", 213 SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH = "SDL_MAC_OPENGL_ASYNC_DISPATCH", 214 SDL_HINT_MOUSE_RELATIVE_WARP_MOTION = "SDL_MOUSE_RELATIVE_WARP_MOTION", 215 SDL_HINT_VIDEO_WAYLAND_MODE_EMULATION = "SDL_VIDEO_WAYLAND_MODE_EMULATION", 216 SDL_HINT_WINDOWS_DPI_AWARENESS = "SDL_WINDOWS_DPI_AWARENESS", 217 SDL_HINT_WINDOWS_DPI_SCALING = "SDL_WINDOWS_DPI_SCALING", 218 SDL_HINT_DIRECTINPUT_ENABLED = "SDL_DIRECTINPUT_ENABLED", 219 SDL_HINT_KMSDRM_DEVICE_INDEX = "SDL_KMSDRM_DEVICE_INDEX", 220 SDL_HINT_TRACKPAD_IS_TOUCH_ONLY = "SDL_TRACKPAD_IS_TOUCH_ONLY", 221 } 222 static if(sdlSupport >= SDLSupport.v2_26) 223 enum{ 224 SDL_HINT_HIDAPI_IGNORE_DEVICES = "SDL_HIDAPI_IGNORE_DEVICES", 225 SDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS = "SDL_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS", 226 SDL_HINT_JOYSTICK_HIDAPI_PS3 = "SDL_JOYSTICK_HIDAPI_PS3", 227 SDL_HINT_JOYSTICK_HIDAPI_WII = "SDL_JOYSTICK_HIDAPI_WII", 228 SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED = "SDL_JOYSTICK_HIDAPI_WII_PLAYER_LED", 229 SDL_HINT_JOYSTICK_HIDAPI_XBOX_360 = "SDL_JOYSTICK_HIDAPI_XBOX_360", 230 SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED = "SDL_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED", 231 SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS = "SDL_JOYSTICK_HIDAPI_XBOX_360_WIRELESS", 232 SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE = "SDL_JOYSTICK_HIDAPI_XBOX_ONE", 233 SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED = "SDL_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED", 234 SDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE = "SDL_MOUSE_RELATIVE_SYSTEM_SCALE", 235 SDL_HINT_PS2_DYNAMIC_VSYNC = "SDL_PS2_DYNAMIC_VSYNC", 236 SDL_HINT_VIDEO_WAYLAND_EMULATE_MOUSE_WARP = "SDL_VIDEO_WAYLAND_EMULATE_MOUSE_WARP", 237 } 238 static if(sdlSupport >= SDLSupport.v2_28) 239 enum{ 240 SDL_HINT_ENABLE_SCREEN_KEYBOARD = "SDL_ENABLE_SCREEN_KEYBOARD", 241 SDL_HINT_WINDOWS_ENABLE_MENU_MNEMONICS = "SDL_WINDOWS_ENABLE_MENU_MNEMONICS", 242 } 243 static if(sdlSupport >= SDLSupport.v2_30) 244 enum{ 245 SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES = "SDL_JOYSTICK_ARCADESTICK_DEVICES", 246 SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED = "SDL_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED", 247 SDL_HINT_JOYSTICK_BLACKLIST_DEVICES = "SDL_JOYSTICK_BLACKLIST_DEVICES", 248 SDL_HINT_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED = "SDL_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED", 249 SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES = "SDL_JOYSTICK_FLIGHTSTICK_DEVICES", 250 SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED = "SDL_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED", 251 SDL_HINT_JOYSTICK_GAMECUBE_DEVICES = "SDL_JOYSTICK_GAMECUBE_DEVICES", 252 SDL_HINT_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED = "SDL_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED", 253 SDL_HINT_JOYSTICK_HIDAPI_STEAMDECK = "SDL_JOYSTICK_HIDAPI_STEAMDECK", 254 SDL_HINT_JOYSTICK_IOKIT = "SDL_JOYSTICK_IOKIT", 255 SDL_HINT_JOYSTICK_MFI = "SDL_JOYSTICK_MFI", 256 SDL_HINT_JOYSTICK_THROTTLE_DEVICES = "SDL_JOYSTICK_THROTTLE_DEVICES", 257 SDL_HINT_JOYSTICK_THROTTLE_DEVICES_EXCLUDED = "SDL_JOYSTICK_THROTTLE_DEVICES_EXCLUDED", 258 SDL_HINT_JOYSTICK_WGI = "SDL_JOYSTICK_WGI", 259 SDL_HINT_JOYSTICK_WHEEL_DEVICES = "SDL_JOYSTICK_WHEEL_DEVICES", 260 SDL_HINT_JOYSTICK_WHEEL_DEVICES_EXCLUDED = "SDL_JOYSTICK_WHEEL_DEVICES_EXCLUDED", 261 SDL_HINT_JOYSTICK_ZERO_CENTERED_DEVICES = "SDL_JOYSTICK_ZERO_CENTERED_DEVICES", 262 SDL_HINT_LOGGING = "SDL_LOGGING", 263 SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE = "SDL_RENDER_METAL_PREFER_LOW_POWER_DEVICE", 264 SDL_HINT_ROG_GAMEPAD_MICE = "SDL_ROG_GAMEPAD_MICE", 265 SDL_HINT_ROG_GAMEPAD_MICE_EXCLUDED = "SDL_ROG_GAMEPAD_MICE_EXCLUDED", 266 SDL_HINT_SHUTDOWN_DBUS_ON_QUIT = "SDL_SHUTDOWN_DBUS_ON_QUIT", 267 } 268 269 alias SDL_HintPriority = uint; 270 enum: SDL_HintPriority{ 271 SDL_HINT_DEFAULT, 272 SDL_HINT_NORMAL, 273 SDL_HINT_OVERRIDE, 274 } 275 276 alias SDL_HintCallback = extern(C) void function(void* userData, const(char)* name, const(char)* oldValue, const(char)* newValue) nothrow; 277 278 mixin(joinFnBinds((){ 279 FnBind[] ret = [ 280 {q{SDL_bool}, q{SDL_SetHintWithPriority}, q{const(char)* name, const(char)* value, SDL_HintPriority priority}}, 281 {q{SDL_bool}, q{SDL_SetHint}, q{const(char)* name, const(char)* value}}, 282 {q{const(char)*}, q{SDL_GetHint}, q{const(char)* name}}, 283 {q{void}, q{SDL_AddHintCallback}, q{const(char)* name, SDL_HintCallback callback, void* userData}}, 284 {q{void}, q{SDL_DelHintCallback}, q{const(char)* name, SDL_HintCallback callback, void* userData}}, 285 {q{void}, q{SDL_ClearHints}, q{}}, 286 ]; 287 if(sdlSupport >= SDLSupport.v2_0_5){ 288 FnBind[] add = [ 289 {q{SDL_bool}, q{SDL_GetHintBoolean}, q{const(char)* name, SDL_bool defaultValue}}, 290 ]; 291 ret ~= add; 292 } 293 if(sdlSupport >= SDLSupport.v2_24){ 294 FnBind[] add = [ 295 {q{SDL_bool}, q{SDL_ResetHint}, q{const(char)* name}}, 296 ]; 297 ret ~= add; 298 } 299 if(sdlSupport >= SDLSupport.v2_26){ 300 FnBind[] add = [ 301 {q{void}, q{SDL_ResetHints}, q{}}, 302 ]; 303 ret ~= add; 304 } 305 return ret; 306 }()));