Adjust name of event converters and remove the boilerplate
This commit is contained in:
parent
6d0f58b0ee
commit
f73d0e4657
1 changed files with 18 additions and 37 deletions
|
|
@ -1283,44 +1283,25 @@ type # This is the system-independent thread info struc
|
||||||
TWordArray* = array[0..16383, int16] # Generic procedure pointer
|
TWordArray* = array[0..16383, int16] # Generic procedure pointer
|
||||||
TProcedure* = proc ()
|
TProcedure* = proc ()
|
||||||
|
|
||||||
proc EActive*(event: PEvent): PActiveEvent =
|
type TEventSeq = set[TEventKind]
|
||||||
result = cast[PActiveEvent](event)
|
template evconv(procName: expr, ptrName: typeDesc, assertions: TEventSeq): stmt =
|
||||||
|
proc `procName`*(event: PEvent): ptrName =
|
||||||
|
assert(assertions.contains(event.kind))
|
||||||
|
result = cast[ptrName](event)
|
||||||
|
|
||||||
proc EKeyboard*(event: PEvent): PKeyBoardEvent =
|
evconv(EvActive, PActiveEvent, {ACTIVEEVENT})
|
||||||
result = cast[PKeyBoardEvent](event)
|
evconv(EvKeyboard, PKeyboardEvent, {KEYDOWN, KEYUP})
|
||||||
|
evconv(EvMouseMotion, PMouseMotionEvent, {MOUSEMOTION})
|
||||||
proc EMouseMotion*(event: PEvent): PMouseMotionEvent =
|
evconv(EvMouseButton, PMouseButtonEvent, {MOUSEBUTTONDOWN, MOUSEBUTTONUP})
|
||||||
result = cast[PMouseMotionEvent](event)
|
evconv(EvJoyAxis, PJoyAxisEvent,{JOYAXISMOTION})
|
||||||
|
evconv(EvJoyBall, PJoyBallEvent, {JOYBALLMOTION})
|
||||||
proc EMouseButton*(event: PEvent): PMouseButtonEvent =
|
evconv(EvJoyHat, PJoyHatEvent, {JOYHATMOTION})
|
||||||
result = cast[PMouseButtonEvent](event)
|
evconv(EvJoyButton, PJoyButtonEvent, {JOYBUTTONDOWN, JOYBUTTONUP})
|
||||||
|
evconv(EvResize, PResizeEvent, {VIDEORESIZE})
|
||||||
proc EJoyAxis*(event: PEvent): PJoyAxisEvent =
|
evconv(EvExpose, PExposeEvent, {VIDEOEXPOSE})
|
||||||
result = cast[PJoyAxisEvent](event)
|
evconv(EvQuit, PQuitEvent, {QUITEV})
|
||||||
|
evconv(EvUser, PUserEvent, {USEREVENT})
|
||||||
proc EJoyBall*(event: PEvent): PJoyBallEvent =
|
evconv(EvSysWM, PSysWMEvent, {SYSWMEVENT})
|
||||||
result = cast[PJoyBallEvent](event)
|
|
||||||
|
|
||||||
proc EJoyHat*(event: PEvent): PJoyHatEvent =
|
|
||||||
result = cast[PJoyHatEvent](event)
|
|
||||||
|
|
||||||
proc EJoyButton*(event: PEvent): PJoyButtonEvent =
|
|
||||||
result = cast[PJoyButtonEvent](event)
|
|
||||||
|
|
||||||
proc EResize*(event: PEvent): PResizeEvent =
|
|
||||||
result = cast[PResizeEvent](event)
|
|
||||||
|
|
||||||
proc EExpose*(event: PEvent): PExposeEvent =
|
|
||||||
result = cast[PExposeEvent](event)
|
|
||||||
|
|
||||||
proc EQuit*(event: PEvent): PQuitEvent =
|
|
||||||
result = cast[PQuitEvent](event)
|
|
||||||
|
|
||||||
proc EUser*(event: PEvent): PUserEvent =
|
|
||||||
result = cast[PUserEvent](event)
|
|
||||||
|
|
||||||
proc ESysWM*(event: PEvent): PSysWMEvent =
|
|
||||||
result = cast[PSysWMEvent](event)
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# initialization
|
# initialization
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue