Mercurial > repos > tabletprog
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) |