themetest.monkey2 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #Import "<std>"
  2. #Import "<mojo>"
  3. #Import "<mojox>"
  4. #Import "assets/simple_theme.json"
  5. Using std..
  6. Using mojo..
  7. Using mojox..
  8. Class MyWindow Extends Window
  9. Field _scale:Float=1
  10. Field _image:Image
  11. Method New()
  12. Super.New( "Theme Demo",640,480,WindowFlags.Resizable )
  13. App.Theme.Load( "asset::simple_theme.json" )
  14. App.Theme.Scale=New Vec2f( 1.5,1.5 )
  15. Local menu:=New Menu( "File" )
  16. menu.AddAction( "Open" )
  17. menu.AddAction( "Close" )
  18. menu.AddAction( "Quit" )
  19. Local menuBar:=New MenuBar
  20. menuBar.AddMenu( menu )
  21. Local docker:=New DockingView
  22. docker.AddView( menuBar,"top" )
  23. Local tabView:=New TabView
  24. Local textView:=New TextView( "Hello World!" )
  25. textView.CursorBlinkRate=2.5
  26. tabView.AddTab( "TextView",textView,True )
  27. docker.ContentView=tabView
  28. Local browser:=New FileBrowser
  29. docker.AddView( browser,"right",200,True )
  30. ContentView=docker
  31. End
  32. Method OnRender( canvas:Canvas ) Override
  33. App.RequestRender()
  34. GCCollect()
  35. End
  36. Method OnMouseEvent( event:MouseEvent ) Override
  37. Select event.Type
  38. Case EventType.MouseWheel
  39. If event.Wheel.y>0
  40. If _scale<4 _scale+=0.125
  41. Else
  42. If _scale>.5 _scale-=0.125
  43. Endif
  44. App.Theme.Scale=New Vec2f( _scale,_scale )
  45. End
  46. End
  47. End
  48. Function Main()
  49. New AppInstance
  50. New MyWindow
  51. App.Run()
  52. End