Property definitions

gamnit $ RoundButton :: defaultinit
# 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