Mercurial > repos > tabletprog
diff modules/sdl.tp @ 293:2b045d5b673b
Add binding for sdl mouse motion event
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 24 Jul 2014 09:43:18 -0700 |
parents | 38bbbf74b735 |
children | 4c669942c30d |
line wrap: on
line diff
--- a/modules/sdl.tp Thu Jul 24 09:43:06 2014 -0700 +++ b/modules/sdl.tp Thu Jul 24 09:43:18 2014 -0700 @@ -181,6 +181,39 @@ oi32 <- make_object: (addr_of: obj_int32_meta) NULL 0 oi32 num!: (mouseButEvent y) mcall: y! 2 empty oi32 + empty + } + + llMessage: populateMouseMotionEvent withVars: { + eventPtr <- cpointer ptr + empty <- object ptr + mouseMotEvent <- SDL_MouseMotionEvent ptr + ou32 <- obj_uint32 ptr + oi32 <- obj_int32 ptr + } andCode: :eventPtr empty { + mouseMotEvent <- eventPtr val + ou32 <- make_object: (addr_of: obj_uint32_meta) NULL 0 + ou32 num!: (mouseMotEvent windowID) + mcall: windowID! 2 empty ou32 + ou32 <- make_object: (addr_of: obj_uint32_meta) NULL 0 + ou32 num!: (mouseMotEvent which) + mcall: mouseID! 2 empty ou32 + ou32 <- make_object: (addr_of: obj_uint32_meta) NULL 0 + ou32 num!: (mouseMotEvent state) + mcall: buttonState! 2 empty ou32 + oi32 <- make_object: (addr_of: obj_int32_meta) NULL 0 + oi32 num!: (mouseMotEvent x) + mcall: x! 2 empty oi32 + oi32 <- make_object: (addr_of: obj_int32_meta) NULL 0 + oi32 num!: (mouseMotEvent y) + mcall: y! 2 empty oi32 + oi32 <- make_object: (addr_of: obj_int32_meta) NULL 0 + oi32 num!: (mouseMotEvent xrel) + mcall: xRel! 2 empty oi32 + oi32 <- make_object: (addr_of: obj_int32_meta) NULL 0 + oi32 num!: (mouseMotEvent yrel) + mcall: yRel! 2 empty oi32 + empty } } @@ -303,6 +336,33 @@ _eventConstructors set: (_events mouseDown) mouseButtonEvent _eventConstructors set: (_events mouseUp) mouseButtonEvent + _eventConstructors set: (_events mouseMotion) :typ tstamp eventPtr { + _helper populateMouseMotionEvent: eventPtr #{ + type <- typ + timeStamp <- tstamp + windowID <- 0u32 + mouseID <- 0u32 + buttonState <- 0u32 + x <- 0 + y <- 0 + xRel <- 0 + yRel <- 0 + } + } + + /* + _eventConstructors set: (_events mouseWheel) :type tstamp eventPtr { + _helper populateMouseWheelEvent: eventPtr #{ + type <- typ + timeStamp <- tstamp + windowID <- 0u32 + mouseID <- 0u32 + x <- 0 + y <- 0 + } + } + */ + _makeTexture <- :rendptr texptr { #{ includeSystemHeader: "SDL.h"