mojotest.monkey2 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #Import "<std>"
  2. #Import "<mojo>"
  3. #Import "assets/RedbrushAlpha.png"
  4. Namespace mojotest
  5. Using std..
  6. Using mojo..
  7. Class MojoTest Extends Window
  8. Field image:Image
  9. Field tx:Float,ty:Float
  10. Field r:Float=1,g:Float=1,b:Float=1
  11. Method New()
  12. ClearColor=New Color( 0,0,.5 )
  13. image=Image.Load( "asset::RedbrushAlpha.png" )
  14. image.Handle=New Vec2f( .5,.5 )
  15. End
  16. Method OnRender( canvas:Canvas ) Override
  17. App.RequestRender()
  18. Local sz:=Sin( Millisecs()*.0007 ) * 32
  19. Local sx:=32+sz,sy:=32,sw:=Width-(64+sz*2),sh:=Height-(64+sz)
  20. canvas.Scissor=New Recti( sx,sy,sx+sw,sy+sh )
  21. canvas.Clear( New Color( 1,32.0/255.0,0,1 ) )
  22. canvas.PushMatrix()
  23. canvas.Translate( tx,ty )
  24. canvas.Scale( Width/640.0,Height/480.0 )
  25. canvas.Translate( 320,240 )
  26. canvas.Rotate( Millisecs()*.0003 )
  27. canvas.Translate( -320,-240 )
  28. canvas.Color=New Color( .5,1,0 )
  29. canvas.DrawRect( 32,32,640-64,480-64 )
  30. canvas.Color=Color.Yellow
  31. For Local y:=0 Until 480
  32. For Local x:=16 Until 640 Step 32
  33. canvas.Alpha=Min( Abs( y-240.0 )/120.0,1.0 )
  34. canvas.DrawPoint( x,y )
  35. Next
  36. Next
  37. canvas.Alpha=1
  38. canvas.Color=New Color( 0,.5,1 )
  39. canvas.DrawOval( 64,64,640-128,480-128 )
  40. canvas.Color=New Color( 1,0,.5 )
  41. canvas.DrawLine( 32,32,640-32,480-32 )
  42. canvas.DrawLine( 640-32,32,32,480-32 )
  43. canvas.Color=New Color( r,g,b,Sin( Millisecs()*.003 ) *.5 +.5 )
  44. canvas.DrawImage( image,320,240 )
  45. canvas.Color=New Color( 1,0,.5 )
  46. canvas.DrawPoly( New Float[]( 140.0,232.0, 320.0,224.0, 500.0,232.0, 500.0,248.0, 320.0,256.0, 140.0,248.0 ) )
  47. canvas.Color=New Color( 1,.5,0 )
  48. canvas.DrawText( "The Quick Brown Fox Jumps Over The Lazy Dog",320,240,.5,.5 )
  49. canvas.PopMatrix()
  50. canvas.Scissor=Rect
  51. canvas.Color=Color.Red
  52. canvas.DrawRect( 0,0,Width,1 )
  53. canvas.DrawRect( Width-1,0,1,Height )
  54. canvas.DrawRect( 0,Height-1,Width,1 )
  55. canvas.DrawRect( 0,0,1,Height-1 )
  56. canvas.Color=Color.Blue
  57. End
  58. End
  59. Function Main()
  60. New AppInstance
  61. New MojoTest
  62. App.Run()
  63. End