SDL_FillRect(recv, NULL, SDL_MapRGB(recv->format,ri,gi,bi));
`}
+ # SDL events since the last call to this method
fun events: Sequence[SDLInputEvent]
do
- var new_event: nullable Object = null
- var events = new List[SDLInputEvent]
+ var events = new Array[SDLInputEvent]
loop
- new_event = poll_event
- if new_event != null then # new_event isa Event then #
- events.add(new_event)
- else
- break
- end
+ var new_event = poll_event
+ if new_event == null then break
+ events.add new_event
end
return events
end
redef type I: SDLImage
redef fun blit(img, x, y) do native_blit(img, x.to_i, y.to_i)
- fun native_blit(img: I, x, y: Int) `{
+ private fun native_blit(img: I, x, y: Int) `{
SDL_Rect dst;
dst.x = x;
dst.y = y;
redef var pressed: Bool
redef fun depressed: Bool do return not pressed
+ # Is this event raised by the left button?
+ fun is_left_button: Bool do return button == 1
+
+ # Is this event raised by the right button?
+ fun is_right_button: Bool do return button == 2
+
+ # Is this event raised by the middle button?
+ fun is_middle_button: Bool do return button == 3
+
+ # Is this event raised by the wheel going down?
+ fun is_down_wheel: Bool do return button == 4
+
+ # Is this event raised by the wheel going up?
+ fun is_up_wheel: Bool do return button == 5
+
+ # Is this event raised by the wheel?
+ fun is_wheel: Bool do return is_down_wheel or is_up_wheel
+
init (x, y: Float, button: Int, pressed: Bool)
do
super(x, y)