Simple action button

Introduced properties

init defaultinit(center: Point3d[Float], name: String, texture: Texture)

gamnit :: RoundButton :: defaultinit

fun name: String

gamnit :: RoundButton :: name

Event name, should usually correspond to a keyboard key like "a" or "left"
protected fun name=(name: String)

gamnit :: RoundButton :: name=

Event name, should usually correspond to a keyboard key like "a" or "left"
fun texture: Texture

gamnit :: RoundButton :: texture

Texture drawn for this button, may be from app.gamepad_spritesheet
protected fun texture=(texture: Texture)

gamnit :: RoundButton :: texture=

Texture drawn for this button, may be from app.gamepad_spritesheet

Redefined properties

redef type SELF: RoundButton

gamnit $ RoundButton :: SELF

Type of this instance, automatically specialized in every class
redef fun radius: Float

gamnit $ RoundButton :: radius

Radius in UI units/pixels of the part of this control

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 SELF: Object

core :: Object :: SELF

Type of this instance, automatically specialized in every class
fun center: Point3d[Float]

gamnit :: RoundControl :: center

Center position on the UI
protected fun center=(center: Point3d[Float])

gamnit :: RoundControl :: center=

Center position on the UI
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.
init defaultinit(center: Point3d[Float], name: String, texture: Texture)

gamnit :: RoundButton :: defaultinit

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".
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 name: String

gamnit :: RoundButton :: name

Event name, should usually correspond to a keyboard key like "a" or "left"
protected fun name=(name: String)

gamnit :: RoundButton :: name=

Event name, should usually correspond to a keyboard key like "a" or "left"
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).
abstract fun radius: Float

gamnit :: RoundControl :: radius

Radius in UI units/pixels of the part of this control
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.
fun texture: Texture

gamnit :: RoundButton :: texture

Texture drawn for this button, may be from app.gamepad_spritesheet
protected fun texture=(texture: Texture)

gamnit :: RoundButton :: texture=

Texture drawn for this button, may be from app.gamepad_spritesheet
abstract fun to_jvalue(env: JniEnv): JValue

core :: Object :: to_jvalue

fun to_s: String

core :: Object :: to_s

User readable representation of self.
package_diagram gamnit::RoundButton RoundButton gamnit::RoundControl RoundControl gamnit::RoundButton->gamnit::RoundControl core::Object Object gamnit::RoundControl->core::Object ...core::Object ... ...core::Object->core::Object

Ancestors

interface Object

core :: Object

The root of the class hierarchy.

Parents

abstract class RoundControl

gamnit :: RoundControl

Control composing a VirtualGamepad

Class definitions

gamnit $ RoundButton
# Simple action button
class RoundButton
	super RoundControl

	# Event name, should usually correspond to a keyboard key like "a" or "left"
	var name: String

	# Texture drawn for this button, may be from `app.gamepad_spritesheet`
	var texture: Texture

	redef fun radius do return 0.5*texture.height

	redef fun hit(event, ui_pos)
	do
		if not event.is_move then
			var e = new VirtualGamepadEvent(name.to_s)
			e.is_down = event.pressed
			app.accept_event e

			if event.pressed then
				down_names.add name
			else down_names.clear
		end
		return true
	end

	redef var sprites = [new Sprite(texture, center)] is lazy
end
lib/gamnit/virtual_gamepad/virtual_gamepad.nit:285,1--312,3