comparison 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
comparison
equal deleted inserted replaced
292:f73ebc146af9 293:2b045d5b673b
179 oi32 num!: (mouseButEvent x) 179 oi32 num!: (mouseButEvent x)
180 mcall: x! 2 empty oi32 180 mcall: x! 2 empty oi32
181 oi32 <- make_object: (addr_of: obj_int32_meta) NULL 0 181 oi32 <- make_object: (addr_of: obj_int32_meta) NULL 0
182 oi32 num!: (mouseButEvent y) 182 oi32 num!: (mouseButEvent y)
183 mcall: y! 2 empty oi32 183 mcall: y! 2 empty oi32
184 empty
185 }
186
187 llMessage: populateMouseMotionEvent withVars: {
188 eventPtr <- cpointer ptr
189 empty <- object ptr
190 mouseMotEvent <- SDL_MouseMotionEvent ptr
191 ou32 <- obj_uint32 ptr
192 oi32 <- obj_int32 ptr
193 } andCode: :eventPtr empty {
194 mouseMotEvent <- eventPtr val
195 ou32 <- make_object: (addr_of: obj_uint32_meta) NULL 0
196 ou32 num!: (mouseMotEvent windowID)
197 mcall: windowID! 2 empty ou32
198 ou32 <- make_object: (addr_of: obj_uint32_meta) NULL 0
199 ou32 num!: (mouseMotEvent which)
200 mcall: mouseID! 2 empty ou32
201 ou32 <- make_object: (addr_of: obj_uint32_meta) NULL 0
202 ou32 num!: (mouseMotEvent state)
203 mcall: buttonState! 2 empty ou32
204 oi32 <- make_object: (addr_of: obj_int32_meta) NULL 0
205 oi32 num!: (mouseMotEvent x)
206 mcall: x! 2 empty oi32
207 oi32 <- make_object: (addr_of: obj_int32_meta) NULL 0
208 oi32 num!: (mouseMotEvent y)
209 mcall: y! 2 empty oi32
210 oi32 <- make_object: (addr_of: obj_int32_meta) NULL 0
211 oi32 num!: (mouseMotEvent xrel)
212 mcall: xRel! 2 empty oi32
213 oi32 <- make_object: (addr_of: obj_int32_meta) NULL 0
214 oi32 num!: (mouseMotEvent yrel)
215 mcall: yRel! 2 empty oi32
216 empty
184 } 217 }
185 } 218 }
186 219
187 _constant <- macro: :name cname { 220 _constant <- macro: :name cname {
188 quote: (llMessage: name withVars: { 221 quote: (llMessage: name withVars: {
301 } 334 }
302 } 335 }
303 _eventConstructors set: (_events mouseDown) mouseButtonEvent 336 _eventConstructors set: (_events mouseDown) mouseButtonEvent
304 _eventConstructors set: (_events mouseUp) mouseButtonEvent 337 _eventConstructors set: (_events mouseUp) mouseButtonEvent
305 338
339 _eventConstructors set: (_events mouseMotion) :typ tstamp eventPtr {
340 _helper populateMouseMotionEvent: eventPtr #{
341 type <- typ
342 timeStamp <- tstamp
343 windowID <- 0u32
344 mouseID <- 0u32
345 buttonState <- 0u32
346 x <- 0
347 y <- 0
348 xRel <- 0
349 yRel <- 0
350 }
351 }
352
353 /*
354 _eventConstructors set: (_events mouseWheel) :type tstamp eventPtr {
355 _helper populateMouseWheelEvent: eventPtr #{
356 type <- typ
357 timeStamp <- tstamp
358 windowID <- 0u32
359 mouseID <- 0u32
360 x <- 0
361 y <- 0
362 }
363 }
364 */
365
306 _makeTexture <- :rendptr texptr { 366 _makeTexture <- :rendptr texptr {
307 #{ 367 #{
308 includeSystemHeader: "SDL.h" 368 includeSystemHeader: "SDL.h"
309 llProperty: renderer withType: (SDL_Renderer ptr) 369 llProperty: renderer withType: (SDL_Renderer ptr)
310 llProperty: texture withType: (SDL_Texture ptr) 370 llProperty: texture withType: (SDL_Texture ptr)