ScriptBasicsFm.pas 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. unit ScriptBasicsFm;
  2. interface
  3. uses
  4. Winapi.Windows,
  5. Winapi.Messages,
  6. System.SysUtils,
  7. System.Classes,
  8. Vcl.Graphics,
  9. Vcl.Controls,
  10. Vcl.Forms,
  11. Vcl.Dialogs,
  12. Vcl.StdCtrls,
  13. Vcl.ExtCtrls,
  14. GLS.Scene,
  15. GLS.Objects,
  16. GLS.Cadencer,
  17. GLS.SceneViewer,
  18. GLS.AsyncTimer,
  19. GLS.Coordinates,
  20. GLS.BaseClasses,
  21. DWS.Classes,
  22. DWS.VectorGeometry,
  23. DWS.GLScene,
  24. DWS.Objects,
  25. DWS.Script,
  26. dwsComp;
  27. type
  28. TForm1 = class(TForm)
  29. GLScene1: TGLScene;
  30. GLCadencer1: TGLCadencer;
  31. GLDelphiWebScript1: TGLDelphiWebScript;
  32. dwsVectorGeometryUnit1: TdwsVectorGeometryUnit;
  33. GLSphere1: TGLSphere;
  34. Panel1: TPanel;
  35. Button3: TButton;
  36. GLSphere1Script: TMemo;
  37. CheckBox1: TCheckBox;
  38. GLCube1Script: TMemo;
  39. GLSceneViewer1: TGLSceneViewer;
  40. GLCamera1: TGLCamera;
  41. GLLightSource1: TGLLightSource;
  42. GLCube1: TGLCube;
  43. dwsClassesUnit1: TdwsClassesUnit;
  44. dwsGLSceneUnit1: TdwsGLSceneUnit;
  45. Label1: TLabel;
  46. Label2: TLabel;
  47. AsyncTimer1: TGLAsyncTimer;
  48. procedure CheckBox1Click(Sender: TObject);
  49. procedure Button3Click(Sender: TObject);
  50. procedure FormCreate(Sender: TObject);
  51. procedure AsyncTimer1Timer(Sender: TObject);
  52. end;
  53. var
  54. Form1: TForm1;
  55. implementation
  56. {$R *.dfm}
  57. procedure TForm1.FormCreate(Sender: TObject);
  58. begin
  59. // Set the initial scripts
  60. Button3Click(Self);
  61. end;
  62. procedure TForm1.Button3Click(Sender: TObject);
  63. begin
  64. // Set GLSphere1's script and force a recompile
  65. with TGLDWSActiveBehaviour(GLSphere1.Behaviours[0]) do begin
  66. Script.Text:=GLSphere1Script.Lines.Text;
  67. InvalidateScript;
  68. end;
  69. // Set GLCube1's script and force a recompile
  70. with TGLDWSActiveBehaviour(GLCube1.Behaviours[0]) do begin
  71. Script.Text:=GLCube1Script.Lines.Text;
  72. InvalidateScript;
  73. end;
  74. end;
  75. procedure TForm1.CheckBox1Click(Sender: TObject);
  76. begin
  77. GLCadencer1.Enabled:=CheckBox1.Checked;
  78. end;
  79. procedure TForm1.AsyncTimer1Timer(Sender: TObject);
  80. begin
  81. Form1.Caption:='GLScene DWS Scripting Basics - '+GLSceneViewer1.FramesPerSecondText;
  82. GLSceneViewer1.ResetPerformanceMonitor;
  83. end;
  84. end.