Rev 1 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1 | Rev 8 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | /* |
1 | /* |
2 | Simple DirectMedia Layer |
2 | Simple DirectMedia Layer |
3 | Copyright (C) 1997- |
3 | Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org> |
4 | 4 | ||
5 | This software is provided 'as-is', without any express or implied |
5 | This software is provided 'as-is', without any express or implied |
6 | warranty. In no event will the authors be held liable for any damages |
6 | warranty. In no event will the authors be held liable for any damages |
7 | arising from the use of this software. |
7 | arising from the use of this software. |
8 | 8 | ||
Line 74... | Line 74... | ||
74 | * This variable is case insensitive and can be set to the following values: |
74 | * This variable is case insensitive and can be set to the following values: |
75 | * "direct3d" |
75 | * "direct3d" |
76 | * "opengl" |
76 | * "opengl" |
77 | * "opengles2" |
77 | * "opengles2" |
78 | * "opengles" |
78 | * "opengles" |
- | 79 | * "metal" |
|
79 | * "software" |
80 | * "software" |
80 | * |
81 | * |
81 | * The default varies by platform, but it's the first one in the list that |
82 | * The default varies by platform, but it's the first one in the list that |
82 | * is available on the current platform. |
83 | * is available on the current platform. |
83 | */ |
84 | */ |
Line 207... | Line 208... | ||
207 | * will not always be able to respond to ping requests in a timely manner they can |
208 | * will not always be able to respond to ping requests in a timely manner they can |
208 | * turn it off to avoid the window manager thinking the app is hung. |
209 | * turn it off to avoid the window manager thinking the app is hung. |
209 | * The hint is checked in CreateWindow. |
210 | * The hint is checked in CreateWindow. |
210 | */ |
211 | */ |
211 | #define SDL_HINT_VIDEO_X11_NET_WM_PING "SDL_VIDEO_X11_NET_WM_PING" |
212 | #define SDL_HINT_VIDEO_X11_NET_WM_PING "SDL_VIDEO_X11_NET_WM_PING" |
- | 213 | ||
- | 214 | /** |
|
- | 215 | * \brief A variable controlling whether the X11 _NET_WM_BYPASS_COMPOSITOR hint should be used. |
|
- | 216 | * |
|
- | 217 | * This variable can be set to the following values: |
|
- | 218 | * "0" - Disable _NET_WM_BYPASS_COMPOSITOR |
|
- | 219 | * "1" - Enable _NET_WM_BYPASS_COMPOSITOR |
|
- | 220 | * |
|
- | 221 | * By default SDL will use _NET_WM_BYPASS_COMPOSITOR |
|
- | 222 | * |
|
- | 223 | */ |
|
- | 224 | #define SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR "SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR" |
|
212 | 225 | ||
213 | /** |
226 | /** |
214 | * \brief A variable controlling whether the window frame and title bar are interactive when the cursor is hidden |
227 | * \brief A variable controlling whether the window frame and title bar are interactive when the cursor is hidden |
215 | * |
228 | * |
216 | * This variable can be set to the following values: |
229 | * This variable can be set to the following values: |
217 | * "0" - The window frame is not interactive when the cursor is hidden (no move, resize, etc) |
230 | * "0" - The window frame is not interactive when the cursor is hidden (no move, resize, etc) |
218 | * "1" - The window frame is interactive when the cursor is hidden |
231 | * "1" - The window frame is interactive when the cursor is hidden |
219 | * |
232 | * |
220 | * By default SDL will allow interaction with the window frame when the cursor is hidden |
233 | * By default SDL will allow interaction with the window frame when the cursor is hidden |
221 | */ |
234 | */ |
222 | #define SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN "SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN" |
235 | #define SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN "SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN" |
223 | 236 | ||
224 | /** |
237 | /** |
225 | * \brief A variable to specify custom icon resource id from RC file on Windows platform |
238 | * \brief A variable to specify custom icon resource id from RC file on Windows platform |
226 | */ |
239 | */ |
227 | #define SDL_HINT_WINDOWS_INTRESOURCE_ICON "SDL_WINDOWS_INTRESOURCE_ICON" |
240 | #define SDL_HINT_WINDOWS_INTRESOURCE_ICON "SDL_WINDOWS_INTRESOURCE_ICON" |
228 | #define SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL "SDL_WINDOWS_INTRESOURCE_ICON_SMALL" |
241 | #define SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL "SDL_WINDOWS_INTRESOURCE_ICON_SMALL" |
229 | 242 | ||
230 | /** |
243 | /** |
231 | * \brief A variable controlling whether the windows message loop is processed by SDL |
244 | * \brief A variable controlling whether the windows message loop is processed by SDL |
232 | * |
245 | * |
233 | * This variable can be set to the following values: |
246 | * This variable can be set to the following values: |
234 | * "0" - The window message loop is not run |
247 | * "0" - The window message loop is not run |
235 | * "1" - The window message loop is processed in SDL_PumpEvents() |
248 | * "1" - The window message loop is processed in SDL_PumpEvents() |
236 | * |
249 | * |
237 | * By default SDL will process the windows message loop |
250 | * By default SDL will process the windows message loop |
238 | */ |
251 | */ |
239 | #define SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP "SDL_WINDOWS_ENABLE_MESSAGELOOP" |
252 | #define SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP "SDL_WINDOWS_ENABLE_MESSAGELOOP" |
240 | 253 | ||
241 | /** |
254 | /** |
242 | * \brief A variable controlling whether grabbing input grabs the keyboard |
255 | * \brief A variable controlling whether grabbing input grabs the keyboard |
243 | * |
256 | * |
244 | * This variable can be set to the following values: |
257 | * This variable can be set to the following values: |
245 | * "0" - Grab will affect only the mouse |
258 | * "0" - Grab will affect only the mouse |
246 | * "1" - Grab will affect mouse and keyboard |
259 | * "1" - Grab will affect mouse and keyboard |
247 | * |
260 | * |
248 | * By default SDL will not grab the keyboard so system shortcuts still work. |
261 | * By default SDL will not grab the keyboard so system shortcuts still work. |
249 | */ |
262 | */ |
250 | #define SDL_HINT_GRAB_KEYBOARD "SDL_GRAB_KEYBOARD" |
263 | #define SDL_HINT_GRAB_KEYBOARD "SDL_GRAB_KEYBOARD" |
- | 264 | ||
- | 265 | /** |
|
- | 266 | * \brief A variable setting the double click time, in milliseconds. |
|
- | 267 | */ |
|
- | 268 | #define SDL_HINT_MOUSE_DOUBLE_CLICK_TIME "SDL_MOUSE_DOUBLE_CLICK_TIME" |
|
- | 269 | ||
- | 270 | /** |
|
- | 271 | * \brief A variable setting the double click radius, in pixels. |
|
- | 272 | */ |
|
- | 273 | #define SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS "SDL_MOUSE_DOUBLE_CLICK_RADIUS" |
|
251 | 274 | ||
252 | /** |
275 | /** |
253 | * \brief A variable setting the speed scale for mouse motion, in floating point, when the mouse is not in relative mode |
276 | * \brief A variable setting the speed scale for mouse motion, in floating point, when the mouse is not in relative mode |
254 | */ |
277 | */ |
255 | #define SDL_HINT_MOUSE_NORMAL_SPEED_SCALE "SDL_MOUSE_NORMAL_SPEED_SCALE" |
278 | #define SDL_HINT_MOUSE_NORMAL_SPEED_SCALE "SDL_MOUSE_NORMAL_SPEED_SCALE" |
256 | 279 | ||
257 | /** |
280 | /** |
258 | * \brief A variable setting the scale for mouse motion, in floating point, when the mouse is in relative mode |
281 | * \brief A variable setting the scale for mouse motion, in floating point, when the mouse is in relative mode |
259 | */ |
282 | */ |
260 | #define SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE "SDL_MOUSE_RELATIVE_SPEED_SCALE" |
283 | #define SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE "SDL_MOUSE_RELATIVE_SPEED_SCALE" |
261 | 284 | ||
262 | /** |
285 | /** |
263 | * \brief A variable controlling whether relative mouse mode is implemented using mouse warping |
286 | * \brief A variable controlling whether relative mouse mode is implemented using mouse warping |
264 | * |
287 | * |
265 | * This variable can be set to the following values: |
288 | * This variable can be set to the following values: |
266 | * "0" - Relative mouse mode uses raw input |
289 | * "0" - Relative mouse mode uses raw input |
267 | * "1" - Relative mouse mode uses mouse warping |
290 | * "1" - Relative mouse mode uses mouse warping |
268 | * |
291 | * |
269 | * By default SDL will use raw input for relative mouse mode |
292 | * By default SDL will use raw input for relative mouse mode |
270 | */ |
293 | */ |
271 | #define SDL_HINT_MOUSE_RELATIVE_MODE_WARP "SDL_MOUSE_RELATIVE_MODE_WARP" |
294 | #define SDL_HINT_MOUSE_RELATIVE_MODE_WARP "SDL_MOUSE_RELATIVE_MODE_WARP" |
272 | 295 | ||
273 | /** |
296 | /** |
Line 281... | Line 304... | ||
281 | */ |
304 | */ |
282 | #define SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH "SDL_MOUSE_FOCUS_CLICKTHROUGH" |
305 | #define SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH "SDL_MOUSE_FOCUS_CLICKTHROUGH" |
283 | 306 | ||
284 | /** |
307 | /** |
285 | * \brief A variable controlling whether touch events should generate synthetic mouse events |
308 | * \brief A variable controlling whether touch events should generate synthetic mouse events |
286 | * |
309 | * |
287 | * This variable can be set to the following values: |
310 | * This variable can be set to the following values: |
288 | * "0" - Touch events will not generate mouse events |
311 | * "0" - Touch events will not generate mouse events |
289 | * "1" - Touch events will generate mouse events |
312 | * "1" - Touch events will generate mouse events |
290 | * |
313 | * |
291 | * By default SDL will generate mouse events for touch events |
314 | * By default SDL will generate mouse events for touch events |
292 | */ |
315 | */ |
293 | #define SDL_HINT_TOUCH_MOUSE_EVENTS "SDL_TOUCH_MOUSE_EVENTS" |
316 | #define SDL_HINT_TOUCH_MOUSE_EVENTS "SDL_TOUCH_MOUSE_EVENTS" |
294 | 317 | ||
295 | /** |
318 | /** |
296 | * \brief Minimize your SDL_Window if it loses key focus when in fullscreen mode. Defaults to true. |
319 | * \brief Minimize your SDL_Window if it loses key focus when in fullscreen mode. Defaults to true. |
297 | * |
320 | * |
298 | */ |
321 | */ |
299 | #define SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS" |
322 | #define SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS" |
300 | 323 | ||
Line 314... | Line 337... | ||
314 | * "1" - Disable idle timer |
337 | * "1" - Disable idle timer |
315 | */ |
338 | */ |
316 | #define SDL_HINT_IDLE_TIMER_DISABLED "SDL_IOS_IDLE_TIMER_DISABLED" |
339 | #define SDL_HINT_IDLE_TIMER_DISABLED "SDL_IOS_IDLE_TIMER_DISABLED" |
317 | 340 | ||
318 | /** |
341 | /** |
319 | * \brief A variable controlling which orientations are allowed on iOS. |
342 | * \brief A variable controlling which orientations are allowed on iOS/Android. |
320 | * |
343 | * |
321 | * In some circumstances it is necessary to be able to explicitly control |
344 | * In some circumstances it is necessary to be able to explicitly control |
322 | * which UI orientations are allowed. |
345 | * which UI orientations are allowed. |
323 | * |
346 | * |
324 | * This variable is a space delimited list of the following values: |
347 | * This variable is a space delimited list of the following values: |
325 | * "LandscapeLeft", "LandscapeRight", "Portrait" "PortraitUpsideDown" |
348 | * "LandscapeLeft", "LandscapeRight", "Portrait" "PortraitUpsideDown" |
326 | */ |
349 | */ |
327 | #define SDL_HINT_ORIENTATIONS "SDL_IOS_ORIENTATIONS" |
350 | #define SDL_HINT_ORIENTATIONS "SDL_IOS_ORIENTATIONS" |
328 | 351 | ||
329 | /** |
352 | /** |
330 | * \brief A variable controlling whether controllers used with the Apple TV |
353 | * \brief A variable controlling whether controllers used with the Apple TV |
331 | * generate UI events. |
354 | * generate UI events. |
332 | * |
355 | * |
333 | * When UI events are generated by controller input, the app will be |
356 | * When UI events are generated by controller input, the app will be |
334 | * backgrounded when the Apple TV remote's menu button is pressed, and when the |
357 | * backgrounded when the Apple TV remote's menu button is pressed, and when the |
335 | * pause or B buttons on gamepads are pressed. |
358 | * pause or B buttons on gamepads are pressed. |
336 | * |
359 | * |
337 | * More information about properly making use of controllers for the Apple TV |
360 | * More information about properly making use of controllers for the Apple TV |
338 | * can be found here: |
361 | * can be found here: |
339 | * https://developer.apple.com/tvos/human-interface-guidelines/remote-and-controllers/ |
362 | * https://developer.apple.com/tvos/human-interface-guidelines/remote-and-controllers/ |
340 | * |
363 | * |
341 | * This variable can be set to the following values: |
364 | * This variable can be set to the following values: |
342 | * "0" - Controller input does not generate UI events (the default). |
365 | * "0" - Controller input does not generate UI events (the default). |
343 | * "1" - Controller input generates UI events. |
366 | * "1" - Controller input generates UI events. |
344 | */ |
367 | */ |
345 | #define SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS "SDL_APPLE_TV_CONTROLLER_UI_EVENTS" |
368 | #define SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS "SDL_APPLE_TV_CONTROLLER_UI_EVENTS" |
346 | 369 | ||
347 | /** |
370 | /** |
348 | * \brief A variable controlling whether the Apple TV remote's joystick axes |
371 | * \brief A variable controlling whether the Apple TV remote's joystick axes |
349 | * will automatically match the rotation of the remote. |
372 | * will automatically match the rotation of the remote. |
350 | * |
373 | * |
351 | * This variable can be set to the following values: |
374 | * This variable can be set to the following values: |
352 | * "0" - Remote orientation does not affect joystick axes (the default). |
375 | * "0" - Remote orientation does not affect joystick axes (the default). |
353 | * "1" - Joystick axes are based on the orientation of the remote. |
376 | * "1" - Joystick axes are based on the orientation of the remote. |
354 | */ |
377 | */ |
355 | #define SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION "SDL_APPLE_TV_REMOTE_ALLOW_ROTATION" |
378 | #define SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION "SDL_APPLE_TV_REMOTE_ALLOW_ROTATION" |
- | 379 | ||
- | 380 | /** |
|
- | 381 | * \brief A variable controlling whether the home indicator bar on iPhone X |
|
- | 382 | * should be hidden. |
|
- | 383 | * |
|
- | 384 | * This variable can be set to the following values: |
|
- | 385 | * "0" - The indicator bar is not hidden (default for windowed applications) |
|
- | 386 | * "1" - The indicator bar is hidden and is shown when the screen is touched (useful for movie playback applications) |
|
- | 387 | * "2" - The indicator bar is dim and the first swipe makes it visible and the second swipe performs the "home" action (default for fullscreen applications) |
|
- | 388 | */ |
|
- | 389 | #define SDL_HINT_IOS_HIDE_HOME_INDICATOR "SDL_IOS_HIDE_HOME_INDICATOR" |
|
356 | 390 | ||
357 | /** |
391 | /** |
358 | * \brief A variable controlling whether the Android / iOS built-in |
392 | * \brief A variable controlling whether the Android / iOS built-in |
359 | * accelerometer should be listed as a joystick |
393 | * accelerometer should be listed as a joystick device. |
- | 394 | * |
|
360 | * |
395 | * This variable can be set to the following values: |
- | 396 | * "0" - The accelerometer is not listed as a joystick |
|
- | 397 | * "1" - The accelerometer is available as a 3 axis joystick (the default). |
|
- | 398 | */ |
|
- | 399 | #define SDL_HINT_ACCELEROMETER_AS_JOYSTICK "SDL_ACCELEROMETER_AS_JOYSTICK" |
|
- | 400 | ||
- | 401 | /** |
|
- | 402 | * \brief A variable controlling whether the Android / tvOS remotes |
|
- | 403 | * should be listed as joystick devices, instead of sending keyboard events. |
|
361 | * |
404 | * |
362 | * This variable can be set to the following values: |
405 | * This variable can be set to the following values: |
363 | * "0" - |
406 | * "0" - Remotes send enter/escape/arrow key events |
364 | * "1" - |
407 | * "1" - Remotes are available as 2 axis, 2 button joysticks (the default). |
365 | */ |
408 | */ |
366 | #define |
409 | #define SDL_HINT_TV_REMOTE_AS_JOYSTICK "SDL_TV_REMOTE_AS_JOYSTICK" |
367 | 410 | ||
368 | /** |
411 | /** |
369 | * \brief A variable that lets you disable the detection and use of Xinput gamepad devices |
412 | * \brief A variable that lets you disable the detection and use of Xinput gamepad devices |
370 | * |
413 | * |
371 | * The variable can be set to the following values: |
414 | * The variable can be set to the following values: |
Line 376... | Line 419... | ||
376 | 419 | ||
377 | /** |
420 | /** |
378 | * \brief A variable that causes SDL to use the old axis and button mapping for XInput devices. |
421 | * \brief A variable that causes SDL to use the old axis and button mapping for XInput devices. |
379 | * |
422 | * |
380 | * This hint is for backwards compatibility only and will be removed in SDL 2.1 |
423 | * This hint is for backwards compatibility only and will be removed in SDL 2.1 |
381 | * |
424 | * |
382 | * The default value is "0". This hint must be set before SDL_Init() |
425 | * The default value is "0". This hint must be set before SDL_Init() |
383 | */ |
426 | */ |
384 | #define SDL_HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING "SDL_XINPUT_USE_OLD_JOYSTICK_MAPPING" |
427 | #define SDL_HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING "SDL_XINPUT_USE_OLD_JOYSTICK_MAPPING" |
385 | 428 | ||
386 | /** |
429 | /** |
387 | * \brief A variable that lets you manually hint extra gamecontroller db entries. |
430 | * \brief A variable that lets you manually hint extra gamecontroller db entries. |
388 | * |
431 | * |
389 | * The variable should be newline delimited rows of gamecontroller config data, see SDL_gamecontroller.h |
432 | * The variable should be newline delimited rows of gamecontroller config data, see SDL_gamecontroller.h |
390 | * |
433 | * |
391 | * This hint must be set before calling SDL_Init(SDL_INIT_GAMECONTROLLER) |
434 | * This hint must be set before calling SDL_Init(SDL_INIT_GAMECONTROLLER) |
392 | * You can update mappings after the system is initialized with SDL_GameControllerMappingForGUID() and SDL_GameControllerAddMapping() |
435 | * You can update mappings after the system is initialized with SDL_GameControllerMappingForGUID() and SDL_GameControllerAddMapping() |
393 | */ |
436 | */ |
394 | #define SDL_HINT_GAMECONTROLLERCONFIG "SDL_GAMECONTROLLERCONFIG" |
437 | #define SDL_HINT_GAMECONTROLLERCONFIG "SDL_GAMECONTROLLERCONFIG" |
395 | 438 | ||
396 | /** |
439 | /** |
397 | * \brief A variable containing a list of devices to skip when scanning for game controllers. |
440 | * \brief A variable containing a list of devices to skip when scanning for game controllers. |
398 | * |
441 | * |
399 | * The format of the string is a comma separated list of USB VID/PID pairs |
442 | * The format of the string is a comma separated list of USB VID/PID pairs |
400 | * in hexadecimal form, e.g. |
443 | * in hexadecimal form, e.g. |
401 | * |
444 | * |
402 | * 0xAAAA/0xBBBB,0xCCCC/0xDDDD |
445 | * 0xAAAA/0xBBBB,0xCCCC/0xDDDD |
403 | * |
446 | * |
Line 411... | Line 454... | ||
411 | * |
454 | * |
412 | * The format of the string is a comma separated list of USB VID/PID pairs |
455 | * The format of the string is a comma separated list of USB VID/PID pairs |
413 | * in hexadecimal form, e.g. |
456 | * in hexadecimal form, e.g. |
414 | * |
457 | * |
415 | * 0xAAAA/0xBBBB,0xCCCC/0xDDDD |
458 | * 0xAAAA/0xBBBB,0xCCCC/0xDDDD |
416 | * |
459 | * |
417 | * The variable can also take the form of @file, in which case the named |
460 | * The variable can also take the form of @file, in which case the named |
418 | * file will be loaded and interpreted as the value of the variable. |
461 | * file will be loaded and interpreted as the value of the variable. |
419 | */ |
462 | */ |
420 | #define SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT "SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT" |
463 | #define SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT "SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT" |
421 | 464 | ||
422 | /** |
465 | /** |
423 | * \brief A variable that lets you enable joystick (and gamecontroller) events even when your app is in the background. |
466 | * \brief A variable that lets you enable joystick (and gamecontroller) events even when your app is in the background. |
424 | * |
467 | * |
425 | * The variable can be set to the following values: |
468 | * The variable can be set to the following values: |
426 | * "0" - Disable joystick & gamecontroller input events when the |
469 | * "0" - Disable joystick & gamecontroller input events when the |
427 | * application is in the background. |
470 | * application is in the background. |
428 | * "1" - Enable joystick & gamecontroller input events when the |
471 | * "1" - Enable joystick & gamecontroller input events when the |
429 | * application is in the background. |
472 | * application is in the background. |
430 | * |
473 | * |
431 | * The default value is "0". This hint may be set at any time. |
474 | * The default value is "0". This hint may be set at any time. |
432 | */ |
475 | */ |
433 | #define SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS" |
476 | #define SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS" |
- | 477 | ||
- | 478 | /** |
|
- | 479 | * \brief A variable controlling whether the HIDAPI joystick drivers should be used. |
|
- | 480 | * |
|
- | 481 | * This variable can be set to the following values: |
|
- | 482 | * "0" - HIDAPI drivers are not used |
|
- | 483 | * "1" - HIDAPI drivers are used (the default) |
|
- | 484 | * |
|
- | 485 | * This variable is the default for all drivers, but can be overridden by the hints for specific drivers below. |
|
- | 486 | */ |
|
- | 487 | #define SDL_HINT_JOYSTICK_HIDAPI "SDL_JOYSTICK_HIDAPI" |
|
- | 488 | ||
- | 489 | /** |
|
- | 490 | * \brief A variable controlling whether the HIDAPI driver for PS4 controllers should be used. |
|
- | 491 | * |
|
- | 492 | * This variable can be set to the following values: |
|
- | 493 | * "0" - HIDAPI driver is not used |
|
- | 494 | * "1" - HIDAPI driver is used |
|
- | 495 | * |
|
- | 496 | * The default is the value of SDL_HINT_JOYSTICK_HIDAPI |
|
- | 497 | */ |
|
- | 498 | #define SDL_HINT_JOYSTICK_HIDAPI_PS4 "SDL_JOYSTICK_HIDAPI_PS4" |
|
- | 499 | ||
- | 500 | /** |
|
- | 501 | * \brief A variable controlling whether extended input reports should be used for PS4 controllers when using the HIDAPI driver. |
|
- | 502 | * |
|
- | 503 | * This variable can be set to the following values: |
|
- | 504 | * "0" - extended reports are not enabled (the default) |
|
- | 505 | * "1" - extended reports |
|
- | 506 | * |
|
- | 507 | * Extended input reports allow rumble on Bluetooth PS4 controllers, but |
|
- | 508 | * break DirectInput handling for applications that don't use SDL. |
|
- | 509 | * |
|
- | 510 | * Once extended reports are enabled, they can not be disabled without |
|
- | 511 | * power cycling the controller. |
|
- | 512 | */ |
|
- | 513 | #define SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE "SDL_JOYSTICK_HIDAPI_PS4_RUMBLE" |
|
- | 514 | ||
- | 515 | /** |
|
- | 516 | * \brief A variable controlling whether the HIDAPI driver for Steam Controllers should be used. |
|
- | 517 | * |
|
- | 518 | * This variable can be set to the following values: |
|
- | 519 | * "0" - HIDAPI driver is not used |
|
- | 520 | * "1" - HIDAPI driver is used |
|
- | 521 | * |
|
- | 522 | * The default is the value of SDL_HINT_JOYSTICK_HIDAPI |
|
- | 523 | */ |
|
- | 524 | #define SDL_HINT_JOYSTICK_HIDAPI_STEAM "SDL_JOYSTICK_HIDAPI_STEAM" |
|
- | 525 | ||
- | 526 | /** |
|
- | 527 | * \brief A variable controlling whether the HIDAPI driver for Nintendo Switch controllers should be used. |
|
- | 528 | * |
|
- | 529 | * This variable can be set to the following values: |
|
- | 530 | * "0" - HIDAPI driver is not used |
|
- | 531 | * "1" - HIDAPI driver is used |
|
- | 532 | * |
|
- | 533 | * The default is the value of SDL_HINT_JOYSTICK_HIDAPI |
|
- | 534 | */ |
|
- | 535 | #define SDL_HINT_JOYSTICK_HIDAPI_SWITCH "SDL_JOYSTICK_HIDAPI_SWITCH" |
|
- | 536 | ||
- | 537 | /** |
|
- | 538 | * \brief A variable controlling whether the HIDAPI driver for XBox controllers should be used. |
|
- | 539 | * |
|
- | 540 | * This variable can be set to the following values: |
|
- | 541 | * "0" - HIDAPI driver is not used |
|
- | 542 | * "1" - HIDAPI driver is used |
|
- | 543 | * |
|
- | 544 | * The default is the value of SDL_HINT_JOYSTICK_HIDAPI |
|
- | 545 | */ |
|
- | 546 | #define SDL_HINT_JOYSTICK_HIDAPI_XBOX "SDL_JOYSTICK_HIDAPI_XBOX" |
|
- | 547 | ||
- | 548 | /** |
|
- | 549 | * \brief A variable that controls whether Steam Controllers should be exposed using the SDL joystick and game controller APIs |
|
- | 550 | * |
|
- | 551 | * The variable can be set to the following values: |
|
- | 552 | * "0" - Do not scan for Steam Controllers |
|
- | 553 | * "1" - Scan for Steam Controllers (the default) |
|
- | 554 | * |
|
- | 555 | * The default value is "1". This hint must be set before initializing the joystick subsystem. |
|
- | 556 | */ |
|
- | 557 | #define SDL_HINT_ENABLE_STEAM_CONTROLLERS "SDL_ENABLE_STEAM_CONTROLLERS" |
|
- | 558 | ||
434 | 559 | ||
435 | /** |
560 | /** |
436 | * \brief If set to "0" then never set the top most bit on a SDL Window, even if the video mode expects it. |
561 | * \brief If set to "0" then never set the top most bit on a SDL Window, even if the video mode expects it. |
437 | * This is a debugging aid for developers and not expected to be used by end users. The default is "1" |
562 | * This is a debugging aid for developers and not expected to be used by end users. The default is "1" |
438 | * |
563 | * |
Line 492... | Line 617... | ||
492 | * |
617 | * |
493 | * Use this hint in case you need to set SDL's threads stack size to other than the default. |
618 | * Use this hint in case you need to set SDL's threads stack size to other than the default. |
494 | * This is specially useful if you build SDL against a non glibc libc library (such as musl) which |
619 | * This is specially useful if you build SDL against a non glibc libc library (such as musl) which |
495 | * provides a relatively small default thread stack size (a few kilobytes versus the default 8MB glibc uses). |
620 | * provides a relatively small default thread stack size (a few kilobytes versus the default 8MB glibc uses). |
496 | * Support for this hint is currently available only in the pthread, Windows, and PSP backend. |
621 | * Support for this hint is currently available only in the pthread, Windows, and PSP backend. |
- | 622 | * |
|
- | 623 | * Instead of this hint, in 2.0.9 and later, you can use |
|
- | 624 | * SDL_CreateThreadWithStackSize(). This hint only works with the classic |
|
- | 625 | * SDL_CreateThread(). |
|
497 | */ |
626 | */ |
498 | #define SDL_HINT_THREAD_STACK_SIZE "SDL_THREAD_STACK_SIZE" |
627 | #define SDL_HINT_THREAD_STACK_SIZE "SDL_THREAD_STACK_SIZE" |
499 | 628 | ||
500 | /** |
629 | /** |
501 | * \brief If set to 1, then do not allow high-DPI windows. ("Retina" on Mac and iOS) |
630 | * \brief If set to 1, then do not allow high-DPI windows. ("Retina" on Mac and iOS) |
Line 575... | Line 704... | ||
575 | * |
704 | * |
576 | * Network-enabled WinRT apps must include a privacy policy. On Windows 8, 8.1, and RT, |
705 | * Network-enabled WinRT apps must include a privacy policy. On Windows 8, 8.1, and RT, |
577 | * Microsoft mandates that this policy be available via the Windows Settings charm. |
706 | * Microsoft mandates that this policy be available via the Windows Settings charm. |
578 | * SDL provides code to add a link there, with its label text being set via the |
707 | * SDL provides code to add a link there, with its label text being set via the |
579 | * optional hint, SDL_HINT_WINRT_PRIVACY_POLICY_LABEL. |
708 | * optional hint, SDL_HINT_WINRT_PRIVACY_POLICY_LABEL. |
580 | * |
709 | * |
581 | * Please note that a privacy policy's contents are not set via this hint. A separate |
710 | * Please note that a privacy policy's contents are not set via this hint. A separate |
582 | * hint, SDL_HINT_WINRT_PRIVACY_POLICY_URL, is used to link to the actual text of the |
711 | * hint, SDL_HINT_WINRT_PRIVACY_POLICY_URL, is used to link to the actual text of the |
583 | * policy. |
712 | * policy. |
584 | * |
713 | * |
585 | * The contents of this hint should be encoded as a UTF8 string. |
714 | * The contents of this hint should be encoded as a UTF8 string. |
Line 716... | Line 845... | ||
716 | * "1" - Mouse events will be handled separately from pure touch events. |
845 | * "1" - Mouse events will be handled separately from pure touch events. |
717 | * |
846 | * |
718 | * The value of this hint is used at runtime, so it can be changed at any time. |
847 | * The value of this hint is used at runtime, so it can be changed at any time. |
719 | */ |
848 | */ |
720 | #define SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH "SDL_ANDROID_SEPARATE_MOUSE_AND_TOUCH" |
849 | #define SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH "SDL_ANDROID_SEPARATE_MOUSE_AND_TOUCH" |
- | 850 | ||
- | 851 | /** |
|
- | 852 | * \brief A variable to control whether we trap the Android back button to handle it manually. |
|
- | 853 | * This is necessary for the right mouse button to work on some Android devices, or |
|
- | 854 | * to be able to trap the back button for use in your code reliably. If set to true, |
|
- | 855 | * the back button will show up as an SDL_KEYDOWN / SDL_KEYUP pair with a keycode of |
|
- | 856 | * SDL_SCANCODE_AC_BACK. |
|
- | 857 | * |
|
- | 858 | * The variable can be set to the following values: |
|
- | 859 | * "0" - Back button will be handled as usual for system. (default) |
|
- | 860 | * "1" - Back button will be trapped, allowing you to handle the key press |
|
- | 861 | * manually. (This will also let right mouse click work on systems |
|
- | 862 | * where the right mouse button functions as back.) |
|
- | 863 | * |
|
- | 864 | * The value of this hint is used at runtime, so it can be changed at any time. |
|
- | 865 | */ |
|
- | 866 | #define SDL_HINT_ANDROID_TRAP_BACK_BUTTON "SDL_ANDROID_TRAP_BACK_BUTTON" |
|
- | 867 | ||
- | 868 | /** |
|
- | 869 | * \brief A variable to control whether the return key on the soft keyboard |
|
- | 870 | * should hide the soft keyboard on Android and iOS. |
|
- | 871 | * |
|
- | 872 | * The variable can be set to the following values: |
|
- | 873 | * "0" - The return key will be handled as a key event. This is the behaviour of SDL <= 2.0.3. (default) |
|
- | 874 | * "1" - The return key will hide the keyboard. |
|
- | 875 | * |
|
- | 876 | * The value of this hint is used at runtime, so it can be changed at any time. |
|
- | 877 | */ |
|
- | 878 | #define SDL_HINT_RETURN_KEY_HIDES_IME "SDL_RETURN_KEY_HIDES_IME" |
|
721 | 879 | ||
722 | /** |
880 | /** |
723 | * \brief override the binding element for keyboard inputs for Emscripten builds |
881 | * \brief override the binding element for keyboard inputs for Emscripten builds |
724 | * |
882 | * |
725 | * This hint only applies to the emscripten platform |
883 | * This hint only applies to the emscripten platform |
726 | * |
884 | * |
727 | * The variable can be one of |
885 | * The variable can be one of |
728 | * "#window" - The javascript window object (this is the default) |
886 | * "#window" - The javascript window object (this is the default) |
729 | * "#document" - The javascript document object |
887 | * "#document" - The javascript document object |
730 | * "#screen" - the javascript window.screen object |
888 | * "#screen" - the javascript window.screen object |
731 | * "#canvas" - the WebGL canvas element |
889 | * "#canvas" - the WebGL canvas element |
732 | * any other string without a leading # sign applies to the element on the page with that ID. |
890 | * any other string without a leading # sign applies to the element on the page with that ID. |
733 | */ |
891 | */ |
734 | #define SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT" |
892 | #define SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT" |
735 | 893 | ||
736 | /** |
894 | /** |
737 | * \brief Tell SDL not to catch the SIGINT or SIGTERM signals. |
895 | * \brief Tell SDL not to catch the SIGINT or SIGTERM signals. |
738 | * |
896 | * |
739 | * This hint only applies to Unix-like platforms. |
897 | * This hint only applies to Unix-like platforms. |
740 | * |
898 | * |
Line 750... | Line 908... | ||
750 | * |
908 | * |
751 | * The variable can be set to the following values: |
909 | * The variable can be set to the following values: |
752 | * "0" - SDL will generate a window-close event when it sees Alt+F4. |
910 | * "0" - SDL will generate a window-close event when it sees Alt+F4. |
753 | * "1" - SDL will only do normal key handling for Alt+F4. |
911 | * "1" - SDL will only do normal key handling for Alt+F4. |
754 | */ |
912 | */ |
755 | #define SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4 |
913 | #define SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4 "SDL_WINDOWS_NO_CLOSE_ON_ALT_F4" |
756 | 914 | ||
757 | /** |
915 | /** |
758 | * \brief Prevent SDL from using version 4 of the bitmap header when saving BMPs. |
916 | * \brief Prevent SDL from using version 4 of the bitmap header when saving BMPs. |
759 | * |
917 | * |
760 | * The bitmap header version 4 is required for proper alpha channel support and |
918 | * The bitmap header version 4 is required for proper alpha channel support and |
761 | * SDL will use it when required. Should this not be desired, this hint can |
919 | * SDL will use it when required. Should this not be desired, this hint can |
762 | * force the use of the 40 byte header version which is supported everywhere. |
920 | * force the use of the 40 byte header version which is supported everywhere. |
763 | * |
921 | * |
764 | * The variable can be set to the following values: |
922 | * The variable can be set to the following values: |
765 | * "0" - Surfaces with a colorkey or an alpha channel are saved to a |
923 | * "0" - Surfaces with a colorkey or an alpha channel are saved to a |
766 | * 32-bit BMP file with an alpha mask. SDL will use the bitmap |
924 | * 32-bit BMP file with an alpha mask. SDL will use the bitmap |
767 | * header version 4 and set the alpha mask accordingly. |
925 | * header version 4 and set the alpha mask accordingly. |
768 | * "1" - Surfaces with a colorkey or an alpha channel are saved to a |
926 | * "1" - Surfaces with a colorkey or an alpha channel are saved to a |
Line 794... | Line 952... | ||
794 | * |
952 | * |
795 | * Also known as Z-order. The variable can take a negative or positive value. |
953 | * Also known as Z-order. The variable can take a negative or positive value. |
796 | * The default is 10000. |
954 | * The default is 10000. |
797 | */ |
955 | */ |
798 | #define SDL_HINT_RPI_VIDEO_LAYER "SDL_RPI_VIDEO_LAYER" |
956 | #define SDL_HINT_RPI_VIDEO_LAYER "SDL_RPI_VIDEO_LAYER" |
- | 957 | ||
- | 958 | /** |
|
- | 959 | * \brief Tell the video driver that we only want a double buffer. |
|
- | 960 | * |
|
- | 961 | * By default, most lowlevel 2D APIs will use a triple buffer scheme that |
|
- | 962 | * wastes no CPU time on waiting for vsync after issuing a flip, but |
|
- | 963 | * introduces a frame of latency. On the other hand, using a double buffer |
|
- | 964 | * scheme instead is recommended for cases where low latency is an important |
|
- | 965 | * factor because we save a whole frame of latency. |
|
- | 966 | * We do so by waiting for vsync immediately after issuing a flip, usually just |
|
- | 967 | * after eglSwapBuffers call in the backend's *_SwapWindow function. |
|
- | 968 | * |
|
- | 969 | * Since it's driver-specific, it's only supported where possible and |
|
- | 970 | * implemented. Currently supported the following drivers: |
|
- | 971 | * - KMSDRM (kmsdrm) |
|
- | 972 | * - Raspberry Pi (raspberrypi) |
|
- | 973 | */ |
|
- | 974 | #define SDL_HINT_VIDEO_DOUBLE_BUFFER "SDL_VIDEO_DOUBLE_BUFFER" |
|
799 | 975 | ||
800 | /** |
976 | /** |
801 | * \brief A variable controlling what driver to use for OpenGL ES contexts. |
977 | * \brief A variable controlling what driver to use for OpenGL ES contexts. |
802 | * |
978 | * |
803 | * On some platforms, currently Windows and X11, OpenGL drivers may support |
979 | * On some platforms, currently Windows and X11, OpenGL drivers may support |