123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284 |
- Namespace mojo.app
- #rem monkeydoc Event types.
- | EventType | Description
- |:------------------|:-----------
- | KeyDown | Key down event.
- | KeyRepeat | Key repeat event.
- | KeyUp | Key up event.
- | KeyChar | Key char event.
- | MouseDown | Mouse button down event.
- | MouseClick | Mouse left click event.
- | MouseRightClick | Mouse right click event.
- | MouseDoubleClick | Mouse double left click event.
- | MouseUp | Mouse button up event.
- | MouseMove | Mouse movement event.
- | MouseWheel | Mouse wheel event.
- | MouseEnter | Mouse enter event.
- | MouseLeave | Mouse leave event.
- | WindowClose | Window close clicked event.
- | WindowMoved | Window moved event.
- | WindowResized | Window resized event.
- | WindowGainedFocus | Window gained input focus.
- | WindowLostFocus | Window lost input focus.
- #end
- Enum EventType
- KeyDown,
- KeyRepeat,
- KeyUp,
- KeyChar,
-
- MouseDown,
- MouseClick,
- MouseRightClick,
- MouseDoubleClick,
- MouseUp,
- MouseMove,
- MouseWheel,
- MouseEnter,
- MouseLeave,
- TouchDown,
- TouchUp,
- TouchMove,
-
- WindowClose,
- WindowMoved,
- WindowResized,
- WindowGainedFocus,
- WindowLostFocus,
- WindowMaximized,
- WindowMinimized,
- WindowRestored
-
- Eaten=$40000000
- End
- #rem monkeydoc The Event class.
- #end
- Class Event Abstract
- #rem monkedoc The event type.
- #end
- Property Type:EventType()
- Return _type
- End
-
- #rem monkeydoc The event view.
- #end
- Property View:View()
- Return _view
- End
-
- #rem monkeydoc True if event has been eaten.
-
- #end
- Property Eaten:Bool()
- Return (_type & EventType.Eaten)<>Null
- End
-
- #rem monkeydoc Eats the event.
- #end
- Method Eat()
- _type|=EventType.Eaten
- End
-
- Protected
-
- #rem monkeydoc @hidden
- #end
- Field _type:EventType
- #rem monkeydoc @hidden
- #end
- Field _view:View
-
- #rem monkeydoc @hidden
- #end
- Method New( type:EventType,view:View )
- _type=type
- _view=view
- End
- End
- #rem monkeydoc The KeyEvent class.
- #end
- Class KeyEvent Extends Event
- #rem monkeydoc Creates a new key event.
- #end
- Method New( type:EventType,view:View,key:Key,rawKey:Key,modifiers:Modifier,text:String )
- Super.New( type,view )
- _key=key
- _rawKey=rawKey
- _modifiers=modifiers
- _text=text
- End
-
- #rem monkeydoc The key involved in the event.
- #end
- Property Key:Key()
- Return _key
- End
-
- #rem monkeydoc The raw key involved in the event.
- #end
- Property RawKey:Key()
- Return _rawKey
- End
-
- #rem monkeydoc The modifiers at the time of the event.
- #end
- Property Modifiers:Modifier()
- Return _modifiers
- End
-
- #rem monkeydoc The text for [[EventType.KeyChar]] events.
- #end
- Property Text:String()
- Return _text
- End
-
- Private
-
- Field _key:Key
- Field _rawKey:Key
- Field _modifiers:Modifier
- Field _text:String
-
- End
- #rem monkeydoc The MouseEvent class.
- #end
- Class MouseEvent Extends Event
- #rem monkeydoc Creates a new mouse event.
- #end
- Method New( type:EventType,view:View,location:Vec2i,button:MouseButton,wheel:Vec2i,modifiers:Modifier,clicks:Int )
- Super.New( type,view )
- _location=location
- _button=button
- _wheel=wheel
- _modifiers=modifiers
- _clicks=clicks
- End
-
- #rem monkeydoc Mouse location in View.
- #end
- Property Location:Vec2i()
- Return _location
- End
-
- #rem monkeydoc Mouse button.
- #end
- Property Button:MouseButton()
- Return _button
- End
- #rem monkeydoc Mouse wheel deltas.
- #end
- Property Wheel:Vec2i()
- Return _wheel
- End
-
- #rem monkeydoc Event modifiers.
- #end
- Property Modifiers:Modifier()
- Return _modifiers
- End
-
- #rem monkeydoc Number of mouse clicks.
- #end
- Property Clicks:Int()
- Return _clicks
- End
-
- #rem monkeydoc Transforms mouse event to different view.
- #end
- Method TransformToView:MouseEvent( view:View )
- If view=_view Return self
- Local location:=view.TransformPointFromView( _location,_view )
- Return New MouseEvent( _type,view,location,_button,_wheel,_modifiers,_clicks )
- End
-
- Private
-
- Field _location:Vec2i
- Field _button:MouseButton
- Field _wheel:Vec2i
- Field _modifiers:Modifier
- Field _clicks:Int
- End
- #rem monkeydoc The TouchEvent class.
- #end
- Class TouchEvent Extends Event
- #rem monkeydoc Creates a new touch event.
- #end
- Method New( type:EventType,view:View,location:Vec2i,finger:int,pressure:Float )
- Super.New( type,view )
- _location=location
- _finger=finger
- _pressure=pressure
- End
-
- #rem monkeydoc Finger location in view.
- #end
- Property Location:Vec2i()
- Return _location
- End
-
- #rem monkeydoc Finger index (0-9).
- #end
- Property Finger:Int()
- Return _finger
- End
-
- #rem monkeydoc Finger pressure (0-1).
- #end
- Property Pressure:Float()
- Return _pressure
- End
-
- #rem monkeydoc Transforms touch event to different view.
- #end
- Method TransformToView:TouchEvent( view:View )
- If view=_view return Self
- Local location:=view.TransformPointFromView( _location,_view )
- Return New TouchEvent( _type,view,location,_finger,_pressure )
- End
-
- Private
-
- Field _location:Vec2i
- Field _finger:Int
- field _pressure:Float
- End
- #rem monkeydoc The WindowEvent class.
- #end
- Class WindowEvent Extends Event
- #rem monkeydoc Creates a new window event.
- #end
- Method New( type:EventType,window:Window )
- Super.New( type,window )
- _window=window
- End
- #rem monkeydoc The window the event was sent to.
- #end
- Property Window:Window()
- Return _window
- End
-
- Private
-
- Field _window:Window
-
- End
|