|
@@ -71,6 +71,13 @@ Class AppInstance
|
|
|
|
|
|
#end
|
|
#end
|
|
Field MouseEventFilter:Void( event:MouseEvent )
|
|
Field MouseEventFilter:Void( event:MouseEvent )
|
|
|
|
+
|
|
|
|
+ #rem monkeydoc Raw SDL_Event filter.
|
|
|
|
+
|
|
|
|
+ The filter is called for all SDL events before mojo processes them.
|
|
|
|
+
|
|
|
|
+ #end
|
|
|
|
+ Field SdlEventFilter:Void( event:SDL_Event Ptr )
|
|
|
|
|
|
#rem monkeydoc Create a new app instance.
|
|
#rem monkeydoc Create a new app instance.
|
|
#end
|
|
#end
|
|
@@ -569,8 +576,6 @@ Class AppInstance
|
|
Field _modalView:View
|
|
Field _modalView:View
|
|
Field _modalStack:=New Stack<View>
|
|
Field _modalStack:=New Stack<View>
|
|
|
|
|
|
- Field _polling:Bool
|
|
|
|
-
|
|
|
|
Method UpdateFPS()
|
|
Method UpdateFPS()
|
|
|
|
|
|
_fpsFrames+=1
|
|
_fpsFrames+=1
|
|
@@ -587,24 +592,18 @@ Class AppInstance
|
|
|
|
|
|
Method UpdateEvents()
|
|
Method UpdateEvents()
|
|
|
|
|
|
- Local event:SDL_Event
|
|
|
|
-
|
|
|
|
- _polling=True
|
|
|
|
-
|
|
|
|
Mouse.Update()
|
|
Mouse.Update()
|
|
|
|
|
|
Keyboard.Update()
|
|
Keyboard.Update()
|
|
|
|
|
|
|
|
+ Local event:SDL_Event
|
|
|
|
+
|
|
While SDL_PollEvent( Varptr event )
|
|
While SDL_PollEvent( Varptr event )
|
|
|
|
|
|
- Keyboard.SendEvent( Varptr event )
|
|
|
|
-
|
|
|
|
DispatchEvent( Varptr event )
|
|
DispatchEvent( Varptr event )
|
|
|
|
|
|
Wend
|
|
Wend
|
|
|
|
|
|
- _polling=False
|
|
|
|
-
|
|
|
|
Local idle:=Idle
|
|
Local idle:=Idle
|
|
Idle=Null
|
|
Idle=Null
|
|
idle()
|
|
idle()
|
|
@@ -669,6 +668,10 @@ Class AppInstance
|
|
|
|
|
|
Method DispatchEvent( event:SDL_Event Ptr )
|
|
Method DispatchEvent( event:SDL_Event Ptr )
|
|
|
|
|
|
|
|
+ SdlEventFilter( event )
|
|
|
|
+
|
|
|
|
+ Keyboard.SendEvent( event )
|
|
|
|
+
|
|
Select event->type
|
|
Select event->type
|
|
|
|
|
|
#If __TARGET__="macos"
|
|
#If __TARGET__="macos"
|
|
@@ -944,29 +947,17 @@ Class AppInstance
|
|
UpdateWindows()
|
|
UpdateWindows()
|
|
|
|
|
|
Case SDL_WINDOWEVENT_MAXIMIZED
|
|
Case SDL_WINDOWEVENT_MAXIMIZED
|
|
-
|
|
|
|
- SendWindowEvent( EventType.WindowMaximized )
|
|
|
|
|
|
|
|
- SendWindowEvent( EventType.WindowResized )
|
|
|
|
-
|
|
|
|
- UpdateWindows()
|
|
|
|
|
|
+ SendWindowEvent( EventType.WindowMaximized )
|
|
|
|
|
|
Case SDL_WINDOWEVENT_MINIMIZED
|
|
Case SDL_WINDOWEVENT_MINIMIZED
|
|
|
|
|
|
SendWindowEvent( EventType.WindowMinimized )
|
|
SendWindowEvent( EventType.WindowMinimized )
|
|
|
|
|
|
- SendWindowEvent( EventType.WindowResized )
|
|
|
|
-
|
|
|
|
- UpdateWindows()
|
|
|
|
-
|
|
|
|
Case SDL_WINDOWEVENT_RESTORED
|
|
Case SDL_WINDOWEVENT_RESTORED
|
|
|
|
|
|
SendWindowEvent( EventType.WindowRestored )
|
|
SendWindowEvent( EventType.WindowRestored )
|
|
|
|
|
|
- SendWindowEvent( EventType.WindowResized )
|
|
|
|
-
|
|
|
|
- UpdateWindows()
|
|
|
|
-
|
|
|
|
Case SDL_WINDOWEVENT_EXPOSED
|
|
Case SDL_WINDOWEVENT_EXPOSED
|
|
|
|
|
|
RequestRender()
|
|
RequestRender()
|
|
@@ -1004,12 +995,16 @@ Class AppInstance
|
|
|
|
|
|
Case SDL_WINDOWEVENT_MOVED
|
|
Case SDL_WINDOWEVENT_MOVED
|
|
|
|
|
|
|
|
+ SdlEventFilter( event )
|
|
|
|
+
|
|
SendWindowEvent( EventType.WindowMoved )
|
|
SendWindowEvent( EventType.WindowMoved )
|
|
|
|
|
|
Return 0
|
|
Return 0
|
|
|
|
|
|
Case SDL_WINDOWEVENT_RESIZED
|
|
Case SDL_WINDOWEVENT_RESIZED
|
|
|
|
|
|
|
|
+ SdlEventFilter( event )
|
|
|
|
+
|
|
SendWindowEvent( EventType.WindowResized )
|
|
SendWindowEvent( EventType.WindowResized )
|
|
|
|
|
|
UpdateWindows()
|
|
UpdateWindows()
|
|
@@ -1017,31 +1012,21 @@ Class AppInstance
|
|
Return 0
|
|
Return 0
|
|
|
|
|
|
Case SDL_WINDOWEVENT_MAXIMIZED
|
|
Case SDL_WINDOWEVENT_MAXIMIZED
|
|
-
|
|
|
|
- SendWindowEvent( EventType.WindowResized )
|
|
|
|
|
|
|
|
SendWindowEvent( EventType.WindowMaximized )
|
|
SendWindowEvent( EventType.WindowMaximized )
|
|
|
|
|
|
- UpdateWindows()
|
|
|
|
-
|
|
|
|
Return 0
|
|
Return 0
|
|
|
|
|
|
Case SDL_WINDOWEVENT_MINIMIZED
|
|
Case SDL_WINDOWEVENT_MINIMIZED
|
|
|
|
|
|
- SendWindowEvent( EventType.WindowResized )
|
|
|
|
-
|
|
|
|
SendWindowEvent( EventType.WindowMinimized )
|
|
SendWindowEvent( EventType.WindowMinimized )
|
|
|
|
|
|
- UpdateWindows()
|
|
|
|
-
|
|
|
|
|
|
+ Return 0
|
|
|
|
+
|
|
Case SDL_WINDOWEVENT_RESTORED
|
|
Case SDL_WINDOWEVENT_RESTORED
|
|
|
|
|
|
- SendWindowEvent( EventType.WindowResized )
|
|
|
|
-
|
|
|
|
SendWindowEvent( EventType.WindowRestored )
|
|
SendWindowEvent( EventType.WindowRestored )
|
|
|
|
|
|
- UpdateWindows()
|
|
|
|
-
|
|
|
|
Return 0
|
|
Return 0
|
|
End
|
|
End
|
|
|
|
|