Event on pointer, mouse and finger input

Introduced properties

Redefined properties

redef type NATIVE: SDLMouseEvent

gamnit $ GamnitPointerEvent :: NATIVE

Type of the native underlying SDL 2 event
redef type SELF: GamnitPointerEvent

gamnit $ GamnitPointerEvent :: SELF

Type of this instance, automatically specialized in every class
redef fun is_move: Bool

gamnit $ GamnitPointerEvent :: is_move

Is this a movement event?
redef fun pressed: Bool

gamnit $ GamnitPointerEvent :: pressed

Is down? either going down or already down
redef fun x: Float

gamnit $ GamnitPointerEvent :: x

X position on screen (in pixels)
redef fun y: Float

gamnit $ GamnitPointerEvent :: y

Y position on screen (in pixels)

All properties

fun !=(other: nullable Object): Bool

core :: Object :: !=

Have self and other different values?
fun ==(other: nullable Object): Bool

core :: Object :: ==

Have self and other the same value?
type CLASS: Class[SELF]

core :: Object :: CLASS

The type of the class of self.
type NATIVE: SDLEvent

gamnit :: GamnitInputEvent :: NATIVE

Type of the native underlying SDL 2 event
type SELF: Object

core :: Object :: SELF

Type of this instance, automatically specialized in every class
fun buffer: SDLEventBuffer

gamnit :: GamnitInputEvent :: buffer

Native SDL 2 event buffer with the pseudo class hierarchy metadata
protected fun buffer=(buffer: SDLEventBuffer)

gamnit :: GamnitInputEvent :: buffer=

Native SDL 2 event buffer with the pseudo class hierarchy metadata
protected fun class_factory(name: String): CLASS

core :: Object :: class_factory

Implementation used by get_class to create the specific class.
fun class_name: String

core :: Object :: class_name

The class name of the object.
fun depressed: Bool

mnit :: PointerEvent :: depressed

Is it not currently pressed down? The opposite of pressed.
fun get_class: CLASS

core :: Object :: get_class

The meta-object representing the dynamic type of self.
fun hash: Int

core :: Object :: hash

The hash code of the object.
init init

core :: Object :: init

fun inspect: String

core :: Object :: inspect

Developer readable representation of self.
protected fun inspect_head: String

core :: Object :: inspect_head

Return "CLASSNAME:#OBJECTID".
abstract fun is_move: Bool

mnit :: PointerEvent :: is_move

Is this a movement event?
intern fun is_same_instance(other: nullable Object): Bool

core :: Object :: is_same_instance

Return true if self and other are the same instance (i.e. same identity).
fun is_same_serialized(other: nullable Object): Bool

core :: Object :: is_same_serialized

Is self the same as other in a serialization context?
intern fun is_same_type(other: Object): Bool

core :: Object :: is_same_type

Return true if self and other have the same dynamic type.
fun native: NATIVE

gamnit :: GamnitInputEvent :: native

Native SDL 2 event
protected fun native=(native: NATIVE)

gamnit :: GamnitInputEvent :: native=

Native SDL 2 event
intern fun object_id: Int

core :: Object :: object_id

An internal hash code for the object based on its identity.
fun output

core :: Object :: output

Display self on stdout (debug only).
intern fun output_class_name

core :: Object :: output_class_name

Display class name on stdout (debug only).
fun pointer_id: Int

mnit :: PointerEvent :: pointer_id

Unique identifier of this pointer among other active pointers
abstract fun pressed: Bool

mnit :: PointerEvent :: pressed

Is down? either going down or already down
fun serialization_hash: Int

core :: Object :: serialization_hash

Hash value use for serialization
intern fun sys: Sys

core :: Object :: sys

Return the global sys object, the only instance of the Sys class.
abstract fun to_jvalue(env: JniEnv): JValue

core :: Object :: to_jvalue

fun to_s: String

core :: Object :: to_s

User readable representation of self.
abstract fun x: Float

mnit :: PointerEvent :: x

X position on screen (in pixels)
abstract fun y: Float

mnit :: PointerEvent :: y

Y position on screen (in pixels)
package_diagram gamnit::GamnitPointerEvent GamnitPointerEvent gamnit::GamnitInputEvent GamnitInputEvent gamnit::GamnitPointerEvent->gamnit::GamnitInputEvent mnit::PointerEvent PointerEvent gamnit::GamnitPointerEvent->mnit::PointerEvent mnit::InputEvent InputEvent gamnit::GamnitInputEvent->mnit::InputEvent mnit::PointerEvent->mnit::InputEvent ...mnit::InputEvent ... ...mnit::InputEvent->mnit::InputEvent

Ancestors

interface InputEvent

mnit :: InputEvent

Input to the App, propagated through App::input.
interface Object

core :: Object

The root of the class hierarchy.

Parents

class GamnitInputEvent

gamnit :: GamnitInputEvent

SDL2 event wrapper implementing the mnit::input API
interface PointerEvent

mnit :: PointerEvent

Mouse and touch input events

Class definitions

gamnit $ GamnitPointerEvent
# Event on pointer, mouse and finger input
class GamnitPointerEvent
	super GamnitInputEvent
	super PointerEvent

	redef type NATIVE: SDLMouseEvent

	redef fun x do return native.x.to_f
	redef fun y do return native.y.to_f
	redef fun is_move do return buffer.is_mouse_motion

	redef fun pressed
	do
		var native = native
		if native isa SDLMouseButtonEvent then
			return native.pressed and native.button == 1
		else if native isa SDLMouseMotionEvent then
			return native.state & 1 == 1
		else abort
	end
end
lib/gamnit/gamnit_linux.nit:131,1--151,3