Strict Import mojo2 #If TARGET = "glfw" Import os #Endif #If TARGET <> "html5" Import brl.filestream Import brl.filesystem #Endif #ANDROID_APP_LABEL="CX Debug Info" #HTML5_APP_TITLE="CX Debug Info" #GLFW_WINDOW_TITLE="CX Debug Info" #GLFW_APP_LABEL="CX Debug Info" #GLFW_APP_PUBLISHER="GrantOjanen" #ANDROID_APP_PACKAGE="com.grantojanen.cxdebuginfo" #HTML5_APP_FILENAME="cxdebuginfo.html" #GLFW_WINDOW_RESIZABLE=True #GLFW_WINDOW_FULLSCREEN=False #GLFW_MACOS_RETINA_ENABLED=True #GLFW_HIGH_DPI_ENABLED=True #HTML5_CANVAS_RESIZE_MODE=2 #HTML5_CONSOLE_SHOW=False #GLFW_WINDOW_WIDTH=900 #GLFW_WINDOW_HEIGHT=600 #HTML5_CANVAS_WIDTH=900 #HTML5_CANVAS_HEIGHT=600 Function Main:Int() New Application() Return 0 End Class Application Extends App Final Field canvas:Canvas Field dislaySize:DisplayMode Field debugString:String[] Field debugString2:String[] Field myBackTriggered:Int = 0 Field myResizeTriggered:Int = 0 Field myResumeTriggered:Int = 0 Field mySuspendTriggered:Int = 0 Field fullscreen:Bool = False Method OnCreate:Int() canvas = New Canvas() canvas.SetProjection2d(0,900,0,640); Return 0 End Method OnUpdate:Int() dislaySize = DesktopMode() Local myDate:Int[] = GetDate(); Local keysPressed:String = "~nKeyDown():" If KeyDown(KEY_A) keysPressed += " KEY_A" EndIf If KeyDown(KEY_B) keysPressed += " KEY_B" EndIf If KeyDown(KEY_C) keysPressed += " KEY_C" EndIf If KeyDown(KEY_D) keysPressed += " KEY_D" EndIf If KeyDown(KEY_E) keysPressed += " KEY_E" EndIf If KeyDown(KEY_F) keysPressed += " KEY_F" EndIf If KeyDown(KEY_G) keysPressed += " KEY_G" EndIf If KeyDown(KEY_H) keysPressed += " KEY_H" EndIf If KeyDown(KEY_I) keysPressed += " KEY_I" EndIf If KeyDown(KEY_J) keysPressed += " KEY_J" EndIf If KeyDown(KEY_K) keysPressed += " KEY_K" EndIf If KeyDown(KEY_L) keysPressed += " KEY_L" EndIf If KeyDown(KEY_M) keysPressed += " KEY_M" EndIf If KeyDown(KEY_N) keysPressed += " KEY_N" EndIf If KeyDown(KEY_O) keysPressed += " KEY_O" EndIf If KeyDown(KEY_P) keysPressed += " KEY_P" EndIf If KeyDown(KEY_Q) keysPressed += " KEY_Q" EndIf If KeyDown(KEY_R) keysPressed += " KEY_R" EndIf If KeyDown(KEY_S) keysPressed += " KEY_S" EndIf If KeyDown(KEY_T) keysPressed += " KEY_T" EndIf If KeyDown(KEY_U) keysPressed += " KEY_U" EndIf If KeyDown(KEY_V) keysPressed += " KEY_V" EndIf If KeyDown(KEY_W) keysPressed += " KEY_W" EndIf If KeyDown(KEY_X) keysPressed += " KEY_X" EndIf If KeyDown(KEY_Y) keysPressed += " KEY_Y" EndIf If KeyDown(KEY_Z) keysPressed += " KEY_Z" EndIf If KeyDown(KEY_0) keysPressed += " KEY_0" EndIf If KeyDown(KEY_1) keysPressed += " KEY_1" EndIf If KeyDown(KEY_2) keysPressed += " KEY_2" EndIf If KeyDown(KEY_3) keysPressed += " KEY_3" EndIf If KeyDown(KEY_4) keysPressed += " KEY_4" EndIf If KeyDown(KEY_5) keysPressed += " KEY_5" EndIf If KeyDown(KEY_6) keysPressed += " KEY_6" EndIf If KeyDown(KEY_7) keysPressed += " KEY_7" EndIf If KeyDown(KEY_8) keysPressed += " KEY_8" EndIf If KeyDown(KEY_9) keysPressed += " KEY_9" EndIf If KeyDown(KEY_BACKSPACE) keysPressed += " KEY_BACKSPACE" EndIf If KeyDown(KEY_TAB) keysPressed += " KEY_TAB" EndIf If KeyDown(KEY_ENTER) keysPressed += " KEY_ENTER" EndIf If KeyDown(KEY_ESCAPE) keysPressed += " KEY_ESCAPE" EndIf If KeyDown(KEY_SPACE) keysPressed += " KEY_SPACE" EndIf If KeyDown(KEY_SHIFT) keysPressed += " KEY_SHIFT" EndIf If KeyDown(KEY_CONTROL) keysPressed += " KEY_CONTROL" EndIf If KeyDown(KEY_PAGEUP) keysPressed += " KEY_PAGEUP" EndIf If KeyDown(KEY_PAGEDOWN) keysPressed += " KEY_PAGEDOWN" EndIf If KeyDown(KEY_END) keysPressed += " KEY_END" EndIf If KeyDown(KEY_HOME) keysPressed += " KEY_HOME" EndIf If KeyDown(KEY_LEFT) keysPressed += " KEY_LEFT" EndIf If KeyDown(KEY_UP) keysPressed += " KEY_UP" EndIf If KeyDown(KEY_RIGHT) keysPressed += " KEY_RIGHT" EndIf If KeyDown(KEY_DOWN) keysPressed += " KEY_DOWN" EndIf If KeyDown(KEY_INSERT) keysPressed += " KEY_INSERT" EndIf If KeyDown(KEY_DELETE) keysPressed += " KEY_DELETE" EndIf If KeyDown(KEY_F1) keysPressed += " KEY_F1" EndIf If KeyDown(KEY_F2) keysPressed += " KEY_F2" EndIf If KeyDown(KEY_F3) keysPressed += " KEY_F3" EndIf If KeyDown(KEY_F4) keysPressed += " KEY_F4" EndIf If KeyDown(KEY_F5) keysPressed += " KEY_F5" EndIf If KeyDown(KEY_F6) keysPressed += " KEY_F6" EndIf If KeyDown(KEY_F7) keysPressed += " KEY_F7" EndIf If KeyDown(KEY_F8) keysPressed += " KEY_F8" EndIf If KeyDown(KEY_F9) keysPressed += " KEY_F9" EndIf If KeyDown(KEY_F10) keysPressed += " KEY_F10" EndIf If KeyDown(KEY_F11) keysPressed += " KEY_F11" EndIf If KeyDown(KEY_F12) keysPressed += " KEY_F12" EndIf If KeyDown(KEY_TILDE) keysPressed += " KEY_TILDE" EndIf If KeyDown(KEY_MINUS) keysPressed += " KEY_MINUS" EndIf If KeyDown(KEY_EQUALS) keysPressed += " KEY_EQUALS" EndIf If KeyDown(KEY_OPENBRACKET) keysPressed += " KEY_OPENBRACKET" EndIf If KeyDown(KEY_CLOSEBRACKET) keysPressed += " KEY_CLOSEBRACKET" EndIf If KeyDown(KEY_BACKSLASH) keysPressed += " KEY_BACKSLASH" EndIf If KeyDown(KEY_SEMICOLON) keysPressed += " KEY_SEMICOLON" EndIf If KeyDown(KEY_QUOTES) keysPressed += " KEY_QUOTES" EndIf If KeyDown(KEY_COMMA) keysPressed += " KEY_COMMA" EndIf If KeyDown(KEY_PERIOD) keysPressed += " KEY_PERIOD" EndIf If KeyDown(KEY_SLASH) keysPressed += " KEY_SLASH" EndIf If KeyDown(KEY_NUM0) keysPressed += " KEY_NUM0" EndIf If KeyDown(KEY_NUM1) keysPressed += " KEY_NUM1" EndIf If KeyDown(KEY_NUM2) keysPressed += " KEY_NUM2" EndIf If KeyDown(KEY_NUM3) keysPressed += " KEY_NUM3" EndIf If KeyDown(KEY_NUM4) keysPressed += " KEY_NUM4" EndIf If KeyDown(KEY_NUM5) keysPressed += " KEY_NUM5" EndIf If KeyDown(KEY_NUM6) keysPressed += " KEY_NUM6" EndIf If KeyDown(KEY_NUM7) keysPressed += " KEY_NUM7" EndIf If KeyDown(KEY_NUM8) keysPressed += " KEY_NUM8" EndIf If KeyDown(KEY_NUM9) keysPressed += " KEY_NUM9" EndIf If KeyDown(KEY_NUMMULTIPLY) keysPressed += " KEY_NUMMULTIPLY" EndIf If KeyDown(KEY_NUMADD) keysPressed += " KEY_NUMADD" EndIf If KeyDown(KEY_NUMSLASH) keysPressed += " KEY_NUMSLASH" EndIf If KeyDown(KEY_NUMSUBTRACT) keysPressed += " KEY_NUMSUBTRACT" EndIf If KeyDown(KEY_NUMDECIMAL) keysPressed += " KEY_NUMDECIMAL" EndIf If KeyDown(KEY_NUMDIVIDE) keysPressed += " KEY_NUMDIVIDE" EndIf If KeyDown(KEY_ALT) keysPressed += " KEY_ALT" EndIf #If TARGET = "glfw" If KeyHit(KEY_F) If fullscreen = false SetDeviceWindow(dislaySize.Width,dislaySize.Height,8|4|2|1) fullscreen = true Else SetDeviceWindow(dislaySize.Width/2,dislaySize.Height/2,8|4|2) fullscreen = false End OnResize() EndIf #EndIf Local myDateString:String = myDate[0] + "/" + myDate[1] + "/" + myDate[2] + " " + myDate[3] + ":" + myDate[4] + ":" + myDate[5] + ":" + myDate[6] debugString2 = ("OnBack() triggered: " + myBackTriggered + "~nOnResize() triggered: " + myResizeTriggered + "~nOnResume() triggered: " + myResumeTriggered + "~nOnSuspend() triggered: " + mySuspendTriggered).Split("~n") debugString = ( #If TARGET = "glfw" "AppPath(): " + AppPath() + "~nCurrentDir(): " + CurrentDir() + "~nHostOS(): " + HostOS() + "~ninternal dir: " + filesystem.RealPath("cerberus://internal/") + "~nexternal dir: " + filesystem.RealPath("cerberus://external/") + "~ndata dir: " + filesystem.RealPath("cerberus://data/") + "~n" + #EndIf "CountJoysticks(True): " + CountJoysticks(True) + "~nJoyDown()~nslot 1: " + JoyDown(JOY_A,0) + JoyDown(JOY_B,0) + JoyDown(JOY_X,0) + JoyDown(JOY_Y,0) + JoyDown(JOY_LB,0) + JoyDown(JOY_RB,0) + JoyDown(JOY_LSB,0) + JoyDown(JOY_RSB,0) + JoyDown(JOY_START,0) + JoyDown(JOY_BACK,0) + JoyDown(JOY_UP,0) + JoyDown(JOY_RIGHT,0) + JoyDown(JOY_DOWN,0) + JoyDown(JOY_LEFT,0)+ "~nslot 2: " + JoyDown(JOY_A,1) + JoyDown(JOY_B,1) + JoyDown(JOY_X,1) + JoyDown(JOY_Y,1) + JoyDown(JOY_LB,1) + JoyDown(JOY_RB,1) + JoyDown(JOY_LSB,1) + JoyDown(JOY_RSB,1) + JoyDown(JOY_START,1) + JoyDown(JOY_BACK,1) + JoyDown(JOY_UP,1) + JoyDown(JOY_RIGHT,1) + JoyDown(JOY_DOWN,1) + JoyDown(JOY_LEFT,1)+ "~nslot 3: " + JoyDown(JOY_A,2) + JoyDown(JOY_B,2) + JoyDown(JOY_X,2) + JoyDown(JOY_Y,2) + JoyDown(JOY_LB,2) + JoyDown(JOY_RB,2) + JoyDown(JOY_LSB,2) + JoyDown(JOY_RSB,2) + JoyDown(JOY_START,2) + JoyDown(JOY_BACK,2) + JoyDown(JOY_UP,2) + JoyDown(JOY_RIGHT,2) + JoyDown(JOY_DOWN,2) + JoyDown(JOY_LEFT,2)+ "~nslot 4: " + JoyDown(JOY_A,3) + JoyDown(JOY_B,3) + JoyDown(JOY_X,3) + JoyDown(JOY_Y,3) + JoyDown(JOY_LB,3) + JoyDown(JOY_RB,3) + JoyDown(JOY_LSB,3) + JoyDown(JOY_RSB,3) + JoyDown(JOY_START,3) + JoyDown(JOY_BACK,3) + JoyDown(JOY_UP,3) + JoyDown(JOY_RIGHT,3) + JoyDown(JOY_DOWN,3) + JoyDown(JOY_LEFT,3)+ "~nJoyX()~nslot 1: " + JoyX(0,0) + "," + JoyX(1,0)+ "~nslot 2: " + JoyX(0,1) + "," + JoyX(1,1)+ "~nslot 3: " + JoyX(0,2) + "," + JoyX(1,2)+ "~nslot 4: " + JoyX(0,3) + "," + JoyX(1,3)+ "~nJoyY()~nslot 1: " + JoyY(0,0) + "," + JoyY(1,0)+ "~nslot 2: " + JoyY(0,1) + "," + JoyY(1,1)+ "~nslot 3: " + JoyY(0,2) + "," + JoyY(1,2)+ "~nslot 4: " + JoyY(0,3) + "," + JoyY(1,3)+ "~nJoyZ()~nslot 1: " + JoyZ(0,0) + "," + JoyZ(1,0)+ "~nslot 2: " + JoyZ(0,1) + "," + JoyZ(1,1)+ "~nslot 3: " + JoyZ(0,2) + "," + JoyZ(1,2)+ "~nslot 4: " + JoyZ(0,3) + "," + JoyZ(1,3)+ "~nAccelX(): " + AccelX() + " AccelY(): " + AccelY() + " AccelZ(): " + AccelZ()+ "~nDeviceWidth(): " + DeviceWidth() + " DeviceHeight(): " + DeviceHeight()+ "~nCanvas.Width(): " + canvas.Width() + " Canvas.Height(): " + canvas.Height()+ "~nDeviceWindowWidth(): " + DeviceWindowWidth() + " DeviceWindowHeight(): " + DeviceWindowHeight()+ "~nDesktopMode.width: " + dislaySize.Width + " DesktopMode.width: " + dislaySize.Height+ "~nTouchDown(): " + TouchDown(0) + TouchDown(1) + TouchDown(2) + TouchDown(3) + TouchDown(4) + "~nTouchX(),TouchY(): " + TouchX(0) + "," + TouchY(0) + " " + TouchX(1) + "," + TouchY(1) + " " + TouchX(2) + "," + TouchY(2) + " " + TouchX(3) + "," + TouchY(3) + " " + TouchX(4) + "," + TouchY(4) + "~nMouseDown(): " + MouseDown(MOUSE_LEFT) + MouseDown(MOUSE_RIGHT) + MouseDown(MOUSE_MIDDLE) + "~nMouseX(): " + MouseX() + " MouseY(): " + MouseY() + " MouseZ(): " + MouseZ()+ "~nGetDate(): " + myDateString + "~nMillisecs(): " + Millisecs() + keysPressed + #If TARGET = "glfw" "~nGetClipboard(): " + GetClipboard() + #Endif "").Split("~n") Return 0 End Method OnBack:Int() myBackTriggered += 1 Return 0 End Method OnResize:Int() canvas = New Canvas() canvas.SetProjection2d(0,900,0,640) myResizeTriggered += 1 Return 0 End Method OnResume:Int() myResumeTriggered += 1 Return 0 End Method OnSuspend:Int() mySuspendTriggered += 1 Return 0 End Method OnRender:Int() canvas.Clear(1,0,1) 'canvas.SetColor(COLOR_BLACK) 'canvas.DrawRect(750,550,140,40) 'canvas.SetColor(COLOR_WHITE) canvas.DrawText(debugString,5,5) canvas.DrawText(debugString2,300,100) #If TARGET = "glfw" canvas.DrawText(("Press F to~ntoggle fullscreen").Split("~n"),820,570,.5,.5) #EndIf canvas.Flush Return 0 End 'Method PointInRect:Bool(x:Int, y:Int, rectX:Int, rectY:Int, width:Int, height:Int) ' Return (x > rectX And y > rectY And x < rectX+width And y < rectY+height) 'End End