Subversion Repositories Games.Prince of Persia

Rev

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-2017 Sam Lantinga <slouken@libsdl.org>
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 device, rather than listing
393
 *  accelerometer should be listed as a joystick device.
-
 
394
 *
360
 *  actual joysticks only.
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"       - List only real joysticks and accept input from them
406
 *    "0"       - Remotes send enter/escape/arrow key events
364
 *    "1"       - List real joysticks along with the accelerometer as if it were a 3 axis joystick (the default).
407
 *    "1"       - Remotes are available as 2 axis, 2 button joysticks (the default).
365
 */
408
 */
366
#define SDL_HINT_ACCELEROMETER_AS_JOYSTICK "SDL_ACCELEROMETER_AS_JOYSTICK"
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     "SDL_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