changeset 9311 | 5baf10a52f43 |
parent 9224 | bce8cf41d666 |
child 9317 | a04c30940d2d |
9309:7e8f91634f80 | 9311:5baf10a52f43 |
---|---|
87 ///////////////////////////////////////////////////////////////// |
87 ///////////////////////////////////////////////////////////////// |
88 ///////////////////// CONSTANT DEFINITIONS ///////////////////// |
88 ///////////////////// CONSTANT DEFINITIONS ///////////////////// |
89 ///////////////////////////////////////////////////////////////// |
89 ///////////////////////////////////////////////////////////////// |
90 |
90 |
91 // SDL_Init() flags |
91 // SDL_Init() flags |
92 SDL_INIT_TIMER = $00000001; |
92 SDL_INIT_TIMER = $00000001; |
93 SDL_INIT_AUDIO = $00000010; |
93 SDL_INIT_AUDIO = $00000010; |
94 SDL_INIT_VIDEO = $00000020; |
94 SDL_INIT_VIDEO = $00000020; |
95 SDL_INIT_JOYSTICK = $00000200; |
95 SDL_INIT_JOYSTICK = $00000200; |
96 {$IFDEF SDL13} |
96 {$IFDEF SDL13} |
97 SDL_INIT_HAPTIC = $00001000; |
97 SDL_INIT_HAPTIC = $00001000; |
98 {$ELSE} |
98 SDL_INIT_GAMECONTROLLER = $00002000; // implicitly activates JOYSTICK */ |
99 SDL_INIT_CDROM = $00000100; |
99 {$ELSE} |
100 SDL_INIT_EVENTTHREAD = $01000000; |
100 SDL_INIT_CDROM = $00000100; |
101 {$ENDIF} |
101 SDL_INIT_EVENTTHREAD = $01000000; |
102 SDL_INIT_NOPARACHUTE = $00100000; |
102 {$ENDIF} |
103 SDL_INIT_EVERYTHING = $0000FFFF; |
103 SDL_INIT_NOPARACHUTE = $00100000; |
104 |
104 //SDL_INIT_EVERYTHING // unsafe, init subsystems one at a time |
105 SDL_ALLEVENTS = $FFFFFFFF; |
105 |
106 SDL_ALLEVENTS = $FFFFFFFF; // dummy event type to prevent stack corruption |
|
106 SDL_APPINPUTFOCUS = $02; |
107 SDL_APPINPUTFOCUS = $02; |
107 |
108 |
108 SDL_BUTTON_LEFT = 1; |
109 SDL_BUTTON_LEFT = 1; |
109 SDL_BUTTON_MIDDLE = 2; |
110 SDL_BUTTON_MIDDLE = 2; |
110 SDL_BUTTON_RIGHT = 3; |
111 SDL_BUTTON_RIGHT = 3; |
111 SDL_BUTTON_WHEELUP = 4; |
112 SDL_BUTTON_WHEELUP = 4; |
112 SDL_BUTTON_WHEELDOWN = 5; |
113 SDL_BUTTON_WHEELDOWN = 5; |
113 |
114 |
115 |
|
114 {$IFDEF SDL13} |
116 {$IFDEF SDL13} |
115 // SDL_Event types |
117 // SDL_Event types |
116 SDL_FIRSTEVENT = 0; |
118 // pascal does not support unions as is, so we list here every possible event |
119 // and later associate a struct type each |
|
120 SDL_FIRSTEVENT = 0; // type |
|
121 SDL_COMMONDEVENT = 1; // type and timestamp |
|
117 SDL_QUITEV = $100; |
122 SDL_QUITEV = $100; |
123 SDL_APP_TERMINATING = $101; |
|
124 SDL_APP_LOWMEMORY = $102; |
|
125 SDL_APP_WILLENTERBACKGROUND = $103; |
|
126 SDL_APP_DIDENTERBACKGROUND = $104; |
|
127 SDL_APP_WILLENTERFOREGROUND = $105; |
|
128 SDL_APP_DIDENTERFOREGROUND = $106; |
|
118 SDL_WINDOWEVENT = $200; |
129 SDL_WINDOWEVENT = $200; |
119 SDL_SYSWMEVENT = $201; |
130 SDL_SYSWMEVENT = $201; |
120 SDL_KEYDOWN = $300; |
131 SDL_KEYDOWN = $300; |
121 SDL_KEYUP = $301; |
132 SDL_KEYUP = $301; |
122 SDL_TEXTEDITING = $302; |
133 SDL_TEXTEDITING = $302; |
123 SDL_TEXTINPUT = $303; |
134 SDL_TEXTINPUT = $303; |
124 SDL_MOUSEMOTION = $400; |
135 SDL_MOUSEMOTION = $400; |
125 SDL_MOUSEBUTTONDOWN = $401; |
136 SDL_MOUSEBUTTONDOWN = $401; |
126 SDL_MOUSEBUTTONUP = $402; |
137 SDL_MOUSEBUTTONUP = $402; |
127 SDL_MOUSEWHEEL = $403; |
138 SDL_MOUSEWHEEL = $403; |
128 SDL_INPUTMOTION = $500; |
|
129 SDL_INPUTBUTTONDOWN = $501; |
|
130 SDL_INPUTBUTTONUP = $502; |
|
131 SDL_INPUTWHEEL = $503; |
|
132 SDL_INPUTPROXIMITYIN = $504; |
|
133 SDL_INPUTPROXIMITYOUT = $505; |
|
134 SDL_JOYAXISMOTION = $600; |
139 SDL_JOYAXISMOTION = $600; |
135 SDL_JOYBALLMOTION = $601; |
140 SDL_JOYBALLMOTION = $601; |
136 SDL_JOYHATMOTION = $602; |
141 SDL_JOYHATMOTION = $602; |
137 SDL_JOYBUTTONDOWN = $603; |
142 SDL_JOYBUTTONDOWN = $603; |
138 SDL_JOYBUTTONUP = $604; |
143 SDL_JOYBUTTONUP = $604; |
144 SDL_JOYDEVICEADDED = $605; |
|
145 SDL_JOYDEVICEREMOVED = $606; |
|
146 SDL_CONTROLLERAXISMOTION = $650; |
|
147 SDL_CONTROLLERBUTTONDOWN = $651; |
|
148 SDL_CONTROLLERBUTTONUP = $652; |
|
149 SDL_CONTROLLERDEVICEADDED = $653; |
|
150 SDL_CONTROLLERDEVICEREMOVED = $654; |
|
151 SDL_CONTROLLERDEVICEREMAPPED = $655; |
|
139 SDL_FINGERDOWN = $700; |
152 SDL_FINGERDOWN = $700; |
140 SDL_FINGERUP = $701; |
153 SDL_FINGERUP = $701; |
141 SDL_FINGERMOTION = $702; |
154 SDL_FINGERMOTION = $702; |
142 SDL_TOUCHBUTTONDOWN = $703; |
|
143 SDL_TOUCHBUTTONUP = $704; |
|
144 SDL_DOLLARGESTURE = $800; |
155 SDL_DOLLARGESTURE = $800; |
145 SDL_DOLLARRECORD = $801; |
156 SDL_DOLLARRECORD = $801; |
146 SDL_MULTIGESTURE = $802; |
157 SDL_MULTIGESTURE = $802; |
147 SDL_CLIPBOARDUPDATE = $900; |
158 SDL_CLIPBOARDUPDATE = $900; |
148 SDL_DROPFILE = $1000; |
159 SDL_DROPFILE = $1000; |
149 SDL_USEREVENT = $8000; |
160 SDL_USEREVENT = $8000; |
150 SDL_LASTEVENT = $FFFF; |
161 SDL_LASTEVENT = $FFFF; |
151 // no compatibility events $7000 |
|
152 |
162 |
153 // SDL_Surface flags |
163 // SDL_Surface flags |
154 SDL_SWSURFACE = $00000000; //*< Not used */ |
164 SDL_SWSURFACE = $00000000; //*< Not used */ |
155 SDL_PREALLOC = $00000001; //*< Surface uses preallocated memory */ |
165 SDL_PREALLOC = $00000001; //*< Surface uses preallocated memory */ |
156 SDL_RLEACCEL = $00000002; //*< Surface is RLE encoded */ |
166 SDL_RLEACCEL = $00000002; //*< Surface is RLE encoded */ |
157 SDL_DONTFREE = $00000004; //*< Surface is referenced internally */ |
167 SDL_DONTFREE = $00000004; //*< Surface is referenced internally */ |
158 SDL_SRCALPHA = $00010000; |
168 SDL_SRCCOLORKEY = $00020000; // compatibility only |
159 SDL_SRCCOLORKEY = $00020000; |
169 |
160 SDL_ANYFORMAT = $00100000; |
170 // SDL_RendererFlags |
161 SDL_HWPALETTE = $00200000; |
|
162 SDL_DOUBLEBUF = $00400000; |
|
163 SDL_FULLSCREEN = $00800000; |
|
164 SDL_RESIZABLE = $01000000; |
|
165 SDL_NOFRAME = $02000000; |
|
166 SDL_OPENGL = $04000000; |
|
167 SDL_HWSURFACE = $08000001; //*< Not used */ |
|
168 SDL_ASYNCBLIT = $08000000; //*< Not used */ |
|
169 SDL_RLEACCELOK = $08000000; //*< Not used */ |
|
170 SDL_HWACCEL = $08000000; //*< Not used */ |
|
171 |
|
172 // SDL_Renderer flags |
|
173 SDL_RENDERER_SOFTWARE = $00000001; //*< The renderer is a software fallback */ |
171 SDL_RENDERER_SOFTWARE = $00000001; //*< The renderer is a software fallback */ |
174 SDL_RENDERER_ACCELERATED = $00000002; //*< The renderer uses hardware acceleration */ |
172 SDL_RENDERER_ACCELERATED = $00000002; //*< The renderer uses hardware acceleration */ |
175 SDL_RENDERER_PRESENTVSYNC = $00000004; |
173 SDL_RENDERER_PRESENTVSYNC = $00000004; //*< Present is synchronized with the refresh rate */ |
176 |
174 SDL_RENDERER_TARGETTEXTURE = $00000008; //*< The renderer supports rendering to texture */ |
177 // SDL_WindowFlags (enum) |
175 |
176 // SDL_WindowFlags |
|
178 SDL_WINDOW_FULLSCREEN = $00000001; //*< fullscreen window, implies borderless */ |
177 SDL_WINDOW_FULLSCREEN = $00000001; //*< fullscreen window, implies borderless */ |
179 SDL_WINDOW_OPENGL = $00000002; //*< window usable with OpenGL context */ |
178 SDL_WINDOW_OPENGL = $00000002; //*< window usable with OpenGL context */ |
180 SDL_WINDOW_SHOWN = $00000004; //*< window is visible */ |
179 SDL_WINDOW_SHOWN = $00000004; //*< window is visible */ |
181 SDL_WINDOW_HIDDEN = $00000008; //*< window is not visible */ |
180 SDL_WINDOW_HIDDEN = $00000008; //*< window is not visible */ |
182 SDL_WINDOW_BORDERLESS = $00000010; //*< no window decoration */ |
181 SDL_WINDOW_BORDERLESS = $00000010; //*< no window decoration */ |
184 SDL_WINDOW_MINIMIZED = $00000040; //*< window is minimized */ |
183 SDL_WINDOW_MINIMIZED = $00000040; //*< window is minimized */ |
185 SDL_WINDOW_MAXIMIZED = $00000080; //*< window is maximized */ |
184 SDL_WINDOW_MAXIMIZED = $00000080; //*< window is maximized */ |
186 SDL_WINDOW_INPUT_GRABBED = $00000100; //*< window has grabbed input focus */ |
185 SDL_WINDOW_INPUT_GRABBED = $00000100; //*< window has grabbed input focus */ |
187 SDL_WINDOW_INPUT_FOCUS = $00000200; //*< window has input focus */ |
186 SDL_WINDOW_INPUT_FOCUS = $00000200; //*< window has input focus */ |
188 SDL_WINDOW_MOUSE_FOCUS = $00000400; //*< window has mouse focus */ |
187 SDL_WINDOW_MOUSE_FOCUS = $00000400; //*< window has mouse focus */ |
188 SDL_WINDOW_FULLSCREEN_DESKTOP = $00001001; //*< fullscreen as maximed window */ |
|
189 SDL_WINDOW_FOREIGN = $00000800; //*< window not created by SDL */ |
189 SDL_WINDOW_FOREIGN = $00000800; //*< window not created by SDL */ |
190 |
190 |
191 SDL_WINDOWPOS_CENTERED_MASK = $2FFF0000; |
191 SDL_WINDOWPOS_CENTERED_MASK = $2FFF0000; |
192 |
192 |
193 // SDL_WindowEventID (enum) |
193 // SDL_WindowEventID |
194 SDL_WINDOWEVENT_NONE = 0; //*< Never used |
194 SDL_WINDOWEVENT_NONE = 0; //*< Never used |
195 SDL_WINDOWEVENT_SHOWN = 1; //*< Window has been shown |
195 SDL_WINDOWEVENT_SHOWN = 1; //*< Window has been shown |
196 SDL_WINDOWEVENT_HIDDEN = 2; //*< Window has been hidden |
196 SDL_WINDOWEVENT_HIDDEN = 2; //*< Window has been hidden |
197 SDL_WINDOWEVENT_EXPOSED = 3; //*< Window has been exposed and should be redrawn |
197 SDL_WINDOWEVENT_EXPOSED = 3; //*< Window has been exposed and should be redrawn |
198 SDL_WINDOWEVENT_MOVED = 4; //*< Window has been moved to data1, data2 |
198 SDL_WINDOWEVENT_MOVED = 4; //*< Window has been moved to data1, data2 |
334 PSDL_GLContext= Pointer; |
334 PSDL_GLContext= Pointer; |
335 TSDL_FingerId = Int64; |
335 TSDL_FingerId = Int64; |
336 TSDL_TouchId = Int64; |
336 TSDL_TouchId = Int64; |
337 {$ENDIF} |
337 {$ENDIF} |
338 |
338 |
339 TSDL_eventaction = (SDL_ADDEVENT, SDL_PEEPEVENT, SDL_GETEVENT); |
|
340 |
|
339 PSDL_Rect = ^TSDL_Rect; |
341 PSDL_Rect = ^TSDL_Rect; |
340 TSDL_Rect = record |
342 TSDL_Rect = record |
341 {$IFDEF SDL13} |
343 {$IFDEF SDL13} |
342 x, y, w, h: LongInt; |
344 x, y, w, h: LongInt; |
343 {$ELSE} |
345 {$ELSE} |
345 w, h: Word; |
347 w, h: Word; |
346 {$ENDIF} |
348 {$ENDIF} |
347 end; |
349 end; |
348 |
350 |
349 TPoint = record |
351 TPoint = record |
350 X, Y: LongInt; |
352 x, y: LongInt; |
351 end; |
353 end; |
352 |
354 |
353 PSDL_PixelFormat = ^TSDL_PixelFormat; |
355 PSDL_PixelFormat = ^TSDL_PixelFormat; |
354 TSDL_PixelFormat = record |
356 TSDL_PixelFormat = record |
355 {$IFDEF SDL13} |
357 {$IFDEF SDL13} |
391 colorkey: LongWord; |
393 colorkey: LongWord; |
392 alpha: Byte; |
394 alpha: Byte; |
393 {$ENDIF} |
395 {$ENDIF} |
394 end; |
396 end; |
395 |
397 |
396 TSDL_eventaction = (SDL_ADDEVENT, SDL_PEEPEVENT, SDL_GETEVENT); |
|
397 |
|
398 PSDL_Surface = ^TSDL_Surface; |
398 PSDL_Surface = ^TSDL_Surface; |
399 TSDL_Surface = record |
399 TSDL_Surface = record |
400 flags : LongWord; |
400 flags : LongWord; |
401 format: PSDL_PixelFormat; |
401 format: PSDL_PixelFormat; |
402 w, h : LongInt; |
402 w, h : LongInt; |
403 pitch : {$IFDEF SDL13}LongInt{$ELSE}Word{$ENDIF}; |
403 pitch : {$IFDEF SDL13}LongInt{$ELSE}Word{$ENDIF}; |
404 pixels: Pointer; |
404 pixels: Pointer; |
405 offset: LongInt; |
|
406 {$IFDEF SDL13} |
405 {$IFDEF SDL13} |
407 userdata: Pointer; |
406 userdata: Pointer; |
408 locked: LongInt; |
407 locked: LongInt; |
409 lock_data: Pointer; |
408 lock_data: Pointer; |
410 clip_rect: TSDL_Rect; |
409 clip_rect: TSDL_Rect; |
411 map: Pointer; |
410 map: Pointer; |
412 refcount: LongInt; |
411 refcount: LongInt; |
412 {$ELSE} |
|
413 offset: LongInt; |
|
413 {$ENDIF} |
414 {$ENDIF} |
414 end; |
415 end; |
415 |
416 |
416 |
417 |
417 PSDL_Color = ^TSDL_Color; |
418 PSDL_Color = ^TSDL_Color; |
418 TSDL_Color = record |
419 TSDL_Color = record |
419 r: Byte; |
420 r: Byte; |
420 g: Byte; |
421 g: Byte; |
421 b: Byte; |
422 b: Byte; |
422 unused: Byte; |
423 a: Byte; //sdl12 name is 'unused' but as long as size matches... |
423 end; |
424 end; |
424 |
425 |
425 |
426 |
427 (* SDL_RWops and friends *) |
|
426 PSDL_RWops = ^TSDL_RWops; |
428 PSDL_RWops = ^TSDL_RWops; |
427 TSeek = function( context: PSDL_RWops; offset: LongInt; whence: LongInt ): LongInt; cdecl; |
429 TSeek = function( context: PSDL_RWops; offset: LongInt; whence: LongInt ): LongInt; cdecl; |
428 TRead = function( context: PSDL_RWops; Ptr: Pointer; size: LongInt; maxnum : LongInt ): LongInt; cdecl; |
430 TRead = function( context: PSDL_RWops; Ptr: Pointer; size: LongInt; maxnum : LongInt ): LongInt; cdecl; |
429 TWrite = function( context: PSDL_RWops; Ptr: Pointer; size: LongInt; num: LongInt ): LongInt; cdecl; |
431 TWrite = function( context: PSDL_RWops; Ptr: Pointer; size: LongInt; num: LongInt ): LongInt; cdecl; |
430 TClose = function( context: PSDL_RWops ): LongInt; cdecl; |
432 TClose = function( context: PSDL_RWops ): LongInt; cdecl; |
440 stop: PByte; |
442 stop: PByte; |
441 end; |
443 end; |
442 |
444 |
443 TUnknown = record |
445 TUnknown = record |
444 data1: Pointer; |
446 data1: Pointer; |
445 end; |
447 {$IFDEF SDL13} |
448 data2: Pointer; |
|
449 {$ENDIF} |
|
450 end; |
|
451 |
|
452 {$IFDEF ANDROID} |
|
453 TAndroidio = record |
|
454 fileName, inputStream, readableByteChannel, readMethod, assetFileDescriptor : Pointer; |
|
455 position, size, offset: Int64; |
|
456 fd: LongInt; |
|
457 end; |
|
458 {$ELSE} |
|
459 {$IFDEF WIN32} |
|
460 TWinbuffer = record |
|
461 data = pointer; |
|
462 size, left : LongInt; |
|
463 end; |
|
464 TWindowsio = record |
|
465 append = {$IFDEF SDL13}Boolean{$ELSE}LongInt{$ENDIF}; |
|
466 h = pointer; |
|
467 buffer = TWinbuffer; |
|
468 end; |
|
469 {$ENDIF} |
|
470 {$ENDIF} |
|
446 |
471 |
447 TSDL_RWops = record |
472 TSDL_RWops = record |
448 seek: TSeek; |
473 seek: TSeek; |
449 read: TRead; |
474 read: TRead; |
450 write: TWrite; |
475 write: TWrite; |
451 close: TClose; |
476 close: TClose; |
452 type_: LongWord; |
477 type_: LongWord; |
453 case Byte of |
478 case Byte of |
454 0: (stdio: TStdio); |
479 {$IFDEF ANDROID} |
455 1: (mem: TMem); |
480 0: (androidio: TAndroidio); |
456 2: (unknown: TUnknown); |
481 {$ELSE} |
482 {$IFDEF WIN32} |
|
483 0: (windowsio: TWindowsio); |
|
484 {$ENDIF} |
|
485 {$ENDIF} |
|
486 1: (stdio: TStdio); // assumes HAVE_STDIO_H |
|
487 2: (mem: TMem); |
|
488 3: (unknown: TUnknown); |
|
457 end; |
489 end; |
458 |
490 |
459 |
491 |
460 {* SDL_Event type definition *} |
492 {* SDL_Event type definition *} |
461 |
493 |
462 {$IFDEF SDL13} |
494 {$IFDEF SDL13} |
463 TSDL_KeySym = record |
495 TSDL_Keysym = record |
464 scancode: LongInt; |
496 scancode: LongInt; |
465 sym: LongWord; |
497 sym: LongInt; |
466 modifier: Word; |
498 modifier: Word; |
467 unicode: LongWord; |
499 unused: LongWord; |
468 end; |
500 end; |
469 |
501 |
470 TSDL_WindowEvent = record |
502 TSDL_WindowEvent = record |
471 type_: LongWord; |
503 type_: LongWord; |
472 timestamp: LongWord; |
504 timestamp: LongWord; |
494 end; |
526 end; |
495 |
527 |
496 TSDL_TouchFingerEvent = record |
528 TSDL_TouchFingerEvent = record |
497 type_: LongWord; |
529 type_: LongWord; |
498 timestamp: LongWord; |
530 timestamp: LongWord; |
499 windowId: LongWord; |
|
500 touchId: TSDL_TouchId; |
531 touchId: TSDL_TouchId; |
501 fingerId: TSDL_FingerId; |
532 fingerId: TSDL_FingerId; |
502 state, padding1, padding2, padding3: Byte; |
533 x, y, dx, dy: Single; |
503 x, y: Word; |
534 pressure: Single; |
504 dx, dy: SmallInt; |
|
505 pressure: Word; |
|
506 end; |
|
507 |
|
508 TSDL_TouchButtonEvent = record |
|
509 type_: LongWord; |
|
510 timestamp: LongWord; |
|
511 windowId: LongWord; |
|
512 touchId: TSDL_TouchId; |
|
513 state, button, padding1, padding2: Byte; |
|
514 end; |
535 end; |
515 |
536 |
516 TSDL_MultiGestureEvent = record |
537 TSDL_MultiGestureEvent = record |
517 type_: LongWord; |
538 type_: LongWord; |
518 timestamp: LongWord; |
539 timestamp: LongWord; |
519 windowId: LongWord; |
|
520 touchId: TSDL_TouchId; |
540 touchId: TSDL_TouchId; |
521 dTheta, dDist, x, y: Single; |
541 dTheta, dDist, x, y: Single; |
522 numFingers, padding: Word; |
542 numFingers, padding: Word; |
523 end; |
543 end; |
524 |
544 |
525 TSDL_DollarGestureEvent = record |
545 TSDL_DollarGestureEvent = record |
526 type_: LongWord; |
546 type_: LongWord; |
527 timestamp: LongWord; |
547 timestamp: LongWord; |
528 windowId: LongWord; |
|
529 touchId: Int64; |
548 touchId: Int64; |
530 gesturedId: Int64; |
549 gesturedId: Int64; |
531 numFingers: LongWord; |
550 numFingers: LongWord; |
532 error: Single; |
551 error, x, y: Single; |
533 end; |
552 end; |
534 |
553 |
535 TSDL_DropEvent = record |
554 TSDL_DropEvent = record |
536 type_: LongWord; |
555 type_: LongWord; |
537 timestamp: LongWord; |
556 timestamp: LongWord; |
541 TSDL_SysWMEvent = record |
560 TSDL_SysWMEvent = record |
542 type_: LongWord; |
561 type_: LongWord; |
543 timestamp: LongWord; |
562 timestamp: LongWord; |
544 msg: Pointer; |
563 msg: Pointer; |
545 end; |
564 end; |
565 |
|
566 TSDL_ControllerAxisEvent = record |
|
567 type_: LongWord; |
|
568 timestamp: LongWord; |
|
569 which: LongInt; |
|
570 axis, padding1, padding2, padding3: Byte; |
|
571 value: SmallInt; |
|
572 padding4: Word; |
|
573 end; |
|
574 |
|
575 TSDL_ControllerButtonEvent = record |
|
576 type_: LongWord; |
|
577 timestamp: LongWord; |
|
578 which: LongInt; |
|
579 button, states, padding1, padding2: Byte; |
|
580 end; |
|
581 |
|
582 TSDL_ControllerDeviceEvent = record |
|
583 type_: LongWord; |
|
584 timestamp: LongWord; |
|
585 which: SmallInt; |
|
586 end; |
|
587 |
|
588 TSDL_JoyDeviceEvent = TSDL_ControllerDeviceEvent; |
|
589 |
|
590 TSDL_CommonEvent = record |
|
591 type_: LongWord; |
|
592 timestamp: LongWord; |
|
593 end; |
|
594 |
|
595 TSDL_OSEvent = TSDL_CommonEvent; |
|
546 {$ELSE} |
596 {$ELSE} |
547 TSDL_KeySym = record |
597 TSDL_KeySym = record |
548 scancode: Byte; |
598 scancode: Byte; |
549 sym: LongWord; |
599 sym: LongWord; |
550 modifier: LongWord; |
600 modifier: LongWord; |
564 {$ENDIF} |
614 {$ENDIF} |
565 |
615 |
566 TSDL_KeyboardEvent = record |
616 TSDL_KeyboardEvent = record |
567 {$IFDEF SDL13} |
617 {$IFDEF SDL13} |
568 type_: LongWord; |
618 type_: LongWord; |
569 // timestamp: LongWord; |
619 timestamp: LongWord; |
570 windowID: LongWord; |
620 windowID: LongWord; |
571 state, repeat_ {*,padding2, padding3*}: Byte; |
621 state, repeat_, padding2, padding3: Byte; |
572 {$ELSE} |
622 {$ELSE} |
573 type_, which, state: Byte; |
623 type_, which, state: Byte; |
574 {$ENDIF} |
624 {$ENDIF} |
575 keysym: TSDL_KeySym; |
625 keysym: TSDL_Keysym; |
576 end; |
626 end; |
577 |
627 |
578 TSDL_MouseMotionEvent = record |
628 TSDL_MouseMotionEvent = record |
579 {$IFDEF SDL13} |
629 {$IFDEF SDL13} |
580 type_: LongWord; |
630 type_: LongWord; |
581 timestamp: LongWord; |
631 timestamp: LongWord; |
582 windowID: LongWord; |
632 windowID: LongWord; |
583 state, padding1, padding2, padding3: Byte; |
633 which, state: LongWord; |
584 x, y, z, xrel, yrel : LongInt; |
634 x, y, xrel, yrel: LongInt; |
585 {$ELSE} |
635 {$ELSE} |
586 type_, which, state: Byte; |
636 type_, which, state: Byte; |
587 x, y, xrel, yrel : Word; |
637 x, y, xrel, yrel: Word; |
588 {$ENDIF} |
638 {$ENDIF} |
589 end; |
639 end; |
590 |
640 |
591 TSDL_MouseButtonEvent = record |
641 TSDL_MouseButtonEvent = record |
592 {$IFDEF SDL13} |
642 {$IFDEF SDL13} |
593 type_: LongWord; |
643 type_: LongWord; |
594 timestamp: LongWord; |
644 timestamp: LongWord; |
595 windowID: LongWord; |
645 windowID: LongWord; |
646 which: LongWord; |
|
596 button, state, padding1, padding2: Byte; |
647 button, state, padding1, padding2: Byte; |
597 x, y: LongInt; |
648 x, y: LongInt; |
598 {$ELSE} |
649 {$ELSE} |
599 type_, which, button, state: Byte; |
650 type_, which, button, state: Byte; |
600 x, y: Word; |
651 x, y: Word; |
604 TSDL_MouseWheelEvent = record |
655 TSDL_MouseWheelEvent = record |
605 type_: LongWord; |
656 type_: LongWord; |
606 {$IFDEF SDL13} |
657 {$IFDEF SDL13} |
607 timestamp: LongWord; |
658 timestamp: LongWord; |
608 windowID: LongWord; |
659 windowID: LongWord; |
660 which: LongWord; |
|
609 {$ELSE} |
661 {$ELSE} |
610 which: Byte; |
662 which: Byte; |
611 {$ENDIF} |
663 {$ENDIF} |
612 x, y: LongInt; |
664 x, y: LongInt; |
613 end; |
665 end; |
614 |
666 |
615 TSDL_JoyAxisEvent = record |
667 TSDL_JoyAxisEvent = record |
616 {$IFDEF SDL13} |
668 {$IFDEF SDL13} |
617 type_: LongWord; |
669 type_: LongWord; |
618 timestamp: LongWord; |
670 timestamp: LongWord; |
671 which: LongWord; |
|
619 {$ELSE} |
672 {$ELSE} |
620 type_: Byte; |
673 type_: Byte; |
621 {$ENDIF} |
|
622 which: Byte; |
674 which: Byte; |
675 {$ENDIF} |
|
623 axis: Byte; |
676 axis: Byte; |
624 {$IFDEF SDL13} |
677 {$IFDEF SDL13} |
625 padding1, padding2: Byte; |
678 padding1, padding2, padding3: Byte; |
626 value: LongInt; |
679 value: LongInt; |
680 padding4: Word; |
|
627 {$ELSE} |
681 {$ELSE} |
628 value: SmallInt; |
682 value: SmallInt; |
629 {$ENDIF} |
683 {$ENDIF} |
630 end; |
684 end; |
631 |
685 |
632 TSDL_JoyBallEvent = record |
686 TSDL_JoyBallEvent = record |
633 {$IFDEF SDL13} |
687 {$IFDEF SDL13} |
634 type_: LongWord; |
688 type_: LongWord; |
635 timestamp: LongWord; |
689 timestamp: LongWord; |
690 which: LongWord; |
|
636 {$ELSE} |
691 {$ELSE} |
637 type_: Byte; |
692 type_: Byte; |
638 {$ENDIF} |
|
639 which: Byte; |
693 which: Byte; |
694 {$ENDIF} |
|
640 ball: Byte; |
695 ball: Byte; |
641 {$IFDEF SDL13} |
696 {$IFDEF SDL13} |
642 padding1, padding2: Byte; |
697 padding1, padding2, padding3: Byte; |
643 xrel, yrel: LongInt; |
698 {$ENDIF} |
644 {$ELSE} |
|
645 xrel, yrel: SmallInt; |
699 xrel, yrel: SmallInt; |
646 {$ENDIF} |
|
647 end; |
700 end; |
648 |
701 |
649 TSDL_JoyHatEvent = record |
702 TSDL_JoyHatEvent = record |
650 {$IFDEF SDL13} |
703 {$IFDEF SDL13} |
651 type_: LongWord; |
704 type_: LongWord; |
652 timestamp: LongWord; |
705 timestamp: LongWord; |
706 which: LongWord; |
|
653 {$ELSE} |
707 {$ELSE} |
654 type_: Byte; |
708 type_: Byte; |
655 {$ENDIF} |
|
656 which: Byte; |
709 which: Byte; |
710 {$ENDIF} |
|
657 hat: Byte; |
711 hat: Byte; |
658 value: Byte; |
712 value: Byte; |
659 {$IFDEF SDL13} |
713 {$IFDEF SDL13} |
660 padding1: Byte; |
714 padding1, padding2: Byte; |
661 {$ENDIF} |
715 {$ENDIF} |
662 end; |
716 end; |
663 |
717 |
664 TSDL_JoyButtonEvent = record |
718 TSDL_JoyButtonEvent = record |
665 {$IFDEF SDL13} |
719 {$IFDEF SDL13} |
699 |
753 |
700 PSDL_Event = ^TSDL_Event; |
754 PSDL_Event = ^TSDL_Event; |
701 TSDL_Event = record |
755 TSDL_Event = record |
702 {$IFDEF SDL13} |
756 {$IFDEF SDL13} |
703 case LongInt of |
757 case LongInt of |
704 SDL_FIRSTEVENT: (type_: LongInt); |
758 SDL_FIRSTEVENT: (type_: LongWord); |
759 SDL_COMMONDEVENT: (common: TSDL_CommonEvent); |
|
705 SDL_WINDOWEVENT: (window: TSDL_WindowEvent); |
760 SDL_WINDOWEVENT: (window: TSDL_WindowEvent); |
706 SDL_KEYDOWN, |
761 SDL_KEYDOWN, |
707 SDL_KEYUP: (key: TSDL_KeyboardEvent); |
762 SDL_KEYUP: (key: TSDL_KeyboardEvent); |
708 SDL_TEXTEDITING: (edit: TSDL_TextEditingEvent); |
763 SDL_TEXTEDITING: (edit: TSDL_TextEditingEvent); |
709 SDL_TEXTINPUT: (tedit: TSDL_TextInputEvent); |
764 SDL_TEXTINPUT: (tedit: TSDL_TextInputEvent); |
714 SDL_JOYAXISMOTION: (jaxis: TSDL_JoyAxisEvent); |
769 SDL_JOYAXISMOTION: (jaxis: TSDL_JoyAxisEvent); |
715 SDL_JOYBALLMOTION: (jball: TSDL_JoyBallEvent); |
770 SDL_JOYBALLMOTION: (jball: TSDL_JoyBallEvent); |
716 SDL_JOYHATMOTION: (jhat: TSDL_JoyHatEvent); |
771 SDL_JOYHATMOTION: (jhat: TSDL_JoyHatEvent); |
717 SDL_JOYBUTTONDOWN, |
772 SDL_JOYBUTTONDOWN, |
718 SDL_JOYBUTTONUP: (jbutton: TSDL_JoyButtonEvent); |
773 SDL_JOYBUTTONUP: (jbutton: TSDL_JoyButtonEvent); |
774 SDL_JOYDEVICEADDED, |
|
775 SDL_JOYDEVICEREMOVED: (jdevice: TSDL_JoyDeviceEvent); |
|
776 SDL_CONTROLLERAXISMOTION: (caxis: TSDL_ControllerAxisEvent); |
|
777 SDL_CONTROLLERBUTTONUP, |
|
778 SDL_CONTROLLERBUTTONDOWN: (cbutton: TSDL_ControllerButtonEvent); |
|
779 SDL_CONTROLLERDEVICEADDED, |
|
780 SDL_CONTROLLERDEVICEREMAPPED, |
|
781 SDL_CONTROLLERDEVICEREMOVED: (cdevice: TSDL_ControllerDeviceEvent); |
|
719 SDL_QUITEV: (quit: TSDL_QuitEvent); |
782 SDL_QUITEV: (quit: TSDL_QuitEvent); |
720 SDL_USEREVENT: (user: TSDL_UserEvent); |
783 SDL_USEREVENT: (user: TSDL_UserEvent); |
721 SDL_SYSWMEVENT: (syswm: TSDL_SysWMEvent); |
784 SDL_SYSWMEVENT: (syswm: TSDL_SysWMEvent); |
722 SDL_FINGERDOWN, |
785 SDL_FINGERDOWN, |
723 SDL_FINGERUP, |
786 SDL_FINGERUP, |
724 SDL_FINGERMOTION: (tfinger: TSDL_TouchFingerEvent); |
787 SDL_FINGERMOTION: (tfinger: TSDL_TouchFingerEvent); |
725 SDL_TOUCHBUTTONUP, |
|
726 SDL_TOUCHBUTTONDOWN: (tbutton: TSDL_TouchButtonEvent); |
|
727 SDL_MULTIGESTURE: (mgesture: TSDL_MultiGestureEvent); |
788 SDL_MULTIGESTURE: (mgesture: TSDL_MultiGestureEvent); |
728 SDL_DOLLARGESTURE: (dgesture: TSDL_DollarGestureEvent); |
789 SDL_DOLLARGESTURE: (dgesture: TSDL_DollarGestureEvent); |
729 SDL_DROPFILE: (drop: TSDL_DropEvent); |
790 SDL_DROPFILE: (drop: TSDL_DropEvent); |
730 SDL_ALLEVENTS: (foo: shortstring); |
791 SDL_ALLEVENTS: (foo: shortstring); |
731 {$ELSE} |
792 {$ELSE} |
777 SDL_GL_MULTISAMPLESAMPLES, |
838 SDL_GL_MULTISAMPLESAMPLES, |
778 SDL_GL_ACCELERATED_VISUAL, |
839 SDL_GL_ACCELERATED_VISUAL, |
779 {$IFDEF SDL13} |
840 {$IFDEF SDL13} |
780 SDL_GL_RETAINED_BACKING, |
841 SDL_GL_RETAINED_BACKING, |
781 SDL_GL_CONTEXT_MAJOR_VERSION, |
842 SDL_GL_CONTEXT_MAJOR_VERSION, |
782 SDL_GL_CONTEXT_MINOR_VERSION |
843 SDL_GL_CONTEXT_MINOR_VERSION, |
844 SDL_GL_CONTEXT_EGL, |
|
845 SDL_GL_CONTEXT_FLAGS, |
|
846 SDL_GL_CONTEXT_PROFILE_MASK, |
|
847 SDL_GL_SHARE_WITH_CURRENT_CONTEXT |
|
783 {$ELSE} |
848 {$ELSE} |
784 SDL_GL_SWAP_CONTROL |
849 SDL_GL_SWAP_CONTROL |
785 {$ENDIF} |
850 {$ENDIF} |
786 ); |
851 ); |
787 |
852 |
795 SDL_ARRAYORDER_BGRA, |
860 SDL_ARRAYORDER_BGRA, |
796 SDL_ARRAYORDER_ABGR |
861 SDL_ARRAYORDER_ABGR |
797 ); |
862 ); |
798 {$ENDIF} |
863 {$ENDIF} |
799 |
864 |
800 // Joystick/Controller support |
865 // Joystick/Controller support |
801 PSDL_Joystick = ^TSDL_Joystick; |
866 PSDL_Joystick = ^TSDL_Joystick; |
802 TSDL_Joystick = record |
867 TSDL_Joystick = record |
803 end; |
868 end; |
804 |
869 |
805 {* SDL_TTF *} |
870 {* SDL_TTF *} |
962 procedure SDL_WaitThread(thread: PSDL_Thread; status: PLongInt); cdecl; external SDLLibName; |
1027 procedure SDL_WaitThread(thread: PSDL_Thread; status: PLongInt); cdecl; external SDLLibName; |
963 procedure SDL_KillThread(thread: PSDL_Thread); cdecl; external SDLLibName; |
1028 procedure SDL_KillThread(thread: PSDL_Thread); cdecl; external SDLLibName; |
964 |
1029 |
965 function SDL_CreateMutex: PSDL_mutex; cdecl; external SDLLibName; |
1030 function SDL_CreateMutex: PSDL_mutex; cdecl; external SDLLibName; |
966 procedure SDL_DestroyMutex(mutex: PSDL_mutex); cdecl; external SDLLibName; |
1031 procedure SDL_DestroyMutex(mutex: PSDL_mutex); cdecl; external SDLLibName; |
967 function SDL_LockMutex(mutex: PSDL_mutex): LongInt; cdecl; external SDLLibName name 'SDL_mutexP'; |
1032 function SDL_LockMutex(mutex: PSDL_mutex): LongInt; cdecl; external SDLLibName {$IFNDEF SDL13}name 'SDL_mutexP'{$ENDIF}; |
968 function SDL_UnlockMutex(mutex: PSDL_mutex): LongInt; cdecl; external SDLLibName name 'SDL_mutexV'; |
1033 function SDL_UnlockMutex(mutex: PSDL_mutex): LongInt; cdecl; external SDLLibName {$IFNDEF SDL13}name 'SDL_mutexV'{$ENDIF}; |
969 |
1034 |
970 function SDL_GL_SetAttribute(attr: TSDL_GLattr; value: LongInt): LongInt; cdecl; external SDLLibName; |
1035 function SDL_GL_SetAttribute(attr: TSDL_GLattr; value: LongInt): LongInt; cdecl; external SDLLibName; |
971 procedure SDL_GL_SwapBuffers; cdecl; external SDLLibName; |
1036 procedure SDL_GL_SwapBuffers; cdecl; external SDLLibName; |
972 |
1037 |
973 procedure SDL_LockAudio; cdecl; external SDLLibName; |
1038 procedure SDL_LockAudio; cdecl; external SDLLibName; |