105 SDL_INIT_EVENTTHREAD = $01000000; |
106 SDL_INIT_EVENTTHREAD = $01000000; |
106 {$ENDIF} |
107 {$ENDIF} |
107 SDL_INIT_NOPARACHUTE = $00100000; |
108 SDL_INIT_NOPARACHUTE = $00100000; |
108 SDL_INIT_EVERYTHING = $0000FFFF; |
109 SDL_INIT_EVERYTHING = $0000FFFF; |
109 |
110 |
|
111 SDL_ALLEVENTS = $FFFFFFFF; |
110 SDL_APPINPUTFOCUS = $02; |
112 SDL_APPINPUTFOCUS = $02; |
111 SDL_BUTTON_WHEELUP = 4; |
113 SDL_BUTTON_WHEELUP = 4; |
112 SDL_BUTTON_WHEELDOWN = 5; |
114 SDL_BUTTON_WHEELDOWN = 5; |
113 |
115 |
114 {$IFDEF SDL13} |
116 {$IFDEF SDL13} |
134 SDL_JOYAXISMOTION = $600; |
136 SDL_JOYAXISMOTION = $600; |
135 SDL_JOYBALLMOTION = $601; |
137 SDL_JOYBALLMOTION = $601; |
136 SDL_JOYHATMOTION = $602; |
138 SDL_JOYHATMOTION = $602; |
137 SDL_JOYBUTTONDOWN = $603; |
139 SDL_JOYBUTTONDOWN = $603; |
138 SDL_JOYBUTTONUP = $604; |
140 SDL_JOYBUTTONUP = $604; |
139 //TODO: implement otheer event types |
141 SDL_FINGERDOWN = $700; |
|
142 SDL_FINGERUP = $701; |
|
143 SDL_FINGERMOTION = $702; |
|
144 SDL_TOUCHBUTTONDOWN = $703; |
|
145 SDL_TOUCHBUTTONUP = $704; |
|
146 SDL_DOLLARGESTURE = $800; |
|
147 SDL_DOLLARRECORD = $801; |
|
148 SDL_MULTIGESTURE = $802; |
|
149 SDL_CLIPBOARDUPDATE = $900; |
140 SDL_USEREVENT = $8000; |
150 SDL_USEREVENT = $8000; |
141 SDL_LASTEVENT = $FFFF; |
151 SDL_LASTEVENT = $FFFF; |
|
152 // no compatibility events $7000 |
142 |
153 |
143 // SDL_Surface flags |
154 // SDL_Surface flags |
144 SDL_SWSURFACE = $00000000; //*< Not used */ |
155 SDL_SWSURFACE = $00000000; //*< Not used */ |
145 SDL_PREALLOC = $00000001; //*< Surface uses preallocated memory */ |
156 SDL_PREALLOC = $00000001; //*< Surface uses preallocated memory */ |
146 SDL_RLEACCEL = $00000002; //*< Surface is RLE encoded */ |
157 SDL_RLEACCEL = $00000002; //*< Surface is RLE encoded */ |
226 SDL_SRCALPHA = $00010000; |
237 SDL_SRCALPHA = $00010000; |
227 SDL_ANYFORMAT = $00100000; |
238 SDL_ANYFORMAT = $00100000; |
228 SDL_HWPALETTE = $20000000; |
239 SDL_HWPALETTE = $20000000; |
229 SDL_DOUBLEBUF = $40000000; |
240 SDL_DOUBLEBUF = $40000000; |
230 SDL_FULLSCREEN = $80000000; |
241 SDL_FULLSCREEN = $80000000; |
231 |
|
232 SDL_ALLEVENTS = $FFFFFFFF; |
|
233 {$ENDIF} |
242 {$ENDIF} |
234 |
243 |
235 {$IFDEF ENDIAN_LITTLE} |
244 {$IFDEF ENDIAN_LITTLE} |
236 RMask = $000000FF; |
245 RMask = $000000FF; |
237 GMask = $0000FF00; |
246 GMask = $0000FF00; |
425 sym: LongInt; |
434 sym: LongInt; |
426 modifier: Smallint; |
435 modifier: Smallint; |
427 unicode: LongInt; |
436 unicode: LongInt; |
428 end; |
437 end; |
429 |
438 |
|
439 TSDL_MouseWheelEvent = record |
|
440 type_: LongInt; |
|
441 windowID: LongInt; |
|
442 which: Byte; |
|
443 x, y: LongInt; |
|
444 end; |
|
445 |
430 TSDL_WindowEvent = record |
446 TSDL_WindowEvent = record |
431 type_: LongInt; |
447 type_: LongInt; |
432 windowID: LongInt; |
448 windowID: LongInt; |
433 event: byte; |
449 event: byte; |
434 padding1, padding2, padding3: byte; |
450 padding1, padding2, padding3: byte; |
435 data1, data2: LongInt; |
451 data1, data2: LongInt; |
|
452 end; |
|
453 |
|
454 // available in sdl12 but not exposed |
|
455 TSDL_TextEditingEvent = record |
|
456 type_: LongInt; |
|
457 windowID: LongInt; |
|
458 text: array[0..31] of Byte; |
|
459 start, lenght: LongInt; |
|
460 end; |
|
461 |
|
462 // available in sdl12 but not exposed |
|
463 TSDL_TextInputEvent = record |
|
464 type_: LongInt; |
|
465 windowID: LongInt; |
|
466 text: array[0..31] of Byte; |
|
467 end; |
|
468 |
|
469 TSDL_TouchFingerEvent = record |
|
470 type_: LongInt; |
|
471 windowId: LongInt; |
|
472 touchId: LongWord; |
|
473 fingerId: LongWord; |
|
474 state, padding1, padding2, padding3: Byte; |
|
475 x,y: Word; |
|
476 dx,dy: ShortInt; |
|
477 pressure: Word; |
|
478 end; |
|
479 |
|
480 TSDL_TouchButtonEvent = record |
|
481 type_: LongInt; |
|
482 windowId: LongInt; |
|
483 touchId: LongWord; |
|
484 state, button, padding1, padding2: Byte; |
|
485 end; |
|
486 |
|
487 TSDL_MultiGestureEvent = record |
|
488 type_: LongInt; |
|
489 windowId: LongInt; |
|
490 touchId: LongWord; |
|
491 dTheta,dDist,x,y: float; |
|
492 numFingers, padding: ShortInt; |
|
493 end; |
|
494 |
|
495 TSDL_DollarGestureEvent = record |
|
496 type_: LongInt; |
|
497 windowId: LongInt; |
|
498 touchId: LongWord; |
|
499 gesturedId: LongWord; |
|
500 numFingers: LongInt; |
|
501 error: float; |
|
502 end; |
|
503 |
|
504 TSDL_SysWMEvent = record |
|
505 type_: LongInt; |
|
506 msg: pointer; |
436 end; |
507 end; |
437 {$ELSE} |
508 {$ELSE} |
438 TSDL_KeySym = record |
509 TSDL_KeySym = record |
439 scancode: Byte; |
510 scancode: Byte; |
440 sym: Longword; |
511 sym: Longword; |
467 state: byte; |
538 state: byte; |
468 {$ENDIF} |
539 {$ENDIF} |
469 keysym: TSDL_KeySym; |
540 keysym: TSDL_KeySym; |
470 end; |
541 end; |
471 |
542 |
472 //TODO: implement SDL_TextEditingEvent + SDL_TextInputEvent for sdl13 |
|
473 |
|
474 // this structure is wrong but the correct version makes the game hang |
|
475 TSDL_MouseMotionEvent = record |
543 TSDL_MouseMotionEvent = record |
|
544 {$IFDEF SDL13} |
|
545 type_: LongInt; |
|
546 windowID: LongInt; |
|
547 state, padding1, padding2, padding3: byte; |
|
548 x, y, z, xrel, yrel : LongInt; |
|
549 {$ELSE} |
|
550 type_: byte; |
476 which: byte; |
551 which: byte; |
477 state: byte; |
552 state: byte; |
478 {$IFDEF SDL13} |
|
479 type_: LongInt; |
|
480 windowID: LongInt; |
|
481 padding1, padding2: byte; |
|
482 x, y, z, xrel, yrel : LongInt; |
|
483 pressure, pressure_max, pressure_min, |
|
484 rotation, tilt, cursor: LongInt; |
|
485 {$ELSE} |
|
486 type_: byte; |
|
487 x, y, xrel, yrel : word; |
553 x, y, xrel, yrel : word; |
488 {$ENDIF} |
554 {$ENDIF} |
489 end; |
555 end; |
490 |
556 |
491 TSDL_MouseButtonEvent = record |
557 TSDL_MouseButtonEvent = record |
581 case LongInt of |
634 case LongInt of |
582 SDL_FIRSTEVENT: (type_: LongInt); |
635 SDL_FIRSTEVENT: (type_: LongInt); |
583 SDL_WINDOWEVENT: (window: TSDL_WindowEvent); |
636 SDL_WINDOWEVENT: (window: TSDL_WindowEvent); |
584 SDL_KEYDOWN, |
637 SDL_KEYDOWN, |
585 SDL_KEYUP: (key: TSDL_KeyboardEvent); |
638 SDL_KEYUP: (key: TSDL_KeyboardEvent); |
586 SDL_TEXTEDITING, |
639 SDL_TEXTEDITING: (edit: TSDL_TextEditingEvent); |
587 SDL_TEXTINPUT: (edit: byte); |
640 SDL_TEXTINPUT: (tedit: TSDL_TextInputEvent); |
588 SDL_MOUSEMOTION: (motion: TSDL_MouseMotionEvent); |
641 SDL_MOUSEMOTION: (motion: TSDL_MouseMotionEvent); |
589 SDL_MOUSEBUTTONDOWN, |
642 SDL_MOUSEBUTTONDOWN, |
590 SDL_MOUSEBUTTONUP: (button: TSDL_MouseButtonEvent); |
643 SDL_MOUSEBUTTONUP: (button: TSDL_MouseButtonEvent); |
591 SDL_MOUSEWHEEL: (wheel: TSDL_MouseWheelEvent); |
644 SDL_MOUSEWHEEL: (wheel: TSDL_MouseWheelEvent); |
592 SDL_JOYAXISMOTION: (jaxis: TSDL_JoyAxisEvent); |
645 SDL_JOYAXISMOTION: (jaxis: TSDL_JoyAxisEvent); |
594 SDL_JOYHATMOTION: (jhat: TSDL_JoyHatEvent); |
647 SDL_JOYHATMOTION: (jhat: TSDL_JoyHatEvent); |
595 SDL_JOYBUTTONDOWN, |
648 SDL_JOYBUTTONDOWN, |
596 SDL_JOYBUTTONUP: (jbutton: TSDL_JoyButtonEvent); |
649 SDL_JOYBUTTONUP: (jbutton: TSDL_JoyButtonEvent); |
597 SDL_QUITEV: (quit: TSDL_QuitEvent); |
650 SDL_QUITEV: (quit: TSDL_QuitEvent); |
598 SDL_USEREVENT: (user: TSDL_UserEvent); |
651 SDL_USEREVENT: (user: TSDL_UserEvent); |
|
652 SDL_SYSWMEVENT: (syswm: TSDL_SysWMEvent); |
|
653 SDL_FINGERDOWN, |
|
654 SDL_FINGERUP, |
|
655 SDL_FINGERMOTION: (tfinger: TSDL_TouchFingerEvent); |
|
656 SDL_TOUCHBUTTONUP, |
|
657 SDL_TOUCHBUTTONDOWN: (tbutton: TSDL_TouchButtonEvent); |
|
658 SDL_MULTIGESTURE: (mgesture: TSDL_MultiGestureEvent); |
|
659 SDL_DOLLARGESTURE: (dgesture: TSDL_DollarGestureEvent); |
599 SDL_ALLEVENTS: (foo: shortstring); |
660 SDL_ALLEVENTS: (foo: shortstring); |
600 //TODO: implement other events |
|
601 {$ELSE} |
661 {$ELSE} |
602 case Byte of |
662 case Byte of |
603 SDL_NOEVENT: (type_: byte); |
663 SDL_NOEVENT: (type_: byte); |
604 SDL_ACTIVEEVENT: (active: TSDL_ActiveEvent); |
664 SDL_ACTIVEEVENT: (active: TSDL_ActiveEvent); |
605 SDL_KEYDOWN, |
665 SDL_KEYDOWN, |