-
Notifications
You must be signed in to change notification settings - Fork 0
/
SDL3.cs
3513 lines (2706 loc) · 149 KB
/
SDL3.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
namespace DeafMan1983.Interop.SDL3;
using System;
using System.Runtime.InteropServices;
public unsafe static partial class SDL3
{
private const string libSDL3 = "SDL3";
[DllImport(libSDL3)]
public static extern SDL_AssertState SDL_ReportAssertion(SDL_AssertData* data, [NativeTypeName("const char *")] sbyte* func, [NativeTypeName("const char *")] sbyte* file, int line);
[DllImport(libSDL3)]
public static extern void SDL_SetAssertionHandler([NativeTypeName("SDL_AssertionHandler")] delegate* unmanaged[Cdecl]<SDL_AssertData*, void*, SDL_AssertState> handler, void* userdata);
[DllImport(libSDL3)]
[return: NativeTypeName("SDL_AssertionHandler")]
public static extern delegate* unmanaged[Cdecl]<SDL_AssertData*, void*, SDL_AssertState> SDL_GetDefaultAssertionHandler();
[DllImport(libSDL3)]
[return: NativeTypeName("SDL_AssertionHandler")]
public static extern delegate* unmanaged[Cdecl]<SDL_AssertData*, void*, SDL_AssertState> SDL_GetAssertionHandler(void** puserdata);
[DllImport(libSDL3)]
[return: NativeTypeName("const SDL_AssertData *")]
public static extern SDL_AssertData* SDL_GetAssertionReport();
[DllImport(libSDL3)]
public static extern void SDL_ResetAssertionReport();
[DllImport(libSDL3)]
public static extern int SDL_AtomicTryLock([NativeTypeName("SDL_SpinLock *")] int* @lock);
[DllImport(libSDL3)]
public static extern void SDL_AtomicLock([NativeTypeName("SDL_SpinLock *")] int* @lock);
[DllImport(libSDL3)]
public static extern void SDL_AtomicUnlock([NativeTypeName("SDL_SpinLock *")] int* @lock);
[DllImport(libSDL3)]
public static extern void SDL_MemoryBarrierReleaseFunction();
[DllImport(libSDL3)]
public static extern void SDL_MemoryBarrierAcquireFunction();
[DllImport(libSDL3)]
public static extern int SDL_AtomicCAS(SDL_atomic_t* a, int oldval, int newval);
[DllImport(libSDL3)]
public static extern int SDL_AtomicSet(SDL_atomic_t* a, int v);
[DllImport(libSDL3)]
public static extern int SDL_AtomicGet(SDL_atomic_t* a);
[DllImport(libSDL3)]
public static extern int SDL_AtomicAdd(SDL_atomic_t* a, int v);
[DllImport(libSDL3)]
public static extern int SDL_AtomicCASPtr(void** a, void* oldval, void* newval);
[DllImport(libSDL3)]
public static extern void* SDL_AtomicSetPtr(void** a, void* v);
[DllImport(libSDL3)]
public static extern void* SDL_AtomicGetPtr(void** a);
[DllImport(libSDL3)]
public static extern int SDL_GetNumAudioDrivers();
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetAudioDriver(int index);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetCurrentAudioDriver();
[DllImport(libSDL3)]
public static extern int SDL_GetNumAudioDevices(int iscapture);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetAudioDeviceName(int index, int iscapture);
[DllImport(libSDL3)]
public static extern int SDL_GetAudioDeviceSpec(int index, int iscapture, SDL_AudioSpec* spec);
[DllImport(libSDL3)]
public static extern int SDL_GetDefaultAudioInfo([NativeTypeName("char **")] sbyte** name, SDL_AudioSpec* spec, int iscapture);
[DllImport(libSDL3)]
[return: NativeTypeName("SDL_AudioDeviceID")]
public static extern uint SDL_OpenAudioDevice([NativeTypeName("const char *")] sbyte* device, int iscapture, [NativeTypeName("const SDL_AudioSpec *")] SDL_AudioSpec* desired, SDL_AudioSpec* obtained, int allowed_changes);
[DllImport(libSDL3)]
public static extern SDL_AudioStatus SDL_GetAudioDeviceStatus([NativeTypeName("SDL_AudioDeviceID")] uint dev);
[DllImport(libSDL3)]
public static extern int SDL_PlayAudioDevice([NativeTypeName("SDL_AudioDeviceID")] uint dev);
[DllImport(libSDL3)]
public static extern int SDL_PauseAudioDevice([NativeTypeName("SDL_AudioDeviceID")] uint dev);
[DllImport(libSDL3)]
public static extern SDL_AudioSpec* SDL_LoadWAV_RW(SDL_RWops* src, int freesrc, SDL_AudioSpec* spec, [NativeTypeName("Uint8 **")] byte** audio_buf, [NativeTypeName("Uint32 *")] uint* audio_len);
[DllImport(libSDL3)]
public static extern SDL_AudioStream* SDL_CreateAudioStream([NativeTypeName("SDL_AudioFormat")] ushort src_format, [NativeTypeName("Uint8")] byte src_channels, int src_rate, [NativeTypeName("SDL_AudioFormat")] ushort dst_format, [NativeTypeName("Uint8")] byte dst_channels, int dst_rate);
[DllImport(libSDL3)]
public static extern int SDL_PutAudioStreamData(SDL_AudioStream* stream, [NativeTypeName("const void *")] void* buf, int len);
[DllImport(libSDL3)]
public static extern int SDL_GetAudioStreamData(SDL_AudioStream* stream, void* buf, int len);
[DllImport(libSDL3)]
public static extern int SDL_GetAudioStreamAvailable(SDL_AudioStream* stream);
[DllImport(libSDL3)]
public static extern int SDL_FlushAudioStream(SDL_AudioStream* stream);
[DllImport(libSDL3)]
public static extern int SDL_ClearAudioStream(SDL_AudioStream* stream);
[DllImport(libSDL3)]
public static extern void SDL_DestroyAudioStream(SDL_AudioStream* stream);
[DllImport(libSDL3)]
public static extern int SDL_MixAudioFormat([NativeTypeName("Uint8 *")] byte* dst, [NativeTypeName("const Uint8 *")] byte* src, [NativeTypeName("SDL_AudioFormat")] ushort format, [NativeTypeName("Uint32")] uint len, int volume);
[DllImport(libSDL3)]
public static extern int SDL_QueueAudio([NativeTypeName("SDL_AudioDeviceID")] uint dev, [NativeTypeName("const void *")] void* data, [NativeTypeName("Uint32")] uint len);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint32")]
public static extern uint SDL_DequeueAudio([NativeTypeName("SDL_AudioDeviceID")] uint dev, void* data, [NativeTypeName("Uint32")] uint len);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint32")]
public static extern uint SDL_GetQueuedAudioSize([NativeTypeName("SDL_AudioDeviceID")] uint dev);
[DllImport(libSDL3)]
public static extern int SDL_ClearQueuedAudio([NativeTypeName("SDL_AudioDeviceID")] uint dev);
[DllImport(libSDL3)]
public static extern int SDL_LockAudioDevice([NativeTypeName("SDL_AudioDeviceID")] uint dev);
[DllImport(libSDL3)]
public static extern void SDL_UnlockAudioDevice([NativeTypeName("SDL_AudioDeviceID")] uint dev);
[DllImport(libSDL3)]
public static extern void SDL_CloseAudioDevice([NativeTypeName("SDL_AudioDeviceID")] uint dev);
[DllImport(libSDL3)]
public static extern int SDL_ConvertAudioSamples([NativeTypeName("SDL_AudioFormat")] ushort src_format, [NativeTypeName("Uint8")] byte src_channels, int src_rate, [NativeTypeName("const Uint8 *")] byte* src_data, int src_len, [NativeTypeName("SDL_AudioFormat")] ushort dst_format, [NativeTypeName("Uint8")] byte dst_channels, int dst_rate, [NativeTypeName("Uint8 **")] byte** dst_data, int* dst_len);
[DllImport(libSDL3)]
public static extern SDL_BlendMode SDL_ComposeCustomBlendMode(SDL_BlendFactor srcColorFactor, SDL_BlendFactor dstColorFactor, SDL_BlendOperation colorOperation, SDL_BlendFactor srcAlphaFactor, SDL_BlendFactor dstAlphaFactor, SDL_BlendOperation alphaOperation);
[DllImport(libSDL3)]
public static extern int SDL_SetClipboardText([NativeTypeName("const char *")] sbyte* text);
[DllImport(libSDL3)]
[return: NativeTypeName("char *")]
public static extern sbyte* SDL_GetClipboardText();
[DllImport(libSDL3)]
public static extern int SDL_HasClipboardText();
[DllImport(libSDL3)]
public static extern int SDL_SetPrimarySelectionText([NativeTypeName("const char *")] sbyte* text);
[DllImport(libSDL3)]
[return: NativeTypeName("char *")]
public static extern sbyte* SDL_GetPrimarySelectionText();
[DllImport(libSDL3)]
public static extern int SDL_HasPrimarySelectionText();
[DllImport(libSDL3)]
public static extern int SDL_GetCPUCount();
[DllImport(libSDL3)]
public static extern int SDL_GetCPUCacheLineSize();
[DllImport(libSDL3)]
public static extern int SDL_HasRDTSC();
[DllImport(libSDL3)]
public static extern int SDL_HasAltiVec();
[DllImport(libSDL3)]
public static extern int SDL_HasMMX();
[DllImport(libSDL3)]
public static extern int SDL_HasSSE();
[DllImport(libSDL3)]
public static extern int SDL_HasSSE2();
[DllImport(libSDL3)]
public static extern int SDL_HasSSE3();
[DllImport(libSDL3)]
public static extern int SDL_HasSSE41();
[DllImport(libSDL3)]
public static extern int SDL_HasSSE42();
[DllImport(libSDL3)]
public static extern int SDL_HasAVX();
[DllImport(libSDL3)]
public static extern int SDL_HasAVX2();
[DllImport(libSDL3)]
public static extern int SDL_HasAVX512F();
[DllImport(libSDL3)]
public static extern int SDL_HasARMSIMD();
[DllImport(libSDL3)]
public static extern int SDL_HasNEON();
[DllImport(libSDL3)]
public static extern int SDL_HasLSX();
[DllImport(libSDL3)]
public static extern int SDL_HasLASX();
[DllImport(libSDL3)]
public static extern int SDL_GetSystemRAM();
[DllImport(libSDL3)]
[return: NativeTypeName("size_t")]
public static extern nuint SDL_SIMDGetAlignment();
[DllImport(libSDL3)]
public static extern int SDL_SetError([NativeTypeName("const char *")] sbyte* fmt, __arglist);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetError();
[DllImport(libSDL3)]
[return: NativeTypeName("char *")]
public static extern sbyte* SDL_GetErrorMsg([NativeTypeName("char *")] sbyte* errstr, int maxlen);
[DllImport(libSDL3)]
public static extern void SDL_ClearError();
[DllImport(libSDL3)]
public static extern int SDL_Error(SDL_errorcode code);
[DllImport(libSDL3)]
public static extern void SDL_PumpEvents();
[DllImport(libSDL3)]
public static extern int SDL_PeepEvents(SDL_Event* events, int numevents, SDL_eventaction action, [NativeTypeName("Uint32")] uint minType, [NativeTypeName("Uint32")] uint maxType);
[DllImport(libSDL3)]
public static extern int SDL_HasEvent([NativeTypeName("Uint32")] uint type);
[DllImport(libSDL3)]
public static extern int SDL_HasEvents([NativeTypeName("Uint32")] uint minType, [NativeTypeName("Uint32")] uint maxType);
[DllImport(libSDL3)]
public static extern void SDL_FlushEvent([NativeTypeName("Uint32")] uint type);
[DllImport(libSDL3)]
public static extern void SDL_FlushEvents([NativeTypeName("Uint32")] uint minType, [NativeTypeName("Uint32")] uint maxType);
[DllImport(libSDL3)]
public static extern int SDL_PollEvent(SDL_Event* @event);
[DllImport(libSDL3)]
public static extern int SDL_WaitEvent(SDL_Event* @event);
[DllImport(libSDL3)]
public static extern int SDL_WaitEventTimeout(SDL_Event* @event, [NativeTypeName("Sint32")] int timeoutMS);
[DllImport(libSDL3)]
public static extern int SDL_PushEvent(SDL_Event* @event);
[DllImport(libSDL3)]
public static extern void SDL_SetEventFilter([NativeTypeName("SDL_EventFilter")] delegate* unmanaged[Cdecl]<void*, SDL_Event*, int> filter, void* userdata);
[DllImport(libSDL3)]
public static extern int SDL_GetEventFilter([NativeTypeName("SDL_EventFilter *")] delegate* unmanaged[Cdecl]<void*, SDL_Event*, int>* filter, void** userdata);
[DllImport(libSDL3)]
public static extern void SDL_AddEventWatch([NativeTypeName("SDL_EventFilter")] delegate* unmanaged[Cdecl]<void*, SDL_Event*, int> filter, void* userdata);
[DllImport(libSDL3)]
public static extern void SDL_DelEventWatch([NativeTypeName("SDL_EventFilter")] delegate* unmanaged[Cdecl]<void*, SDL_Event*, int> filter, void* userdata);
[DllImport(libSDL3)]
public static extern void SDL_FilterEvents([NativeTypeName("SDL_EventFilter")] delegate* unmanaged[Cdecl]<void*, SDL_Event*, int> filter, void* userdata);
[DllImport(libSDL3)]
public static extern void SDL_SetEventEnabled([NativeTypeName("Uint32")] uint type, int enabled);
[DllImport(libSDL3)]
public static extern int SDL_EventEnabled([NativeTypeName("Uint32")] uint type);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint32")]
public static extern uint SDL_RegisterEvents(int numevents);
[DllImport(libSDL3)]
[return: NativeTypeName("char *")]
public static extern sbyte* SDL_GetBasePath();
[DllImport(libSDL3)]
[return: NativeTypeName("char *")]
public static extern sbyte* SDL_GetPrefPath([NativeTypeName("const char *")] sbyte* org, [NativeTypeName("const char *")] sbyte* app);
[DllImport(libSDL3)]
public static extern int SDL_AddGamepadMapping([NativeTypeName("const char *")] sbyte* mappingString);
[DllImport(libSDL3)]
public static extern int SDL_AddGamepadMappingsFromRW(SDL_RWops* rw, int freerw);
[DllImport(libSDL3)]
public static extern int SDL_GetNumGamepadMappings();
[DllImport(libSDL3)]
[return: NativeTypeName("char *")]
public static extern sbyte* SDL_GetGamepadMappingForIndex(int mapping_index);
[DllImport(libSDL3)]
[return: NativeTypeName("char *")]
public static extern sbyte* SDL_GetGamepadMappingForGUID([NativeTypeName("SDL_JoystickGUID")] SDL_GUID guid);
[DllImport(libSDL3)]
[return: NativeTypeName("char *")]
public static extern sbyte* SDL_GetGamepadMapping(SDL_Gamepad* gamepad);
[DllImport(libSDL3)]
[return: NativeTypeName("SDL_JoystickID *")]
public static extern uint* SDL_GetGamepads(int* count);
[DllImport(libSDL3)]
public static extern int SDL_IsGamepad([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetGamepadInstanceName([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetGamepadInstancePath([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
public static extern int SDL_GetGamepadInstancePlayerIndex([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
[return: NativeTypeName("SDL_JoystickGUID")]
public static extern SDL_GUID SDL_GetGamepadInstanceGUID([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint16")]
public static extern ushort SDL_GetGamepadInstanceVendor([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint16")]
public static extern ushort SDL_GetGamepadInstanceProduct([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint16")]
public static extern ushort SDL_GetGamepadInstanceProductVersion([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
public static extern SDL_GamepadType SDL_GetGamepadInstanceType([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
[return: NativeTypeName("char *")]
public static extern sbyte* SDL_GetGamepadInstanceMapping([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
public static extern SDL_Gamepad* SDL_OpenGamepad([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
public static extern SDL_Gamepad* SDL_GetGamepadFromInstanceID([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
public static extern SDL_Gamepad* SDL_GetGamepadFromPlayerIndex(int player_index);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetGamepadName(SDL_Gamepad* gamepad);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetGamepadPath(SDL_Gamepad* gamepad);
[DllImport(libSDL3)]
public static extern SDL_GamepadType SDL_GetGamepadType(SDL_Gamepad* gamepad);
[DllImport(libSDL3)]
public static extern int SDL_GetGamepadPlayerIndex(SDL_Gamepad* gamepad);
[DllImport(libSDL3)]
public static extern int SDL_SetGamepadPlayerIndex(SDL_Gamepad* gamepad, int player_index);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint16")]
public static extern ushort SDL_GetGamepadVendor(SDL_Gamepad* gamepad);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint16")]
public static extern ushort SDL_GetGamepadProduct(SDL_Gamepad* gamepad);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint16")]
public static extern ushort SDL_GetGamepadProductVersion(SDL_Gamepad* gamepad);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint16")]
public static extern ushort SDL_GetGamepadFirmwareVersion(SDL_Gamepad* gamepad);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetGamepadSerial(SDL_Gamepad* gamepad);
[DllImport(libSDL3)]
public static extern int SDL_GamepadConnected(SDL_Gamepad* gamepad);
[DllImport(libSDL3)]
public static extern SDL_Joystick* SDL_GetGamepadJoystick(SDL_Gamepad* gamepad);
[DllImport(libSDL3)]
public static extern void SDL_SetGamepadEventsEnabled(int enabled);
[DllImport(libSDL3)]
public static extern int SDL_GamepadEventsEnabled();
[DllImport(libSDL3)]
public static extern void SDL_UpdateGamepads();
[DllImport(libSDL3)]
public static extern SDL_GamepadAxis SDL_GetGamepadAxisFromString([NativeTypeName("const char *")] sbyte* str);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetGamepadStringForAxis(SDL_GamepadAxis axis);
[DllImport(libSDL3)]
public static extern SDL_GamepadBinding SDL_GetGamepadBindForAxis(SDL_Gamepad* gamepad, SDL_GamepadAxis axis);
[DllImport(libSDL3)]
public static extern int SDL_GamepadHasAxis(SDL_Gamepad* gamepad, SDL_GamepadAxis axis);
[DllImport(libSDL3)]
[return: NativeTypeName("Sint16")]
public static extern short SDL_GetGamepadAxis(SDL_Gamepad* gamepad, SDL_GamepadAxis axis);
[DllImport(libSDL3)]
public static extern SDL_GamepadButton SDL_GetGamepadButtonFromString([NativeTypeName("const char *")] sbyte* str);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetGamepadStringForButton(SDL_GamepadButton button);
[DllImport(libSDL3)]
public static extern SDL_GamepadBinding SDL_GetGamepadBindForButton(SDL_Gamepad* gamepad, SDL_GamepadButton button);
[DllImport(libSDL3)]
public static extern int SDL_GamepadHasButton(SDL_Gamepad* gamepad, SDL_GamepadButton button);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint8")]
public static extern byte SDL_GetGamepadButton(SDL_Gamepad* gamepad, SDL_GamepadButton button);
[DllImport(libSDL3)]
public static extern int SDL_GetNumGamepadTouchpads(SDL_Gamepad* gamepad);
[DllImport(libSDL3)]
public static extern int SDL_GetNumGamepadTouchpadFingers(SDL_Gamepad* gamepad, int touchpad);
[DllImport(libSDL3)]
public static extern int SDL_GetGamepadTouchpadFinger(SDL_Gamepad* gamepad, int touchpad, int finger, [NativeTypeName("Uint8 *")] byte* state, float* x, float* y, float* pressure);
[DllImport(libSDL3)]
public static extern int SDL_GamepadHasSensor(SDL_Gamepad* gamepad, SDL_SensorType type);
[DllImport(libSDL3)]
public static extern int SDL_SetGamepadSensorEnabled(SDL_Gamepad* gamepad, SDL_SensorType type, int enabled);
[DllImport(libSDL3)]
public static extern int SDL_GamepadSensorEnabled(SDL_Gamepad* gamepad, SDL_SensorType type);
[DllImport(libSDL3)]
public static extern float SDL_GetGamepadSensorDataRate(SDL_Gamepad* gamepad, SDL_SensorType type);
[DllImport(libSDL3)]
public static extern int SDL_GetGamepadSensorData(SDL_Gamepad* gamepad, SDL_SensorType type, float* data, int num_values);
[DllImport(libSDL3)]
public static extern int SDL_RumbleGamepad(SDL_Gamepad* gamepad, [NativeTypeName("Uint16")] ushort low_frequency_rumble, [NativeTypeName("Uint16")] ushort high_frequency_rumble, [NativeTypeName("Uint32")] uint duration_ms);
[DllImport(libSDL3)]
public static extern int SDL_RumbleGamepadTriggers(SDL_Gamepad* gamepad, [NativeTypeName("Uint16")] ushort left_rumble, [NativeTypeName("Uint16")] ushort right_rumble, [NativeTypeName("Uint32")] uint duration_ms);
[DllImport(libSDL3)]
public static extern int SDL_GamepadHasLED(SDL_Gamepad* gamepad);
[DllImport(libSDL3)]
public static extern int SDL_GamepadHasRumble(SDL_Gamepad* gamepad);
[DllImport(libSDL3)]
public static extern int SDL_GamepadHasRumbleTriggers(SDL_Gamepad* gamepad);
[DllImport(libSDL3)]
public static extern int SDL_SetGamepadLED(SDL_Gamepad* gamepad, [NativeTypeName("Uint8")] byte red, [NativeTypeName("Uint8")] byte green, [NativeTypeName("Uint8")] byte blue);
[DllImport(libSDL3)]
public static extern int SDL_SendGamepadEffect(SDL_Gamepad* gamepad, [NativeTypeName("const void *")] void* data, int size);
[DllImport(libSDL3)]
public static extern void SDL_CloseGamepad(SDL_Gamepad* gamepad);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetGamepadAppleSFSymbolsNameForButton(SDL_Gamepad* gamepad, SDL_GamepadButton button);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetGamepadAppleSFSymbolsNameForAxis(SDL_Gamepad* gamepad, SDL_GamepadAxis axis);
[DllImport(libSDL3)]
public static extern int SDL_NumHaptics();
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_HapticName(int device_index);
[DllImport(libSDL3)]
public static extern SDL_Haptic* SDL_HapticOpen(int device_index);
[DllImport(libSDL3)]
public static extern int SDL_HapticOpened(int device_index);
[DllImport(libSDL3)]
public static extern int SDL_HapticIndex(SDL_Haptic* haptic);
[DllImport(libSDL3)]
public static extern int SDL_MouseIsHaptic();
[DllImport(libSDL3)]
public static extern SDL_Haptic* SDL_HapticOpenFromMouse();
[DllImport(libSDL3)]
public static extern int SDL_JoystickIsHaptic(SDL_Joystick* joystick);
[DllImport(libSDL3)]
public static extern SDL_Haptic* SDL_HapticOpenFromJoystick(SDL_Joystick* joystick);
[DllImport(libSDL3)]
public static extern void SDL_HapticClose(SDL_Haptic* haptic);
[DllImport(libSDL3)]
public static extern int SDL_HapticNumEffects(SDL_Haptic* haptic);
[DllImport(libSDL3)]
public static extern int SDL_HapticNumEffectsPlaying(SDL_Haptic* haptic);
[DllImport(libSDL3)]
[return: NativeTypeName("unsigned int")]
public static extern uint SDL_HapticQuery(SDL_Haptic* haptic);
[DllImport(libSDL3)]
public static extern int SDL_HapticNumAxes(SDL_Haptic* haptic);
[DllImport(libSDL3)]
public static extern int SDL_HapticEffectSupported(SDL_Haptic* haptic, SDL_HapticEffect* effect);
[DllImport(libSDL3)]
public static extern int SDL_HapticNewEffect(SDL_Haptic* haptic, SDL_HapticEffect* effect);
[DllImport(libSDL3)]
public static extern int SDL_HapticUpdateEffect(SDL_Haptic* haptic, int effect, SDL_HapticEffect* data);
[DllImport(libSDL3)]
public static extern int SDL_HapticRunEffect(SDL_Haptic* haptic, int effect, [NativeTypeName("Uint32")] uint iterations);
[DllImport(libSDL3)]
public static extern int SDL_HapticStopEffect(SDL_Haptic* haptic, int effect);
[DllImport(libSDL3)]
public static extern void SDL_HapticDestroyEffect(SDL_Haptic* haptic, int effect);
[DllImport(libSDL3)]
public static extern int SDL_HapticGetEffectStatus(SDL_Haptic* haptic, int effect);
[DllImport(libSDL3)]
public static extern int SDL_HapticSetGain(SDL_Haptic* haptic, int gain);
[DllImport(libSDL3)]
public static extern int SDL_HapticSetAutocenter(SDL_Haptic* haptic, int autocenter);
[DllImport(libSDL3)]
public static extern int SDL_HapticPause(SDL_Haptic* haptic);
[DllImport(libSDL3)]
public static extern int SDL_HapticUnpause(SDL_Haptic* haptic);
[DllImport(libSDL3)]
public static extern int SDL_HapticStopAll(SDL_Haptic* haptic);
[DllImport(libSDL3)]
public static extern int SDL_HapticRumbleSupported(SDL_Haptic* haptic);
[DllImport(libSDL3)]
public static extern int SDL_HapticRumbleInit(SDL_Haptic* haptic);
[DllImport(libSDL3)]
public static extern int SDL_HapticRumblePlay(SDL_Haptic* haptic, float strength, [NativeTypeName("Uint32")] uint length);
[DllImport(libSDL3)]
public static extern int SDL_HapticRumbleStop(SDL_Haptic* haptic);
[DllImport(libSDL3)]
public static extern int SDL_hid_init();
[DllImport(libSDL3)]
public static extern int SDL_hid_exit();
[DllImport(libSDL3)]
[return: NativeTypeName("Uint32")]
public static extern uint SDL_hid_device_change_count();
[DllImport(libSDL3)]
public static extern SDL_hid_device_info* SDL_hid_enumerate([NativeTypeName("unsigned short")] ushort vendor_id, [NativeTypeName("unsigned short")] ushort product_id);
[DllImport(libSDL3)]
public static extern void SDL_hid_free_enumeration(SDL_hid_device_info* devs);
[DllImport(libSDL3)]
[return: NativeTypeName("SDL_hid_device *")]
public static extern SDL_hid_device_* SDL_hid_open([NativeTypeName("unsigned short")] ushort vendor_id, [NativeTypeName("unsigned short")] ushort product_id, [NativeTypeName("const wchar_t *")] uint* serial_number);
[DllImport(libSDL3)]
[return: NativeTypeName("SDL_hid_device *")]
public static extern SDL_hid_device_* SDL_hid_open_path([NativeTypeName("const char *")] sbyte* path, int bExclusive);
[DllImport(libSDL3)]
public static extern int SDL_hid_write([NativeTypeName("SDL_hid_device *")] SDL_hid_device_* dev, [NativeTypeName("const unsigned char *")] byte* data, [NativeTypeName("size_t")] nuint length);
[DllImport(libSDL3)]
public static extern int SDL_hid_read_timeout([NativeTypeName("SDL_hid_device *")] SDL_hid_device_* dev, [NativeTypeName("unsigned char *")] byte* data, [NativeTypeName("size_t")] nuint length, int milliseconds);
[DllImport(libSDL3)]
public static extern int SDL_hid_read([NativeTypeName("SDL_hid_device *")] SDL_hid_device_* dev, [NativeTypeName("unsigned char *")] byte* data, [NativeTypeName("size_t")] nuint length);
[DllImport(libSDL3)]
public static extern int SDL_hid_set_nonblocking([NativeTypeName("SDL_hid_device *")] SDL_hid_device_* dev, int nonblock);
[DllImport(libSDL3)]
public static extern int SDL_hid_send_feature_report([NativeTypeName("SDL_hid_device *")] SDL_hid_device_* dev, [NativeTypeName("const unsigned char *")] byte* data, [NativeTypeName("size_t")] nuint length);
[DllImport(libSDL3)]
public static extern int SDL_hid_get_feature_report([NativeTypeName("SDL_hid_device *")] SDL_hid_device_* dev, [NativeTypeName("unsigned char *")] byte* data, [NativeTypeName("size_t")] nuint length);
[DllImport(libSDL3)]
public static extern int SDL_hid_close([NativeTypeName("SDL_hid_device *")] SDL_hid_device_* dev);
[DllImport(libSDL3)]
public static extern int SDL_hid_get_manufacturer_string([NativeTypeName("SDL_hid_device *")] SDL_hid_device_* dev, [NativeTypeName("wchar_t *")] uint* @string, [NativeTypeName("size_t")] nuint maxlen);
[DllImport(libSDL3)]
public static extern int SDL_hid_get_product_string([NativeTypeName("SDL_hid_device *")] SDL_hid_device_* dev, [NativeTypeName("wchar_t *")] uint* @string, [NativeTypeName("size_t")] nuint maxlen);
[DllImport(libSDL3)]
public static extern int SDL_hid_get_serial_number_string([NativeTypeName("SDL_hid_device *")] SDL_hid_device_* dev, [NativeTypeName("wchar_t *")] uint* @string, [NativeTypeName("size_t")] nuint maxlen);
[DllImport(libSDL3)]
public static extern int SDL_hid_get_indexed_string([NativeTypeName("SDL_hid_device *")] SDL_hid_device_* dev, int string_index, [NativeTypeName("wchar_t *")] uint* @string, [NativeTypeName("size_t")] nuint maxlen);
[DllImport(libSDL3)]
public static extern void SDL_hid_ble_scan(int active);
[DllImport(libSDL3)]
public static extern int SDL_GUIDToString(SDL_GUID guid, [NativeTypeName("char *")] sbyte* pszGUID, int cbGUID);
[DllImport(libSDL3)]
public static extern SDL_GUID SDL_GUIDFromString([NativeTypeName("const char *")] sbyte* pchGUID);
[DllImport(libSDL3)]
public static extern int SDL_SetHintWithPriority([NativeTypeName("const char *")] sbyte* name, [NativeTypeName("const char *")] sbyte* value, SDL_HintPriority priority);
[DllImport(libSDL3)]
public static extern int SDL_SetHint([NativeTypeName("const char *")] sbyte* name, [NativeTypeName("const char *")] sbyte* value);
[DllImport(libSDL3)]
public static extern int SDL_ResetHint([NativeTypeName("const char *")] sbyte* name);
[DllImport(libSDL3)]
public static extern void SDL_ResetHints();
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetHint([NativeTypeName("const char *")] sbyte* name);
[DllImport(libSDL3)]
public static extern int SDL_GetHintBoolean([NativeTypeName("const char *")] sbyte* name, int default_value);
[DllImport(libSDL3)]
public static extern int SDL_AddHintCallback([NativeTypeName("const char *")] sbyte* name, [NativeTypeName("SDL_HintCallback")] delegate* unmanaged[Cdecl]<void*, sbyte*, sbyte*, sbyte*, void> callback, void* userdata);
[DllImport(libSDL3)]
public static extern void SDL_DelHintCallback([NativeTypeName("const char *")] sbyte* name, [NativeTypeName("SDL_HintCallback")] delegate* unmanaged[Cdecl]<void*, sbyte*, sbyte*, sbyte*, void> callback, void* userdata);
[DllImport(libSDL3)]
public static extern void SDL_ClearHints();
[DllImport(libSDL3)]
public static extern int SDL_Init(UInt32 flags);
[DllImport(libSDL3)]
public static extern int SDL_InitSubSystem(UInt32 flags);
[DllImport(libSDL3)]
public static extern UInt32 SDL_WasInit(UInt32 flags);
[DllImport(libSDL3)]
public static extern void SDL_Quit();
[DllImport(libSDL3)]
public static extern void SDL_QuitSubSystem([NativeTypeName("Uint32")] uint flags);
[DllImport(libSDL3)]
public static extern void SDL_LockJoysticks();
[DllImport(libSDL3)]
public static extern void SDL_UnlockJoysticks();
[DllImport(libSDL3)]
[return: NativeTypeName("SDL_JoystickID *")]
public static extern uint* SDL_GetJoysticks(int* count);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetJoystickInstanceName([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetJoystickInstancePath([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
public static extern int SDL_GetJoystickInstancePlayerIndex([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
[return: NativeTypeName("SDL_JoystickGUID")]
public static extern SDL_GUID SDL_GetJoystickInstanceGUID([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint16")]
public static extern ushort SDL_GetJoystickInstanceVendor([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint16")]
public static extern ushort SDL_GetJoystickInstanceProduct([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint16")]
public static extern ushort SDL_GetJoystickInstanceProductVersion([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
public static extern SDL_JoystickType SDL_GetJoystickInstanceType([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
public static extern SDL_Joystick* SDL_OpenJoystick([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
public static extern SDL_Joystick* SDL_GetJoystickFromInstanceID([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
public static extern SDL_Joystick* SDL_GetJoystickFromPlayerIndex(int player_index);
[DllImport(libSDL3)]
[return: NativeTypeName("SDL_JoystickID")]
public static extern uint SDL_AttachVirtualJoystick(SDL_JoystickType type, int naxes, int nbuttons, int nhats);
[DllImport(libSDL3)]
[return: NativeTypeName("SDL_JoystickID")]
public static extern uint SDL_AttachVirtualJoystickEx([NativeTypeName("const SDL_VirtualJoystickDesc *")] SDL_VirtualJoystickDesc* desc);
[DllImport(libSDL3)]
public static extern int SDL_DetachVirtualJoystick([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
public static extern int SDL_IsJoystickVirtual([NativeTypeName("SDL_JoystickID")] uint instance_id);
[DllImport(libSDL3)]
public static extern int SDL_SetJoystickVirtualAxis(SDL_Joystick* joystick, int axis, [NativeTypeName("Sint16")] short value);
[DllImport(libSDL3)]
public static extern int SDL_SetJoystickVirtualButton(SDL_Joystick* joystick, int button, [NativeTypeName("Uint8")] byte value);
[DllImport(libSDL3)]
public static extern int SDL_SetJoystickVirtualHat(SDL_Joystick* joystick, int hat, [NativeTypeName("Uint8")] byte value);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetJoystickName(SDL_Joystick* joystick);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetJoystickPath(SDL_Joystick* joystick);
[DllImport(libSDL3)]
public static extern int SDL_GetJoystickPlayerIndex(SDL_Joystick* joystick);
[DllImport(libSDL3)]
public static extern int SDL_SetJoystickPlayerIndex(SDL_Joystick* joystick, int player_index);
[DllImport(libSDL3)]
[return: NativeTypeName("SDL_JoystickGUID")]
public static extern SDL_GUID SDL_GetJoystickGUID(SDL_Joystick* joystick);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint16")]
public static extern ushort SDL_GetJoystickVendor(SDL_Joystick* joystick);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint16")]
public static extern ushort SDL_GetJoystickProduct(SDL_Joystick* joystick);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint16")]
public static extern ushort SDL_GetJoystickProductVersion(SDL_Joystick* joystick);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint16")]
public static extern ushort SDL_GetJoystickFirmwareVersion(SDL_Joystick* joystick);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetJoystickSerial(SDL_Joystick* joystick);
[DllImport(libSDL3)]
public static extern SDL_JoystickType SDL_GetJoystickType(SDL_Joystick* joystick);
[DllImport(libSDL3)]
public static extern int SDL_GetJoystickGUIDString([NativeTypeName("SDL_JoystickGUID")] SDL_GUID guid, [NativeTypeName("char *")] sbyte* pszGUID, int cbGUID);
[DllImport(libSDL3)]
[return: NativeTypeName("SDL_JoystickGUID")]
public static extern SDL_GUID SDL_GetJoystickGUIDFromString([NativeTypeName("const char *")] sbyte* pchGUID);
[DllImport(libSDL3)]
public static extern void SDL_GetJoystickGUIDInfo([NativeTypeName("SDL_JoystickGUID")] SDL_GUID guid, [NativeTypeName("Uint16 *")] ushort* vendor, [NativeTypeName("Uint16 *")] ushort* product, [NativeTypeName("Uint16 *")] ushort* version, [NativeTypeName("Uint16 *")] ushort* crc16);
[DllImport(libSDL3)]
public static extern int SDL_JoystickConnected(SDL_Joystick* joystick);
[DllImport(libSDL3)]
[return: NativeTypeName("SDL_JoystickID")]
public static extern uint SDL_GetJoystickInstanceID(SDL_Joystick* joystick);
[DllImport(libSDL3)]
public static extern int SDL_GetNumJoystickAxes(SDL_Joystick* joystick);
[DllImport(libSDL3)]
public static extern int SDL_GetNumJoystickHats(SDL_Joystick* joystick);
[DllImport(libSDL3)]
public static extern int SDL_GetNumJoystickButtons(SDL_Joystick* joystick);
[DllImport(libSDL3)]
public static extern void SDL_SetJoystickEventsEnabled(int enabled);
[DllImport(libSDL3)]
public static extern int SDL_JoystickEventsEnabled();
[DllImport(libSDL3)]
public static extern void SDL_UpdateJoysticks();
[DllImport(libSDL3)]
[return: NativeTypeName("Sint16")]
public static extern short SDL_GetJoystickAxis(SDL_Joystick* joystick, int axis);
[DllImport(libSDL3)]
public static extern int SDL_GetJoystickAxisInitialState(SDL_Joystick* joystick, int axis, [NativeTypeName("Sint16 *")] short* state);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint8")]
public static extern byte SDL_GetJoystickHat(SDL_Joystick* joystick, int hat);
[DllImport(libSDL3)]
[return: NativeTypeName("Uint8")]
public static extern byte SDL_GetJoystickButton(SDL_Joystick* joystick, int button);
[DllImport(libSDL3)]
public static extern int SDL_RumbleJoystick(SDL_Joystick* joystick, [NativeTypeName("Uint16")] ushort low_frequency_rumble, [NativeTypeName("Uint16")] ushort high_frequency_rumble, [NativeTypeName("Uint32")] uint duration_ms);
[DllImport(libSDL3)]
public static extern int SDL_RumbleJoystickTriggers(SDL_Joystick* joystick, [NativeTypeName("Uint16")] ushort left_rumble, [NativeTypeName("Uint16")] ushort right_rumble, [NativeTypeName("Uint32")] uint duration_ms);
[DllImport(libSDL3)]
public static extern int SDL_JoystickHasLED(SDL_Joystick* joystick);
[DllImport(libSDL3)]
public static extern int SDL_JoystickHasRumble(SDL_Joystick* joystick);
[DllImport(libSDL3)]
public static extern int SDL_JoystickHasRumbleTriggers(SDL_Joystick* joystick);
[DllImport(libSDL3)]
public static extern int SDL_SetJoystickLED(SDL_Joystick* joystick, [NativeTypeName("Uint8")] byte red, [NativeTypeName("Uint8")] byte green, [NativeTypeName("Uint8")] byte blue);
[DllImport(libSDL3)]
public static extern int SDL_SendJoystickEffect(SDL_Joystick* joystick, [NativeTypeName("const void *")] void* data, int size);
[DllImport(libSDL3)]
public static extern void SDL_CloseJoystick(SDL_Joystick* joystick);
[DllImport(libSDL3)]
public static extern SDL_JoystickPowerLevel SDL_GetJoystickPowerLevel(SDL_Joystick* joystick);
[DllImport(libSDL3)]
public static extern SDL_Window* SDL_GetKeyboardFocus();
[DllImport(libSDL3)]
[return: NativeTypeName("const Uint8 *")]
public static extern byte* SDL_GetKeyboardState(int* numkeys);
[DllImport(libSDL3)]
public static extern void SDL_ResetKeyboard();
[DllImport(libSDL3)]
public static extern SDL_Keymod SDL_GetModState();
[DllImport(libSDL3)]
public static extern void SDL_SetModState(SDL_Keymod modstate);
[DllImport(libSDL3)]
[return: NativeTypeName("SDL_Keycode")]
public static extern int SDL_GetKeyFromScancode(SDL_Scancode scancode);
[DllImport(libSDL3)]
public static extern SDL_Scancode SDL_GetScancodeFromKey([NativeTypeName("SDL_Keycode")] int key);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetScancodeName(SDL_Scancode scancode);
[DllImport(libSDL3)]
public static extern SDL_Scancode SDL_GetScancodeFromName([NativeTypeName("const char *")] sbyte* name);
[DllImport(libSDL3)]
[return: NativeTypeName("const char *")]
public static extern sbyte* SDL_GetKeyName([NativeTypeName("SDL_Keycode")] int key);
[DllImport(libSDL3)]
[return: NativeTypeName("SDL_Keycode")]
public static extern int SDL_GetKeyFromName([NativeTypeName("const char *")] sbyte* name);
[DllImport(libSDL3)]
public static extern void SDL_StartTextInput();
[DllImport(libSDL3)]
public static extern int SDL_TextInputActive();
[DllImport(libSDL3)]
public static extern void SDL_StopTextInput();
[DllImport(libSDL3)]
public static extern void SDL_ClearComposition();
[DllImport(libSDL3)]
public static extern int SDL_TextInputShown();
[DllImport(libSDL3)]
public static extern int SDL_SetTextInputRect([NativeTypeName("const SDL_Rect *")] SDL_Rect* rect);
[DllImport(libSDL3)]
public static extern int SDL_HasScreenKeyboardSupport();
[DllImport(libSDL3)]
public static extern int SDL_ScreenKeyboardShown(SDL_Window* window);
[DllImport(libSDL3)]
public static extern void* SDL_LoadObject([NativeTypeName("const char *")] sbyte* sofile);
[DllImport(libSDL3)]
[return: NativeTypeName("SDL_FunctionPointer")]
public static extern nint SDL_LoadFunction(void* handle, [NativeTypeName("const char *")] sbyte* name);
[DllImport(libSDL3)]
public static extern void SDL_UnloadObject(void* handle);
[DllImport(libSDL3)]
public static extern SDL_Locale* SDL_GetPreferredLocales();
[DllImport(libSDL3)]
public static extern void SDL_LogSetAllPriority(SDL_LogPriority priority);
[DllImport(libSDL3)]