ソースを参照

Updated avi recorder

glscene 5 日 前
コミット
31f925dd82
47 ファイル変更878 行追加548 行削除
  1. 0 18
      Examples/Demos/utilities/ArchiveEdit/ArchiveEditD.dpr
  2. 0 1
      Examples/Demos/utilities/ArchiveEdit/ArchiveEditResource.rc
  3. 0 75
      Examples/Demos/utilities/ArchiveEdit/fFolderDlg.dfm
  4. 2 2
      Examples/Demos/utilities/Archiver/ArchiverD.dpr
  5. 9 1
      Examples/Demos/utilities/Archiver/ArchiverD.dproj
  6. 21 0
      Examples/Demos/utilities/Archiver/ArchiverEditD.dpr
  7. 18 10
      Examples/Demos/utilities/Archiver/ArchiverEditD.dproj
  8. 17 13
      Examples/Demos/utilities/Archiver/fdArchiveEdit.dfm
  9. 11 13
      Examples/Demos/utilities/Archiver/fdArchiveEdit.pas
  10. 2 1
      Examples/Demos/utilities/Archiver/fdArchiver.dfm
  11. 6 9
      Examples/Demos/utilities/Archiver/fdArchiver.pas
  12. 58 0
      Examples/Demos/utilities/Archiver/fdFolderDlg.dfm
  13. 1 1
      Examples/Demos/utilities/Archiver/fdFolderDlg.pas
  14. 4 21
      Examples/Demos/utilities/Archiver/fdFolderSelect.dfm
  15. 9 6
      Examples/Demos/utilities/Archiver/fdFolderSelect.pas
  16. 0 0
      Examples/Demos/utilities/Archiver/icons.bmp
  17. 0 0
      Examples/Demos/utilities/Archiver/icons.rc
  18. 0 65
      Examples/Demos/utilities/GLInfos/GLInfoD.dproj
  19. 1 1
      Examples/Demos/utilities/GuiEditor/GuiEditor.dpr
  20. 9 8
      Examples/Demos/utilities/GuiEditor/GuiEditor.dproj
  21. 1 1
      Examples/Demos/utilities/GuiEditor/MainFormUnit.dfm
  22. 5 3
      Examples/Demos/utilities/GuiEditor/MainFormUnit.pas
  23. 252 0
      Examples/Demos/utilities/GuiEditor/fdGuiEditor.dfm
  24. 301 0
      Examples/Demos/utilities/GuiEditor/fdGuiEditor.pas
  25. 2 2
      Examples/Demos/utilities/ScreenSaver/ScreenSaverD.dpr
  26. 2 2
      Examples/Demos/utilities/ScreenSaver/ScreenSaverD.dproj
  27. 0 2
      Examples/Demos/utilities/ScreenSaver/fdScreenSaver1.dfm
  28. 1 1
      Examples/Demos/utilities/ScreenSaver/fdScreenSaver1.pas
  29. 19 28
      Examples/Demos/utilities/ScreenSaver/fdScreenSaver2.dfm
  30. 1 1
      Examples/Demos/utilities/ScreenSaver/fdScreenSaver2.pas
  31. 37 25
      Examples/Demos/utilities/UtilitiesD.groupproj
  32. 1 1
      Examples/Demos/utilities/fontgen/FontgenD.dpr
  33. 1 1
      Examples/Demos/utilities/fontgen/FontgenD.dproj
  34. 38 65
      Examples/Demos/utilities/fontgen/fdFontgen.dfm
  35. 1 1
      Examples/Demos/utilities/fontgen/fdFontgen.pas
  36. 1 1
      Examples/Demos/utilities/joystick/JoystickD.dpr
  37. 1 1
      Examples/Demos/utilities/joystick/JoystickD.dproj
  38. 11 12
      Examples/Demos/utilities/joystick/fdJoystick.dfm
  39. 1 1
      Examples/Demos/utilities/joystick/fdJoystick.pas
  40. 2 2
      Examples/Demos/utilities/keymap/KeymapD.dpr
  41. 2 67
      Examples/Demos/utilities/keymap/KeymapD.dproj
  42. 1 1
      Examples/Demos/utilities/keymap/fdKeymap.dfm
  43. 6 6
      Examples/Demos/utilities/keymap/fdKeymap.pas
  44. 0 65
      Examples/Demos/utilities/recorder/RecorderD.dproj
  45. 3 4
      Examples/Demos/utilities/recorder/fdRecorder.dfm
  46. 19 10
      Examples/Demos/utilities/recorder/fdRecorder.pas
  47. 1 0
      Examples/_cleanexamples.cmd

+ 0 - 18
Examples/Demos/utilities/ArchiveEdit/ArchiveEditD.dpr

@@ -1,18 +0,0 @@
-program ArchiveEditD;
-
-uses
-  Forms,
-  fMainD in 'fMainD.pas' {Form1},
-  fFolderDlg in 'fFolderDlg.pas' {FDialog},
-  FolderSelect in 'FolderSelect.pas' {FolderSel};
-
-{$R *.res}
-{.$R Icons.res}
-
-begin
-  Application.Initialize;
-  Application.CreateForm(TForm1, Form1);
-  Application.CreateForm(TFDialog, FDialog);
-  Application.CreateForm(TFolderSel, FolderSel);
-  Application.Run;
-end.

+ 0 - 1
Examples/Demos/utilities/ArchiveEdit/ArchiveEditResource.rc

@@ -1 +0,0 @@
-Bitmap_1 BITMAP "icons.bmp"

+ 0 - 75
Examples/Demos/utilities/ArchiveEdit/fFolderDlg.dfm

@@ -1,75 +0,0 @@
-object FDialog: TFDialog
-  Left = 267
-  Top = 134
-  ActiveControl = Edit1
-  BorderStyle = bsDialog
-  Caption = 'Create Folder'
-  ClientHeight = 134
-  ClientWidth = 211
-  Color = clBtnFace
-  ParentFont = True
-  Position = poMainFormCenter
-  PixelsPerInch = 120
-  TextHeight = 20
-  object Bevel1: TBevel
-    Left = 10
-    Top = 10
-    Width = 191
-    Height = 71
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
-    Shape = bsFrame
-  end
-  object Label1: TLabel
-    Left = 50
-    Top = 20
-    Width = 153
-    Height = 25
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
-    Caption = 'Enter folder name:'
-  end
-  object OKBtn: TButton
-    Left = 9
-    Top = 95
-    Width = 94
-    Height = 31
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
-    Caption = 'OK'
-    Default = True
-    ModalResult = 1
-    TabOrder = 0
-  end
-  object CancelBtn: TButton
-    Left = 109
-    Top = 95
-    Width = 94
-    Height = 31
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
-    Cancel = True
-    Caption = 'Cancel'
-    ModalResult = 2
-    TabOrder = 1
-  end
-  object Edit1: TEdit
-    Left = 30
-    Top = 40
-    Width = 151
-    Height = 28
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
-    TabOrder = 2
-  end
-end

+ 2 - 2
Examples/Demos/utilities/ArchiverDemo/ArchiverD.dpr → Examples/Demos/utilities/Archiver/ArchiverD.dpr

@@ -2,13 +2,13 @@ program ArchiverD;
 
 uses
   Forms,
-  fArchiverD in 'fArchiverD.pas';
+  fdArchiver in 'fdArchiver.pas' {FormArchiver};
 
 {$R *.res}
 
 begin
   Application.Initialize;
-  Application.CreateForm(TForm1, Form1);
+  Application.CreateForm(TFormArchiver, FormArchiver);
   Application.Run;
 end.
 

+ 9 - 1
Examples/Demos/utilities/ArchiverDemo/ArchiverD.dproj → Examples/Demos/utilities/Archiver/ArchiverD.dproj

@@ -123,7 +123,9 @@
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
-        <DCCReference Include="fArchiverD.pas"/>
+        <DCCReference Include="fdArchiver.pas">
+            <Form>FormArchiver</Form>
+        </DCCReference>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
         </BuildConfiguration>
@@ -157,6 +159,12 @@
             </Platforms>
             <Deployment Version="5">
                 <DeployFile LocalName="Win32\Debug\ArchiverD.exe" Configuration="Debug" Class="ProjectOutput"/>
+                <DeployFile LocalName="Win32\Debug\ArchiverD.exe" Configuration="Debug" Class="ProjectOutput">
+                    <Platform Name="Win32">
+                        <RemoteName>ArchiverD.exe</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployClass Name="AdditionalDebugSymbols">
                     <Platform Name="iOSSimulator">
                         <Operation>1</Operation>

+ 21 - 0
Examples/Demos/utilities/Archiver/ArchiverEditD.dpr

@@ -0,0 +1,21 @@
+program ArchiverEditD;
+
+{$R 'icons.res' 'icons.rc'}
+
+uses
+  Forms,
+  fdArchiveEdit in 'fdArchiveEdit.pas' {Form1},
+  fdFolderDlg in 'fdFolderDlg.pas' {FDialog},
+  fdFolderSelect in 'fdFolderSelect.pas' {FolderSel};
+
+{$R *.res}
+{.$R Icons.res}
+
+begin
+  Application.Initialize;
+  Application.CreateForm(TForm1, Form1);
+  Application.CreateForm(TFDialog, FDialog);
+  Application.CreateForm(TFDialog, FDialog);
+  Application.CreateForm(TFolderSel, FolderSel);
+  Application.Run;
+end.

+ 18 - 10
Examples/Demos/utilities/ArchiveEdit/ArchiveEditD.dproj → Examples/Demos/utilities/Archiver/ArchiverEditD.dproj

@@ -1,7 +1,7 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
         <ProjectGuid>{65A5A5E7-6B32-4BE0-B4AF-744522B9423B}</ProjectGuid>
-        <MainSource>ArchiveEditD.dpr</MainSource>
+        <MainSource>ArchiverEditD.dpr</MainSource>
         <Base>True</Base>
         <Config Condition="'$(Config)'==''">Debug</Config>
         <TargetedPlatforms>3</TargetedPlatforms>
@@ -9,7 +9,7 @@
         <FrameworkType>VCL</FrameworkType>
         <ProjectVersion>20.3</ProjectVersion>
         <Platform Condition="'$(Platform)'==''">Win32</Platform>
-        <ProjectName Condition="'$(ProjectName)'==''">ArchiveEditD</ProjectName>
+        <ProjectName Condition="'$(ProjectName)'==''">ArchiverEditD</ProjectName>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
         <Base>true</Base>
@@ -61,7 +61,7 @@
         <DCC_ImageBase>00400000</DCC_ImageBase>
         <DCC_Namespace>Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace)</DCC_Namespace>
         <DCC_K>false</DCC_K>
-        <SanitizedProjectName>ArchiveEditD</SanitizedProjectName>
+        <SanitizedProjectName>ArchiverEditD</SanitizedProjectName>
         <DCC_F>false</DCC_F>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Base_Win32)'!=''">
@@ -123,18 +123,20 @@
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
-        <DCCReference Include="fMainD.pas">
+        <RcCompile Include="icons.rc">
+            <Form>icons.res</Form>
+        </RcCompile>
+        <DCCReference Include="fdArchiveEdit.pas">
             <Form>Form1</Form>
         </DCCReference>
-        <DCCReference Include="fFolderDlg.pas">
+        <DCCReference Include="fdFolderDlg.pas">
             <Form>FDialog</Form>
+            <FormType>dfm</FormType>
         </DCCReference>
-        <DCCReference Include="FolderSelect.pas">
+        <DCCReference Include="fdFolderSelect.pas">
             <Form>FolderSel</Form>
+            <FormType>dfm</FormType>
         </DCCReference>
-        <RcCompile Include="icons.rc">
-            <Form>icons.res</Form>
-        </RcCompile>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
         </BuildConfiguration>
@@ -153,7 +155,7 @@
         <BorlandProject>
             <Delphi.Personality>
                 <Source>
-                    <Source Name="MainSource">ArchiveEditD.dpr</Source>
+                    <Source Name="MainSource">ArchiverEditD.dpr</Source>
                 </Source>
                 <Excluded_Packages>
                     <Excluded_Packages Name="$(BDSBIN)\bcboffice2k280.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
@@ -168,6 +170,12 @@
             </Platforms>
             <Deployment Version="5">
                 <DeployFile LocalName="Win32\Debug\ArchiveEditD.exe" Configuration="Debug" Class="ProjectOutput"/>
+                <DeployFile LocalName="Win32\Debug\ArchiverEditD.exe" Configuration="Debug" Class="ProjectOutput">
+                    <Platform Name="Win32">
+                        <RemoteName>ArchiverEditD.exe</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployClass Name="AdditionalDebugSymbols">
                     <Platform Name="iOSSimulator">
                         <Operation>1</Operation>

+ 17 - 13
Examples/Demos/utilities/ArchiveEdit/fMainD.dfm → Examples/Demos/utilities/Archiver/fdArchiveEdit.dfm

@@ -20,7 +20,7 @@ object Form1: TForm1
   object Bevel1: TBevel
     Left = 0
     Top = 0
-    Width = 691
+    Width = 683
     Height = 9
     Anchors = [akLeft, akTop, akRight]
     Shape = bsTopLine
@@ -186,25 +186,25 @@ object Form1: TForm1
   end
   object OpenDialog1: TOpenDialog
     Options = [ofHideReadOnly, ofPathMustExist, ofFileMustExist, ofEnableSizing]
-    Left = 184
-    Top = 64
+    Left = 504
+    Top = 176
   end
   object SaveDialog1: TSaveDialog
     DefaultExt = 'glp'
     Filter = 'All (Pak, Zlib)|*.pak;*.zlib|PAK files|*.pak|ZLib Files|*.zlib'
     Options = [ofOverwritePrompt, ofHideReadOnly, ofEnableSizing]
-    Left = 216
-    Top = 64
+    Left = 416
+    Top = 176
   end
   object ImageList1: TImageList
     Height = 20
     Width = 20
-    Left = 216
-    Top = 32
+    Left = 320
+    Top = 176
   end
   object GLScene1: TGLScene
-    Left = 248
-    Top = 32
+    Left = 200
+    Top = 56
     object GLCamera1: TGLCamera
       DepthOfView = 100000.000000000000000000
       FocalLength = 100.000000000000000000
@@ -244,7 +244,7 @@ object Form1: TForm1
         Material.Texture.Image.Depth = 0
         Material.Texture.Disabled = False
       end>
-    Left = 248
+    Left = 568
     Top = 64
   end
   object GLSimpleNavigation1: TGLSimpleNavigation
@@ -264,15 +264,19 @@ object Form1: TForm1
         ShiftState = [ssRight]
         Action = snaMoveAroundTarget
       end>
-    Left = 280
-    Top = 32
+    Left = 296
+    Top = 56
   end
   object GLSArchiveManager1: TGLSArchiveManager
     Archives = <
       item
         Name = 'LibArchive'
       end>
-    Left = 280
+    Left = 440
     Top = 64
   end
+  object ShellResources1: TShellResources
+    Left = 232
+    Top = 272
+  end
 end

+ 11 - 13
Examples/Demos/utilities/ArchiveEdit/fMainD.pas → Examples/Demos/utilities/Archiver/fdArchiveEdit.pas

@@ -1,4 +1,4 @@
-unit fMainD;
+unit fdArchiveEdit;
 
 interface
 
@@ -18,13 +18,14 @@ uses
   Vcl.ComCtrls,
   Vcl.Imaging.Jpeg,
 
+  Stage.VectorTypes,
+  Stage.VectorGeometry,
+  Stage.Utils,
+
   GLS.ArchiveManager,
   GLS.SceneViewer,
-
   GLS.BaseClasses,
-  Stage.VectorTypes,
   GLS.Scene,
-  Stage.VectorGeometry,
   GLS.SimpleNavigation,
   GLS.Material,
   GLS.VectorFileObjects,
@@ -33,7 +34,6 @@ uses
   GLS.Graphics,
   GLS.State,
   GLS.CompositeImage,
-
   GLS.FileJPEG,
   GLS.PAKArchive,
   GLS.FileZLIB,
@@ -47,9 +47,8 @@ uses
   GLS.FileSMD,
   GLS.FileTGA,
   GLS.FilePNG,
-  GLS.FileDDS,
-
-  Stage.Utils;
+  GLS.FileDDS, Vcl.ShellAnimations
+  ;
 
 type
   TForm1 = class(TForm)
@@ -90,6 +89,7 @@ type
     PanelTree: TPanel;
     TreeView: TTreeView;
     GLSceneViewer1: TGLSceneViewer;
+    ShellResources1: TShellResources;
     procedure FormCreate(Sender: TObject);
     procedure TreeViewRefresh;
     procedure FileListRefresh;
@@ -128,13 +128,11 @@ var
   Archive: TGLLibArchive;
   vMenu: TMenuItem;
 
-//-------------------------------------
-implementation
-//-------------------------------------
+implementation //==============================================================
 
 uses
-  fFolderDlg, 
-  FolderSelect;
+  fdFolderDlg,
+  fdFolderSelect;
 
 {$R *.dfm}
 {$R icons.res}

+ 2 - 1
Examples/Demos/utilities/ArchiverDemo/fArchiverD.dfm → Examples/Demos/utilities/Archiver/fdArchiver.dfm

@@ -1,4 +1,4 @@
-object Form1: TForm1
+object FormArchiver: TFormArchiver
   Left = 333
   Top = 166
   Caption = 'Archive Loader'
@@ -10,6 +10,7 @@ object Form1: TForm1
   Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
+  Position = poScreenCenter
   OnCreate = FormCreate
   TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer

+ 6 - 9
Examples/Demos/utilities/ArchiverDemo/fArchiverD.pas → Examples/Demos/utilities/Archiver/fdArchiver.pas

@@ -1,4 +1,4 @@
-unit fArchiverD;
+unit fdArchiver;
 
 interface
 
@@ -28,7 +28,7 @@ uses
 
 type
 
-  TForm1 = class(TForm)
+  TFormArchiver = class(TForm)
     GLCadencer1: TGLCadencer;
     GLCamera: TGLCamera;
     GLDummyCube1: TGLDummyCube;
@@ -48,21 +48,18 @@ type
   end;
 
 var
-  Form1: TForm1;
+  FormArchiver: TFormArchiver;
 
-  // --------------------------------------------
-implementation
-
-// --------------------------------------------
+implementation //==============================================================
 
 {$R *.dfm}
 
-procedure TForm1.GLCadencer1Progress(Sender: TObject; const deltaTime, newTime: Double);
+procedure TFormArchiver.GLCadencer1Progress(Sender: TObject; const deltaTime, newTime: Double);
 begin
   GLCamera.Position.Rotate(VectorMake(0, 1, 0), deltaTime * 0.1);
 end;
 
-procedure TForm1.FormCreate(Sender: TObject);
+procedure TFormArchiver.FormCreate(Sender: TObject);
 begin
   var
     Path: TFileName := GetCurrentAssetPath();

+ 58 - 0
Examples/Demos/utilities/Archiver/fdFolderDlg.dfm

@@ -0,0 +1,58 @@
+object FDialog: TFDialog
+  Left = 267
+  Top = 134
+  Margins.Left = 2
+  Margins.Top = 2
+  Margins.Right = 2
+  Margins.Bottom = 2
+  ActiveControl = Edit1
+  BorderStyle = bsDialog
+  Caption = 'Create Folder'
+  ClientHeight = 122
+  ClientWidth = 189
+  Color = clBtnFace
+  ParentFont = True
+  Position = poMainFormCenter
+  TextHeight = 15
+  object Bevel1: TBevel
+    Left = 8
+    Top = 8
+    Width = 153
+    Height = 57
+    Shape = bsFrame
+  end
+  object Label1: TLabel
+    Left = 40
+    Top = 16
+    Width = 97
+    Height = 15
+    Caption = 'Enter folder name:'
+  end
+  object OKBtn: TButton
+    Left = 7
+    Top = 76
+    Width = 75
+    Height = 25
+    Caption = 'OK'
+    Default = True
+    ModalResult = 1
+    TabOrder = 0
+  end
+  object CancelBtn: TButton
+    Left = 87
+    Top = 76
+    Width = 75
+    Height = 25
+    Cancel = True
+    Caption = 'Cancel'
+    ModalResult = 2
+    TabOrder = 1
+  end
+  object Edit1: TEdit
+    Left = 24
+    Top = 32
+    Width = 121
+    Height = 23
+    TabOrder = 2
+  end
+end

+ 1 - 1
Examples/Demos/utilities/ArchiveEdit/fFolderDlg.pas → Examples/Demos/utilities/Archiver/fdFolderDlg.pas

@@ -1,4 +1,4 @@
-unit fFolderDlg;
+unit fdFolderDlg;
 
 interface
 

+ 4 - 21
Examples/Demos/utilities/ArchiveEdit/FolderSelect.dfm → Examples/Demos/utilities/Archiver/fdFolderSelect.dfm

@@ -7,10 +7,8 @@ object FolderSel: TFolderSel
   ClientWidth = 317
   Color = clBtnFace
   ParentFont = True
-  OldCreateOrder = True
   Position = poScreenCenter
-  PixelsPerInch = 96
-  TextHeight = 13
+  TextHeight = 15
   object Bevel1: TBevel
     Left = 8
     Top = 8
@@ -21,8 +19,8 @@ object FolderSel: TFolderSel
   object Label1: TLabel
     Left = 120
     Top = 16
-    Width = 64
-    Height = 13
+    Width = 68
+    Height = 15
     Caption = 'Select folder:'
   end
   object OKBtn: TButton
@@ -45,19 +43,4 @@ object FolderSel: TFolderSel
     ModalResult = 2
     TabOrder = 1
   end
-  object ShellView: TShellTreeView
-    Left = 16
-    Top = 32
-    Width = 281
-    Height = 265
-    ObjectTypes = [otFolders]
-    Root = 'rfDesktop'
-    UseShellImages = True
-    AutoRefresh = False
-    Indent = 19
-    ParentColor = False
-    RightClickSelect = True
-    ShowRoot = False
-    TabOrder = 2
-  end
-end
+end

+ 9 - 6
Examples/Demos/utilities/ArchiveEdit/FolderSelect.pas → Examples/Demos/utilities/Archiver/fdFolderSelect.pas

@@ -1,13 +1,17 @@
-unit FolderSelect;
+unit fdFolderSelect;
 
 interface
 
 
 uses
-  System.SysUtils, System.Classes,
-  Vcl.Graphics, Vcl.Forms,
-  Vcl.Controls, Vcl.StdCtrls,
-  Vcl.Buttons, Vcl.ExtCtrls,
+  System.SysUtils,
+  System.Classes,
+  Vcl.Graphics,
+  Vcl.Forms,
+  Vcl.Controls,
+  Vcl.StdCtrls,
+  Vcl.Buttons,
+  Vcl.ExtCtrls,
   Vcl.ComCtrls,
   Vcl.Shell.ShellCtrls;
 
@@ -16,7 +20,6 @@ type
     OKBtn: TButton;
     CancelBtn: TButton;
     Bevel1: TBevel;
-    ShellView: TShellTreeView;
     Label1: TLabel;
   private
      

+ 0 - 0
Examples/Demos/utilities/ArchiveEdit/icons.bmp → Examples/Demos/utilities/Archiver/icons.bmp


+ 0 - 0
Examples/Demos/utilities/ArchiveEdit/icons.rc → Examples/Demos/utilities/Archiver/icons.rc


+ 0 - 65
Examples/Demos/utilities/GLInfos/GLInfoD.dproj

@@ -66,7 +66,6 @@
         <DCC_K>false</DCC_K>
         <UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44>
         <UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150>
-        <DCC_Define>SKIA;$(DCC_Define)</DCC_Define>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Base_Win32)'!=''">
         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
@@ -152,70 +151,6 @@
                 </Excluded_Packages>
             </Delphi.Personality>
             <Deployment Version="5">
-                <DeployFile Condition="'$(SKIADIR)'==''" Required="true" LocalName="$(BDS)\bin64\sk4d.dll" Configuration="Debug" Class="Skia">
-                    <Platform Name="Win64">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'==''" Required="true" LocalName="$(BDS)\bin64\sk4d.dll" Configuration="Release" Class="Skia">
-                    <Platform Name="Win64">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'==''" Required="true" LocalName="$(BDS)\bin\sk4d.dll" Configuration="Debug" Class="Skia">
-                    <Platform Name="Win32">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'==''" Required="true" LocalName="$(BDS)\bin\sk4d.dll" Configuration="Release" Class="Skia">
-                    <Platform Name="Win32">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'!=''" Required="true" LocalName="$(SKIADIR)\Binary\Shared\Win32\sk4d.dll" Configuration="Debug" Class="Skia">
-                    <Platform Name="Win32">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'!=''" Required="true" LocalName="$(SKIADIR)\Binary\Shared\Win32\sk4d.dll" Configuration="Release" Class="Skia">
-                    <Platform Name="Win32">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'!=''" Required="true" LocalName="$(SKIADIR)\Binary\Shared\Win64\sk4d.dll" Configuration="Debug" Class="Skia">
-                    <Platform Name="Win64">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'!=''" Required="true" LocalName="$(SKIADIR)\Binary\Shared\Win64\sk4d.dll" Configuration="Release" Class="Skia">
-                    <Platform Name="Win64">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
                 <DeployFile LocalName="GLInfos.exe" Configuration="Debug" Class="ProjectOutput"/>
                 <DeployClass Name="AdditionalDebugSymbols">
                     <Platform Name="iOSSimulator">

+ 1 - 1
Examples/Demos/utilities/GuiEditor/GuiEditor.dpr

@@ -17,7 +17,7 @@ program GuiEditor;
 
 uses
   Forms,
-  MainFormUnit in 'MainFormUnit.pas' {Form1};
+  fdGuiEditor in 'fdGuiEditor.pas' {Form1};
 
 {$R *.res}
 

+ 9 - 8
Examples/Demos/utilities/GuiEditor/GuiEditor.dproj

@@ -7,8 +7,9 @@
         <TargetedPlatforms>3</TargetedPlatforms>
         <AppType>Application</AppType>
         <FrameworkType>VCL</FrameworkType>
-        <ProjectVersion>19.4</ProjectVersion>
+        <ProjectVersion>20.3</ProjectVersion>
         <Platform Condition="'$(Platform)'==''">Win32</Platform>
+        <ProjectName Condition="'$(ProjectName)'==''">GuiEditor</ProjectName>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
         <Base>true</Base>
@@ -99,10 +100,10 @@
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
         <VerInfo_Locale>1033</VerInfo_Locale>
-        <DCC_UnitSearchPath>$(GLSCENE)\Source;$(GLSCENE)\Source\DesignTime;$(GLSCENE)\Source\FileFormats</DCC_UnitSearchPath>
+        <DCC_UnitSearchPath>..\..\..\..\Source\DesignTime</DCC_UnitSearchPath>
         <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
         <VerInfo_Keys>CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName)</VerInfo_Keys>
-        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
+        <AppDPIAwarenessMode>none</AppDPIAwarenessMode>
         <BT_BuildType>Debug</BT_BuildType>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
@@ -118,7 +119,7 @@
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
-        <DCCReference Include="MainFormUnit.pas">
+        <DCCReference Include="fdGuiEditor.pas">
             <Form>Form1</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">
@@ -142,10 +143,10 @@
                     <Source Name="MainSource">GuiEditor.dpr</Source>
                 </Source>
                 <Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\bcboffice2k240.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\bcbofficexp240.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\dcloffice2k240.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\dclofficexp240.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\bcboffice2k370.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\bcbofficexp370.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\dcloffice2k370.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\dclofficexp370.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
                 </Excluded_Packages>
             </Delphi.Personality>
             <Platforms>

+ 1 - 1
Examples/Demos/utilities/GuiEditor/MainFormUnit.dfm

@@ -34,7 +34,7 @@ object Form1: TForm1
     Align = alLeft
     Caption = 'Panel1'
     TabOrder = 1
-    ExplicitLeft = 648
+    ExplicitHeight = 528
     object Label1: TLabel
       Left = 8
       Top = 16

+ 5 - 3
Examples/Demos/utilities/GuiEditor/MainFormUnit.pas

@@ -14,6 +14,7 @@ uses
   Vcl.StdCtrls,
   Vcl.ExtDlgs,
 
+  Stage.Utils,
   GLS.Gui,
   GLS.Scene,
   GLS.SceneViewer,
@@ -27,7 +28,8 @@ uses
   GLS.Material,
   GLS.Coordinates,
   GLS.BaseClasses,
-  Stage.Utils, Vcl.ExtCtrls;
+
+  Vcl.ExtCtrls;
 
 type
   TForm1 = class(TForm)
@@ -91,7 +93,7 @@ type
 var
   Form1: TForm1;
 
-implementation
+implementation //=============================================================
 
 {$R *.dfm}
 
@@ -101,7 +103,7 @@ var
 begin
   var Path: TFileName := GetCurrentAssetPath();
   SetCurrentDir(Path + '\skin');
-  GLMaterialLibrary1.Materials[0].Material.Texture.Image. LoadFromFile('DefaultSkin.bmp');
+  GLMaterialLibrary1.Materials[0].Material.Texture.Image.LoadFromFile('DefaultSkin.bmp');
 end;
 
 procedure TForm1.Open1Click(Sender: TObject);

+ 252 - 0
Examples/Demos/utilities/GuiEditor/fdGuiEditor.dfm

@@ -0,0 +1,252 @@
+object Form1: TForm1
+  Left = 140
+  Top = 116
+  Caption = 'Gui Skin Editor and Manager'
+  ClientHeight = 553
+  ClientWidth = 895
+  Color = clBtnFace
+  Font.Charset = DEFAULT_CHARSET
+  Font.Color = clWindowText
+  Font.Height = -11
+  Font.Name = 'MS Sans Serif'
+  Font.Style = []
+  Menu = MainMenu1
+  Position = poScreenCenter
+  OnCreate = FormCreate
+  TextHeight = 13
+  object GLSceneViewer1: TGLSceneViewer
+    Left = 247
+    Top = 0
+    Width = 648
+    Height = 553
+    Camera = GLCamera1
+    Buffer.BackgroundColor = clBackground
+    FieldOfView = 159.499740600585900000
+    PenAsTouch = False
+    Align = alClient
+    TabOrder = 0
+  end
+  object Panel1: TPanel
+    Left = 0
+    Top = 0
+    Width = 247
+    Height = 553
+    Align = alLeft
+    Caption = 'Panel1'
+    TabOrder = 1
+    ExplicitHeight = 528
+    object Label1: TLabel
+      Left = 8
+      Top = 16
+      Width = 99
+      Height = 13
+      Caption = 'Layouts in collection:'
+    end
+    object ListBox: TListBox
+      Left = 8
+      Top = 64
+      Width = 233
+      Height = 281
+      ItemHeight = 13
+      PopupMenu = ListPopup
+      TabOrder = 0
+      OnClick = ListBoxClick
+    end
+    object Button2: TButton
+      Left = 208
+      Top = 32
+      Width = 33
+      Height = 25
+      Caption = 'Edit'
+      TabOrder = 1
+      OnClick = Button2Click
+    end
+    object Button1: TButton
+      Left = 168
+      Top = 32
+      Width = 33
+      Height = 25
+      Caption = 'Add'
+      TabOrder = 2
+      OnClick = Button1Click
+    end
+    object Edit3: TEdit
+      Left = 8
+      Top = 32
+      Width = 153
+      Height = 21
+      TabOrder = 3
+      Text = 'Newly Added'
+      OnChange = Edit3Change
+      OnKeyPress = Edit3KeyPress
+    end
+  end
+  object MainMenu1: TMainMenu
+    Left = 160
+    Top = 160
+    object File1: TMenuItem
+      Caption = '&File'
+      object Open1: TMenuItem
+        Caption = 'Open...'
+        OnClick = Open1Click
+      end
+      object Save1: TMenuItem
+        Caption = 'Save...'
+        OnClick = Save1Click
+      end
+      object Close1: TMenuItem
+        Caption = 'Close'
+        OnClick = Close1Click
+      end
+      object N1: TMenuItem
+        Caption = '-'
+      end
+      object Import1: TMenuItem
+        Caption = 'Import...'
+        OnClick = Import1Click
+      end
+      object N2: TMenuItem
+        Caption = '-'
+      end
+      object Exit1: TMenuItem
+        Caption = 'Exit'
+        OnClick = Exit1Click
+      end
+    end
+    object Edit1: TMenuItem
+      Caption = 'Edit'
+      object EditLayout1: TMenuItem
+        Caption = 'Edit Layout'
+        OnClick = EditLayout1Click
+      end
+    end
+    object Image1: TMenuItem
+      Caption = 'Image'
+      object Load1: TMenuItem
+        Caption = 'Load...'
+        OnClick = Load1Click
+      end
+    end
+  end
+  object OpenDialog: TOpenDialog
+    DefaultExt = '*.layout'
+    Filter = 'Layouts|*.layout'
+    Title = 'Open Layout'
+    Left = 32
+    Top = 208
+  end
+  object SaveDialog: TSaveDialog
+    DefaultExt = '*.layout'
+    Filter = 'Layouts|*.layout'
+    Title = 'Save Layout'
+    Left = 64
+    Top = 272
+  end
+  object GLGuiLayout1: TGLGuiLayout
+    BitmapFont = WindowsBitmapFont1
+    Material.MaterialLibrary = GLMaterialLibrary1
+    Material.LibMaterialName = 'LibMaterial'
+    GuiComponents = <>
+    Left = 32
+    Top = 160
+  end
+  object ImportDialog: TOpenDialog
+    DefaultExt = '*.layout'
+    Filter = 'Layouts|*.layout'
+    Options = [ofHideReadOnly, ofAllowMultiSelect, ofFileMustExist, ofEnableSizing]
+    Left = 176
+    Top = 208
+  end
+  object ListPopup: TPopupMenu
+    Left = 104
+    Top = 208
+    object Add1: TMenuItem
+      Caption = 'Add'
+      OnClick = Add1Click
+    end
+    object Remove1: TMenuItem
+      Caption = 'Remove'
+      OnClick = Remove1Click
+    end
+    object N3: TMenuItem
+      Caption = '-'
+    end
+    object Edit2: TMenuItem
+      Caption = 'Edit'
+      OnClick = Edit2Click
+    end
+  end
+  object GLScene1: TGLScene
+    Left = 56
+    Top = 64
+    object HUDSprite1: TGLHUDSprite
+      Material.MaterialLibrary = GLMaterialLibrary1
+      Material.LibMaterialName = 'LibMaterial'
+      Position.Coordinates = {0000164300001643000000000000803F}
+      Width = 200.000000000000000000
+      Height = 200.000000000000000000
+      Rotation = 0.000000000000000000
+    end
+    object GLPanel1: TGLPanel
+      Autosize = False
+      RedrawAtOnce = False
+      GuiLayout = GLGuiLayout1
+      Rotation = 0.000000000000000000
+      NoZWrite = False
+      DoChangesOnProgress = False
+      Width = 200.000000000000000000
+      Height = 200.000000000000000000
+      Left = 50.000000000000000000
+      Top = 50.000000000000000000
+      Position.Coordinates = {0000484200004842000000000000803F}
+    end
+    object GLCamera1: TGLCamera
+      DepthOfView = 100.000000000000000000
+      FocalLength = 50.000000000000000000
+    end
+  end
+  object WindowsBitmapFont1: TGLWindowsBitmapFont
+    Font.Charset = DEFAULT_CHARSET
+    Font.Color = clWhite
+    Font.Height = -16
+    Font.Name = 'Verdana'
+    Font.Style = []
+    Ranges = <
+      item
+        StartASCII = 'A'
+        StopASCII = 'Z'
+        StartGlyphIdx = 0
+      end
+      item
+        StartASCII = 'a'
+        StopASCII = 'z'
+        StartGlyphIdx = 26
+      end
+      item
+        StartASCII = '0'
+        StopASCII = '9'
+        StartGlyphIdx = 52
+      end
+      item
+        StartASCII = ' '
+        StopASCII = ' '
+        StartGlyphIdx = 62
+      end>
+    Left = 160
+    Top = 64
+  end
+  object OpenPictureDialog: TOpenPictureDialog
+    Left = 144
+    Top = 272
+  end
+  object GLMaterialLibrary1: TGLMaterialLibrary
+    Materials = <
+      item
+        Name = 'LibMaterial'
+        Tag = 0
+        Material.Texture.Disabled = False
+      end>
+    Left = 104
+    Top = 112
+  end
+end

+ 301 - 0
Examples/Demos/utilities/GuiEditor/fdGuiEditor.pas

@@ -0,0 +1,301 @@
+unit fdGuiEditor;
+
+interface
+
+uses
+  Winapi.OpenGL,
+  System.SysUtils,
+  System.Classes,
+  Vcl.Graphics,
+  Vcl.Controls,
+  Vcl.Forms,
+  Vcl.Dialogs,
+  Vcl.Menus,
+  Vcl.StdCtrls,
+  Vcl.ExtDlgs,
+
+  Stage.Utils,
+  GLS.Gui,
+  GLS.Scene,
+  GLS.SceneViewer,
+  GLS.Objects,
+  GLS.HUDObjects,
+  GLS.Windows,
+  GLS.BitmapFont,
+  GLS.WindowsFont,
+  GLS.Texture,
+  FmGuiSkinEditor,
+  GLS.Material,
+  GLS.Coordinates,
+  GLS.BaseClasses,
+
+  Vcl.ExtCtrls;
+
+type
+  TForm1 = class(TForm)
+    MainMenu1: TMainMenu;
+    File1: TMenuItem;
+    Open1: TMenuItem;
+    Save1: TMenuItem;
+    Close1: TMenuItem;
+    N1: TMenuItem;
+    Import1: TMenuItem;
+    N2: TMenuItem;
+    Exit1: TMenuItem;
+    OpenDialog: TOpenDialog;
+    SaveDialog: TSaveDialog;
+    GLGuiLayout1: TGLGuiLayout;
+    ImportDialog: TOpenDialog;
+    Edit1: TMenuItem;
+    EditLayout1: TMenuItem;
+    ListPopup: TPopupMenu;
+    Add1: TMenuItem;
+    Remove1: TMenuItem;
+    Edit2: TMenuItem;
+    N3: TMenuItem;
+    GLScene1: TGLScene;
+    GLSceneViewer1: TGLSceneViewer;
+    GLCamera1: TGLCamera;
+    GLPanel1: TGLPanel;
+    WindowsBitmapFont1: TGLWindowsBitmapFont;
+    Image1: TMenuItem;
+    Load1: TMenuItem;
+    OpenPictureDialog: TOpenPictureDialog;
+    GLMaterialLibrary1: TGLMaterialLibrary;
+    HUDSprite1: TGLHUDSprite;
+    Panel1: TPanel;
+    ListBox: TListBox;
+    Button2: TButton;
+    Button1: TButton;
+    Edit3: TEdit;
+    Label1: TLabel;
+    procedure Open1Click(Sender: TObject);
+    procedure Save1Click(Sender: TObject);
+    procedure Close1Click(Sender: TObject);
+    procedure Import1Click(Sender: TObject);
+    procedure EditLayout1Click(Sender: TObject);
+    procedure Add1Click(Sender: TObject);
+    procedure Remove1Click(Sender: TObject);
+    procedure Edit2Click(Sender: TObject);
+    procedure ListBoxClick(Sender: TObject);
+    procedure Load1Click(Sender: TObject);
+    procedure Edit3Change(Sender: TObject);
+    procedure Exit1Click(Sender: TObject);
+    procedure FormCreate(Sender: TObject);
+    procedure Button1Click(Sender: TObject);
+    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
+    procedure Button2Click(Sender: TObject);
+  private
+  public
+    Procedure UpdateLayoutList;
+  end;
+
+var
+  Form1: TForm1;
+
+implementation //=============================================================
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+var
+  I : Integer;
+begin
+  var Path: TFileName := GetCurrentAssetPath();
+  SetCurrentDir(Path + '\skin');
+  GLMaterialLibrary1.Materials[0].Material.Texture.Image.LoadFromFile('DefaultSkin.bmp');
+end;
+
+procedure TForm1.Open1Click(Sender: TObject);
+begin
+  OpenDialog.InitialDir := GetCurrentDir();
+  If OpenDialog.Execute then
+  Begin
+    GLScene1.BeginUpdate;
+    try
+      GLGuiLayout1.Clear;
+      GLGuiLayout1.LoadFromFile(OpenDialog.FileName);
+      UpdateLayoutList;
+    finally
+      GLScene1.EndUpdate;
+    end;
+  End;
+end;
+
+procedure TForm1.Save1Click(Sender: TObject);
+begin
+  if SaveDialog.Execute then
+  Begin
+    GLGuiLayout1.SaveToFile(SaveDialog.FileName);
+  End;
+end;
+
+procedure TForm1.Close1Click(Sender: TObject);
+begin
+  GLScene1.BeginUpdate;
+  try
+    GLGuiLayout1.Clear;
+    UpdateLayoutList;
+  finally
+    GLScene1.EndUpdate;
+  end;
+End;
+
+procedure TForm1.Import1Click(Sender: TObject);
+Var
+  XC : Integer;
+
+begin
+  if ImportDialog.Execute then
+  Begin
+    GLScene1.BeginUpdate;
+    try
+      For XC := 0 to ImportDialog.Files.Count-1 do
+      Begin
+        try
+          GLGuiLayout1.LoadFromFile(ImportDialog.Files[XC]);
+        except
+        end;
+      End;
+      UpdateLayoutList;
+    finally
+      GLScene1.EndUpdate;
+    end;
+  End;
+end;
+
+procedure TForm1.EditLayout1Click(Sender: TObject);
+begin
+  Hide;
+  GLScene1.BeginUpdate;
+  try
+    If ListBox.ItemIndex >= 0 then
+    GUIComponentDialog((ListBox.Items.Objects[ListBox.ItemIndex] as TGLGuiComponent).Elements)
+  finally
+    GLScene1.EndUpdate;
+    Show;
+  end;
+end;
+
+Procedure TForm1.UpdateLayoutList;
+var
+  i : Integer;
+begin
+  ListBox.Clear;
+  With GLGuiLayout1.GuiComponents do for i:=0 to Count-1 do
+    ListBox.Items.AddObject(Items[i].Name, Items[i]);
+  ListBox.Selected[GLGuiLayout1.GuiComponents.Count-1] := True;
+End;
+
+procedure TForm1.Add1Click(Sender: TObject);
+Var
+  GuiComp : TGLGuiComponent;
+
+begin
+  GuiComp := GLGuiLayout1.GuiComponents.Add as TGLGuiComponent;
+
+  If ListBox.ItemIndex >= 0 then
+  begin
+    GuiComp.Name := 'Newly Added';
+  end else GuiComp.Name := Edit3.Text;
+
+  UpdateLayoutList;
+end;
+
+procedure TForm1.Remove1Click(Sender: TObject);
+Var
+  S : String;
+begin
+  If ListBox.ItemIndex >= 0 then
+  Begin
+    GLScene1.BeginUpdate;
+    try
+      GLGuiLayout1.GUIComponents.Delete(ListBox.ItemIndex);
+      ListBox.Items.Delete(ListBox.ItemIndex);
+      S := GLPanel1.GuiLayoutName;
+      GLPanel1.GuiLayoutName := '';
+      GLPanel1.GuiLayoutName := S;
+    finally
+      GLScene1.EndUpdate;
+    end;
+  End;
+end;
+
+procedure TForm1.Edit2Click(Sender: TObject);
+begin
+  If ListBox.ItemIndex >= 0 then
+  GUIComponentDialog((ListBox.Items.Objects[ListBox.ItemIndex] as TGLGuiComponent).Elements)
+end;
+
+procedure TForm1.ListBoxClick(Sender: TObject);
+begin
+  GLScene1.BeginUpdate;
+  try
+    If ListBox.ItemIndex >= 0 then
+    Begin
+      GLPanel1.GuiLayoutName := GLGuiLayout1.GuiComponents.Items[ListBox.ItemIndex].Name;
+      Edit3.text := GLPanel1.GuiLayoutName;
+    End else
+    Begin
+      GLPanel1.GuiLayoutName := '';
+      Edit3.text := 'Newly Added';
+    End;
+    GLPanel1.DoChanges;
+  finally
+    GLScene1.EndUpdate;
+  end;
+end;
+
+procedure TForm1.Load1Click(Sender: TObject);
+Var
+  Mat : TGLLibMaterial;
+  MatName : String;
+begin
+  If OpenPictureDialog.Execute then
+  Begin
+    GLScene1.BeginUpdate;
+    try
+      MatName := ExtractFileName(OpenPictureDialog.FileName);
+      Mat := GLMaterialLibrary1.Materials.GetLibMaterialByName(MatName);
+      If not Assigned(Mat) then
+      Begin
+        GLMaterialLibrary1.AddTextureMaterial(MatName,OpenPictureDialog.FileName).Material.Texture.TextureMode := tmReplace;
+      End;
+      GLGuiLayout1.Material.LibMaterialName := MatName;
+      HUDSprite1.Material.LibMaterialName := MatName;
+    finally
+      GLScene1.EndUpdate;
+    end;
+  End;
+end;
+
+procedure TForm1.Edit3Change(Sender: TObject);
+begin
+  If (ListBox.ItemIndex >= 0) then
+  Begin
+    ListBox.Items[ListBox.ItemIndex] := Edit3.Text;
+    GLGuiLayout1.GuiComponents.Items[ListBox.ItemIndex].Name := Edit3.Text;
+  End;
+end;
+
+procedure TForm1.Exit1Click(Sender: TObject);
+begin
+   Application.Terminate;
+end;
+
+procedure TForm1.Button1Click(Sender: TObject);
+begin
+  Add1Click(Sender);
+end;
+
+procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
+begin
+  If Key = #13 then Add1Click(Sender);
+end;
+
+procedure TForm1.Button2Click(Sender: TObject);
+begin
+  Edit2Click(Sender);
+end;
+
+end.

+ 2 - 2
Examples/Demos/utilities/ScreenSaver/ScreenSaverD.dpr

@@ -21,8 +21,8 @@ program ScreenSaverD;
 
 uses
   Forms,
-  fScreenSaver1D in 'fScreenSaver1D.pas' {Form1},
-  fScreenSaver2D in 'fScreenSaver2D.pas' {Form2};
+  fdScreenSaver1 in 'fdScreenSaver1.pas' {Form1},
+  fdScreenSaver2 in 'fdScreenSaver2.pas' {Form2};
 
 {$E scr}
 

+ 2 - 2
Examples/Demos/utilities/ScreenSaver/ScreenSaverD.dproj

@@ -125,10 +125,10 @@
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
-        <DCCReference Include="fScreenSaver1D.pas">
+        <DCCReference Include="fdScreenSaver1.pas">
             <Form>Form1</Form>
         </DCCReference>
-        <DCCReference Include="fScreenSaver2D.pas">
+        <DCCReference Include="fdScreenSaver2.pas">
             <Form>Form2</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">

+ 0 - 2
Examples/Demos/utilities/ScreenSaver/fScreenSaver1D.dfm → Examples/Demos/utilities/ScreenSaver/fdScreenSaver1.dfm

@@ -26,8 +26,6 @@ object Form1: TForm1
     PenAsTouch = False
     Align = alClient
     TabOrder = 0
-    ExplicitWidth = 528
-    ExplicitHeight = 368
   end
   object GLScene1: TGLScene
     Left = 24

+ 1 - 1
Examples/Demos/utilities/ScreenSaver/fScreenSaver1D.pas → Examples/Demos/utilities/ScreenSaver/fdScreenSaver1.pas

@@ -1,4 +1,4 @@
-unit fScreenSaver1D;
+unit fdScreenSaver1;
 
 interface
 

+ 19 - 28
Examples/Demos/utilities/ScreenSaver/fScreenSaver2D.dfm → Examples/Demos/utilities/ScreenSaver/fdScreenSaver2.dfm

@@ -1,33 +1,32 @@
 object Form2: TForm2
   Left = 209
   Top = 124
+  Margins.Left = 2
+  Margins.Top = 2
+  Margins.Right = 2
+  Margins.Bottom = 2
   BorderStyle = bsNone
   BorderWidth = 2
   Caption = 'Form2'
-  ClientHeight = 346
-  ClientWidth = 590
+  ClientHeight = 277
+  ClientWidth = 472
   Color = clBtnShadow
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -14
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Position = poScreenCenter
   OnCreate = FormCreate
-  PixelsPerInch = 120
-  TextHeight = 16
+  TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 590
-    Height = 346
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Width = 472
+    Height = 277
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
-    FieldOfView = 147.759582519531300000
+    FieldOfView = 140.299743652343800000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = GLSceneViewer1MouseDown
@@ -35,14 +34,10 @@ object Form2: TForm2
     TabOrder = 0
   end
   object Button1: TButton
-    Left = 350
-    Top = 230
-    Width = 94
-    Height = 31
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Left = 280
+    Top = 184
+    Width = 75
+    Height = 25
     Cancel = True
     Caption = 'Ok'
     Default = True
@@ -52,14 +47,10 @@ object Form2: TForm2
     TabOrder = 1
   end
   object Button2: TButton
-    Left = 180
-    Top = 235
-    Width = 121
-    Height = 24
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Left = 144
+    Top = 188
+    Width = 97
+    Height = 19
     Caption = 'Define Password'
     ParentShowHint = False
     ShowHint = False

+ 1 - 1
Examples/Demos/utilities/ScreenSaver/fScreenSaver2D.pas → Examples/Demos/utilities/ScreenSaver/fdScreenSaver2.pas

@@ -11,7 +11,7 @@
 
   Beginners may also be interested in the Registry access.
 }
-unit fScreenSaver2D;
+unit fdScreenSaver2;
 
 interface
 

+ 37 - 25
Examples/Demos/utilities/UtilitiesD.groupproj

@@ -3,16 +3,19 @@
         <ProjectGuid>{42939014-896A-4EC3-A943-FC10829CCD36}</ProjectGuid>
     </PropertyGroup>
     <ItemGroup>
-        <Projects Include="ArchiverDemo\ArchiverD.dproj">
+        <Projects Include="Archiver\ArchiverD.dproj">
             <Dependencies/>
         </Projects>
-        <Projects Include="ArchiveEdit\ArchiveEditD.dproj">
+        <Projects Include="Archiver\ArchiverEditD.dproj">
             <Dependencies/>
         </Projects>
-        <Projects Include="fontgen\FontgenD.dproj">
+        <Projects Include="GLInfos\GLInfoD.dproj">
+            <Dependencies/>
+        </Projects>
+        <Projects Include="GuiEditor\GuiEditor.dproj">
             <Dependencies/>
         </Projects>
-        <Projects Include="GLInfos\GLInfosD.dproj">
+        <Projects Include="fontgen\FontgenD.dproj">
             <Dependencies/>
         </Projects>
         <Projects Include="joystick\JoystickD.dproj">
@@ -36,22 +39,40 @@
         </BorlandProject>
     </ProjectExtensions>
     <Target Name="ArchiverD">
-        <MSBuild Projects="ArchiverDemo\ArchiverD.dproj"/>
+        <MSBuild Projects="Archiver\ArchiverD.dproj"/>
     </Target>
     <Target Name="ArchiverD:Clean">
-        <MSBuild Projects="ArchiverDemo\ArchiverD.dproj" Targets="Clean"/>
+        <MSBuild Projects="Archiver\ArchiverD.dproj" Targets="Clean"/>
     </Target>
     <Target Name="ArchiverD:Make">
-        <MSBuild Projects="ArchiverDemo\ArchiverD.dproj" Targets="Make"/>
+        <MSBuild Projects="Archiver\ArchiverD.dproj" Targets="Make"/>
+    </Target>
+    <Target Name="ArchiverEditD">
+        <MSBuild Projects="Archiver\ArchiverEditD.dproj"/>
+    </Target>
+    <Target Name="ArchiverEditD:Clean">
+        <MSBuild Projects="Archiver\ArchiverEditD.dproj" Targets="Clean"/>
+    </Target>
+    <Target Name="ArchiverEditD:Make">
+        <MSBuild Projects="Archiver\ArchiverEditD.dproj" Targets="Make"/>
     </Target>
-    <Target Name="ArchiveEditD">
-        <MSBuild Projects="ArchiveEdit\ArchiveEditD.dproj"/>
+    <Target Name="GLInfoD">
+        <MSBuild Projects="GLInfos\GLInfoD.dproj"/>
     </Target>
-    <Target Name="ArchiveEditD:Clean">
-        <MSBuild Projects="ArchiveEdit\ArchiveEditD.dproj" Targets="Clean"/>
+    <Target Name="GLInfoD:Clean">
+        <MSBuild Projects="GLInfos\GLInfoD.dproj" Targets="Clean"/>
     </Target>
-    <Target Name="ArchiveEditD:Make">
-        <MSBuild Projects="ArchiveEdit\ArchiveEditD.dproj" Targets="Make"/>
+    <Target Name="GLInfoD:Make">
+        <MSBuild Projects="GLInfos\GLInfoD.dproj" Targets="Make"/>
+    </Target>
+    <Target Name="GuiEditor">
+        <MSBuild Projects="GuiEditor\GuiEditor.dproj"/>
+    </Target>
+    <Target Name="GuiEditor:Clean">
+        <MSBuild Projects="GuiEditor\GuiEditor.dproj" Targets="Clean"/>
+    </Target>
+    <Target Name="GuiEditor:Make">
+        <MSBuild Projects="GuiEditor\GuiEditor.dproj" Targets="Make"/>
     </Target>
     <Target Name="FontgenD">
         <MSBuild Projects="fontgen\FontgenD.dproj"/>
@@ -62,15 +83,6 @@
     <Target Name="FontgenD:Make">
         <MSBuild Projects="fontgen\FontgenD.dproj" Targets="Make"/>
     </Target>
-    <Target Name="GLInfosD">
-        <MSBuild Projects="GLInfos\GLInfosD.dproj"/>
-    </Target>
-    <Target Name="GLInfosD:Clean">
-        <MSBuild Projects="GLInfos\GLInfosD.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="GLInfosD:Make">
-        <MSBuild Projects="GLInfos\GLInfosD.dproj" Targets="Make"/>
-    </Target>
     <Target Name="JoystickD">
         <MSBuild Projects="joystick\JoystickD.dproj"/>
     </Target>
@@ -108,13 +120,13 @@
         <MSBuild Projects="ScreenSaver\ScreenSaverD.dproj" Targets="Make"/>
     </Target>
     <Target Name="Build">
-        <CallTarget Targets="ArchiverD;ArchiveEditD;FontgenD;GLInfosD;JoystickD;KeymapD;RecorderD;ScreenSaverD"/>
+        <CallTarget Targets="ArchiverD;ArchiverEditD;GLInfoD;GuiEditor;FontgenD;JoystickD;KeymapD;RecorderD;ScreenSaverD"/>
     </Target>
     <Target Name="Clean">
-        <CallTarget Targets="ArchiverD:Clean;ArchiveEditD:Clean;FontgenD:Clean;GLInfosD:Clean;JoystickD:Clean;KeymapD:Clean;RecorderD:Clean;ScreenSaverD:Clean"/>
+        <CallTarget Targets="ArchiverD:Clean;ArchiverEditD:Clean;GLInfoD:Clean;GuiEditor:Clean;FontgenD:Clean;JoystickD:Clean;KeymapD:Clean;RecorderD:Clean;ScreenSaverD:Clean"/>
     </Target>
     <Target Name="Make">
-        <CallTarget Targets="ArchiverD:Make;ArchiveEditD:Make;FontgenD:Make;GLInfosD:Make;JoystickD:Make;KeymapD:Make;RecorderD:Make;ScreenSaverD:Make"/>
+        <CallTarget Targets="ArchiverD:Make;ArchiverEditD:Make;GLInfoD:Make;GuiEditor:Make;FontgenD:Make;JoystickD:Make;KeymapD:Make;RecorderD:Make;ScreenSaverD:Make"/>
     </Target>
     <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
 </Project>

+ 1 - 1
Examples/Demos/utilities/fontgen/FontgenD.dpr

@@ -2,7 +2,7 @@ program FontgenD;
 
 uses
   Forms,
-  fFontgenD in 'fFontgenD.pas' {FormFontGen};
+  fdFontgen in 'fdFontgen.pas' {FormFontGen};
 
 {$R *.res}
 

+ 1 - 1
Examples/Demos/utilities/fontgen/FontgenD.dproj

@@ -115,7 +115,7 @@
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
-        <DCCReference Include="fFontgenD.pas">
+        <DCCReference Include="fdFontgen.pas">
             <Form>FormFontGen</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">

+ 38 - 65
Examples/Demos/utilities/fontgen/fFontgenD.dfm → Examples/Demos/utilities/fontgen/fdFontgen.dfm

@@ -1,112 +1,85 @@
 object FormFontGen: TFormFontGen
   Left = 277
   Top = 178
+  Margins.Left = 2
+  Margins.Top = 2
+  Margins.Right = 2
+  Margins.Bottom = 2
   BorderStyle = bsSingle
   Caption = 'FontGen'
-  ClientHeight = 454
-  ClientWidth = 473
+  ClientHeight = 363
+  ClientWidth = 383
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -14
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Position = poScreenCenter
   OnCreate = FormCreate
-  PixelsPerInch = 120
-  TextHeight = 16
+  TextHeight = 13
   object GroupBox1: TGroupBox
-    Left = 8
-    Top = 10
-    Width = 453
-    Height = 136
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Left = 6
+    Top = 8
+    Width = 363
+    Height = 109
     Caption = '1. Select Windows font :'
     TabOrder = 0
     object Panel1: TPanel
-      Left = 13
-      Top = 25
-      Width = 428
-      Height = 51
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 10
+      Top = 20
+      Width = 343
+      Height = 41
       BevelOuter = bvLowered
       Caption = 'Sample AaBbCcDd'
       Font.Charset = RUSSIAN_CHARSET
       Font.Color = clWindowText
-      Font.Height = -14
+      Font.Height = -11
       Font.Name = 'Arial'
       Font.Style = []
       ParentFont = False
       TabOrder = 0
     end
     object Button1: TButton
-      Left = 178
-      Top = 88
-      Width = 93
-      Height = 31
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 142
+      Top = 70
+      Width = 75
+      Height = 25
       Caption = 'Select...'
       TabOrder = 1
       OnClick = Button1Click
     end
   end
   object GroupBox2: TGroupBox
-    Left = 8
-    Top = 150
-    Width = 453
-    Height = 211
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Left = 6
+    Top = 120
+    Width = 363
+    Height = 169
     Caption = '2. Check glyphs'
     TabOrder = 1
     object Image1: TImage
       Left = 2
-      Top = 18
-      Width = 449
-      Height = 191
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Top = 15
+      Width = 359
+      Height = 152
       Align = alClient
       Center = True
-      ExplicitLeft = 3
-      ExplicitTop = 19
-      ExplicitWidth = 448
-      ExplicitHeight = 190
+      ExplicitTop = 14
+      ExplicitHeight = 153
     end
   end
   object GroupBox3: TGroupBox
-    Left = 8
-    Top = 363
-    Width = 453
-    Height = 81
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Left = 6
+    Top = 290
+    Width = 363
+    Height = 65
     Caption = '3. Save font:'
     TabOrder = 2
     object Button2: TButton
-      Left = 188
-      Top = 30
-      Width = 93
-      Height = 31
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 150
+      Top = 24
+      Width = 75
+      Height = 25
       Caption = 'Save...'
       TabOrder = 0
       OnClick = Button2Click

+ 1 - 1
Examples/Demos/utilities/fontgen/fFontgenD.pas → Examples/Demos/utilities/fontgen/fdFontgen.pas

@@ -1,4 +1,4 @@
-unit fFontgenD;
+unit fdFontgen;
 
 interface
 

+ 1 - 1
Examples/Demos/utilities/joystick/JoystickD.dpr

@@ -11,7 +11,7 @@ program JoystickD;
 
 uses
   Forms,
-  fJoystickD in 'fJoystickD.pas' {Form1};
+  fdJoystick in 'fdJoystick.pas' {Form1};
 
 {$R *.RES}
 

+ 1 - 1
Examples/Demos/utilities/joystick/JoystickD.dproj

@@ -84,7 +84,7 @@
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
-        <DCCReference Include="fJoystickD.pas">
+        <DCCReference Include="fdJoystick.pas">
             <Form>Form1</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">

+ 11 - 12
Examples/Demos/utilities/joystick/fJoystickD.dfm → Examples/Demos/utilities/joystick/fdJoystick.dfm

@@ -1,31 +1,30 @@
 object Form1: TForm1
   Left = 221
   Top = 107
+  Margins.Left = 2
+  Margins.Top = 2
+  Margins.Right = 2
+  Margins.Bottom = 2
   BorderWidth = 3
   Caption = 'Joystick'
-  ClientHeight = 236
-  ClientWidth = 328
+  ClientHeight = 189
+  ClientWidth = 267
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -14
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   OnCreate = FormCreate
-  PixelsPerInch = 120
-  TextHeight = 16
+  TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 328
-    Height = 236
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Width = 267
+    Height = 189
     Camera = GLCamera1
     Buffer.BackgroundColor = clBtnShadow
-    FieldOfView = 134.072448730468800000
+    FieldOfView = 124.233322143554700000
     PenAsTouch = False
     Align = alClient
     TabOrder = 0

+ 1 - 1
Examples/Demos/utilities/joystick/fJoystickD.pas → Examples/Demos/utilities/joystick/fdJoystick.pas

@@ -1,4 +1,4 @@
-unit fJoystickD;
+unit fdJoystick;
 
 interface
 

+ 2 - 2
Examples/Demos/utilities/keymap/KeymapD.dpr

@@ -12,12 +12,12 @@ program KeymapD;
 
 uses
   Forms,
-  fKeymapD in 'fKeymapD.pas' {Form1};
+  fdKeymap in 'fdKeymap.pas' {FormKeymap};
 
 {$R *.RES}
 
 begin
   Application.Initialize;
-  Application.CreateForm(TForm1, Form1);
+  Application.CreateForm(TFormKeymap, FormKeymap);
   Application.Run;
 end.

+ 2 - 67
Examples/Demos/utilities/keymap/KeymapD.dproj

@@ -51,7 +51,6 @@
         <DCC_F>false</DCC_F>
         <SanitizedProjectName>KeymapD</SanitizedProjectName>
         <DCC_K>false</DCC_K>
-        <DCC_Define>SKIA;$(DCC_Define)</DCC_Define>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Base_Win32)'!=''">
         <UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44>
@@ -90,8 +89,8 @@
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
-        <DCCReference Include="fKeymapD.pas">
-            <Form>Form1</Form>
+        <DCCReference Include="fdKeymap.pas">
+            <Form>FormKeymap</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
@@ -125,70 +124,6 @@
                 <Platform value="Win64">False</Platform>
             </Platforms>
             <Deployment Version="5">
-                <DeployFile Condition="'$(SKIADIR)'==''" Required="true" LocalName="$(BDS)\bin64\sk4d.dll" Configuration="Debug" Class="Skia">
-                    <Platform Name="Win64">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'==''" Required="true" LocalName="$(BDS)\bin64\sk4d.dll" Configuration="Release" Class="Skia">
-                    <Platform Name="Win64">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'==''" Required="true" LocalName="$(BDS)\bin\sk4d.dll" Configuration="Debug" Class="Skia">
-                    <Platform Name="Win32">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'==''" Required="true" LocalName="$(BDS)\bin\sk4d.dll" Configuration="Release" Class="Skia">
-                    <Platform Name="Win32">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'!=''" Required="true" LocalName="$(SKIADIR)\Binary\Shared\Win32\sk4d.dll" Configuration="Debug" Class="Skia">
-                    <Platform Name="Win32">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'!=''" Required="true" LocalName="$(SKIADIR)\Binary\Shared\Win32\sk4d.dll" Configuration="Release" Class="Skia">
-                    <Platform Name="Win32">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'!=''" Required="true" LocalName="$(SKIADIR)\Binary\Shared\Win64\sk4d.dll" Configuration="Debug" Class="Skia">
-                    <Platform Name="Win64">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'!=''" Required="true" LocalName="$(SKIADIR)\Binary\Shared\Win64\sk4d.dll" Configuration="Release" Class="Skia">
-                    <Platform Name="Win64">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
                 <DeployFile LocalName="KeymapD.exe" Configuration="Debug" Class="ProjectOutput"/>
                 <DeployClass Name="AdditionalDebugSymbols">
                     <Platform Name="iOSSimulator">

+ 1 - 1
Examples/Demos/utilities/keymap/fKeymapD.dfm → Examples/Demos/utilities/keymap/fdKeymap.dfm

@@ -1,4 +1,4 @@
-object Form1: TForm1
+object FormKeymap: TFormKeymap
   Left = 209
   Top = 108
   Margins.Left = 2

+ 6 - 6
Examples/Demos/utilities/keymap/fKeymapD.pas → Examples/Demos/utilities/keymap/fdKeymap.pas

@@ -1,4 +1,4 @@
-unit fKeymapD;
+unit fdKeymap;
 
 interface
 
@@ -17,7 +17,7 @@ uses
   GLS.XCollection;
 
 type
-  TForm1 = class(TForm)
+  TFormKeymap = class(TForm)
     Timer1: TTimer;
     PAUp: TPanel;
     Label1: TLabel;
@@ -34,18 +34,18 @@ type
   end;
 
 var
-  Form1: TForm1;
+  FormKeymap: TFormKeymap;
 
 implementation
 
 {$R *.DFM}
 
-procedure TForm1.FormCreate(Sender: TObject);
+procedure TFormKeymap.FormCreate(Sender: TObject);
 begin
    Label1.Caption:='Hit one/any of the keys below to light up the panel...';
 end;
 
-procedure TForm1.Timer1Timer(Sender: TObject);
+procedure TFormKeymap.Timer1Timer(Sender: TObject);
 
    procedure CheckPanel(panel : TPanel);
    begin
@@ -62,7 +62,7 @@ begin
    CheckPanel(PARight);
 end;
 
-procedure TForm1.PAUpClick(Sender: TObject);
+procedure TFormKeymap.PAUpClick(Sender: TObject);
 var
    keyCode : Integer;
 begin

+ 0 - 65
Examples/Demos/utilities/recorder/RecorderD.dproj

@@ -63,7 +63,6 @@
         <DCC_F>false</DCC_F>
         <SanitizedProjectName>RecorderD</SanitizedProjectName>
         <DCC_K>false</DCC_K>
-        <DCC_Define>SKIA;$(DCC_Define)</DCC_Define>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Base_Win32)'!=''">
         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
@@ -159,70 +158,6 @@
                 <Platform value="Win64">True</Platform>
             </Platforms>
             <Deployment Version="5">
-                <DeployFile Condition="'$(SKIADIR)'==''" Required="true" LocalName="$(BDS)\bin64\sk4d.dll" Configuration="Debug" Class="Skia">
-                    <Platform Name="Win64">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'==''" Required="true" LocalName="$(BDS)\bin64\sk4d.dll" Configuration="Release" Class="Skia">
-                    <Platform Name="Win64">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'==''" Required="true" LocalName="$(BDS)\bin\sk4d.dll" Configuration="Debug" Class="Skia">
-                    <Platform Name="Win32">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'==''" Required="true" LocalName="$(BDS)\bin\sk4d.dll" Configuration="Release" Class="Skia">
-                    <Platform Name="Win32">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'!=''" Required="true" LocalName="$(SKIADIR)\Binary\Shared\Win32\sk4d.dll" Configuration="Debug" Class="Skia">
-                    <Platform Name="Win32">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'!=''" Required="true" LocalName="$(SKIADIR)\Binary\Shared\Win32\sk4d.dll" Configuration="Release" Class="Skia">
-                    <Platform Name="Win32">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'!=''" Required="true" LocalName="$(SKIADIR)\Binary\Shared\Win64\sk4d.dll" Configuration="Debug" Class="Skia">
-                    <Platform Name="Win64">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(SKIADIR)'!=''" Required="true" LocalName="$(SKIADIR)\Binary\Shared\Win64\sk4d.dll" Configuration="Release" Class="Skia">
-                    <Platform Name="Win64">
-                        <RemoteDir>.\</RemoteDir>
-                        <Operation>0</Operation>
-                        <RemoteName>sk4d.dll</RemoteName>
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
                 <DeployClass Name="AdditionalDebugSymbols">
                     <Platform Name="iOSSimulator">
                         <Operation>1</Operation>

+ 3 - 4
Examples/Demos/utilities/recorder/fdRecorder.dfm

@@ -14,6 +14,7 @@ object FormAVI: TFormAVI
   Font.Style = []
   Position = poScreenCenter
   Scaled = False
+  OnCreate = FormCreate
   OnKeyPress = FormKeyPress
   OnResize = FormResize
   TextHeight = 16
@@ -28,8 +29,6 @@ object FormAVI: TFormAVI
     PenAsTouch = False
     Align = alClient
     TabOrder = 0
-    ExplicitWidth = 560
-    ExplicitHeight = 354
   end
   object TrackBar: TTrackBar
     Left = 0
@@ -55,14 +54,14 @@ object FormAVI: TFormAVI
     Caption = '??? FPS'
     TabOrder = 2
   end
-  object Button1: TButton
+  object ButtonRecord: TButton
     Left = 199
     Top = 8
     Width = 132
     Height = 31
     Caption = 'Record to AVI...'
     TabOrder = 3
-    OnClick = Button1Click
+    OnClick = ButtonRecordClick
   end
   object GLScene1: TGLScene
     Left = 40

+ 19 - 10
Examples/Demos/utilities/recorder/fdRecorder.pas

@@ -37,14 +37,15 @@ type
     DummyCube1: TGLDummyCube;
     DummyCube2: TGLDummyCube;
     GLCadencer1: TGLCadencer;
-    Button1: TButton;
+    ButtonRecord: TButton;
     AVIRecorder1: TGLAVIRecorder;
     procedure TrackBarChange(Sender: TObject);
     procedure FormResize(Sender: TObject);
-    procedure Button1Click(Sender: TObject);
+    procedure ButtonRecordClick(Sender: TObject);
     procedure FormKeyPress(Sender: TObject; var Key: Char);
     procedure AVIRecorder1PostProcessEvent(Sender: TObject;
       frame: TBitmap);
+    procedure FormCreate(Sender: TObject);
   private
       UserAbort : boolean;
   end;
@@ -56,6 +57,12 @@ implementation //=============================================================
 
 {$R *.DFM}
 
+procedure TFormAVI.FormCreate(Sender: TObject);
+begin
+  SetCurrentDir(Application.ExeName);
+end;
+
+
 procedure TFormAVI.TrackBarChange(Sender: TObject);
 var
    t : Integer;
@@ -76,27 +83,29 @@ end;
 procedure TFormAVI.FormResize(Sender: TObject);
 begin
 	GLSceneViewer1.ResetPerformanceMonitor;
-  AVIRecorder1.Width:=GLSceneViewer1.Width;
-  AVIRecorder1.Height:=GLSceneViewer1.Height;
+  AVIRecorder1.Width := GLSceneViewer1.Width;
+  AVIRecorder1.Height := GLSceneViewer1.Height;
 end;
 
-procedure TFormAVI.Button1Click(Sender: TObject);
+procedure TFormAVI.ButtonRecordClick(Sender: TObject);
 var
   i : integer;
   SavedCap : string;
+
 begin
+   AVIRecorder1.Filename := GetCurrentDir() + 'Test.avi';
    if not AVIRecorder1.CreateAVIFile then Exit;
    // if AVIRecorder1.filename is empty, a dialog box will appear asking
    // for the filename. CreateAVIFile() will return a bool
    // indicating if user presses "cancel" in the dialog box.
 
-   SavedCap := caption;
+   SavedCap := Caption;
    caption := 'Press ESC to abort';
    UserAbort := false;
    StaticText1.Visible := false; // the FPS shown is not correct now,
                                // so just hide it for the time being.
    i:=0;
-   Button1.enabled := false;
+   ButtonRecord.enabled := false;
    TrackBar.enabled := false;
    try
       while (i<360) and not UserAbort do begin
@@ -112,9 +121,9 @@ begin
       AVIRecorder1.CloseAVIFile(UserAbort); // if UserAbort, CloseAVIFile will
                                             // also delete the unfinished file.
       caption:=SavedCap;
-      StaticText1.Visible:=true;
-      Button1.enabled:=true;
-      TrackBar.enabled:=true;
+      StaticText1.Visible := true;
+      ButtonRecord.Enabled := true;
+      TrackBar.enabled := true;
    end;
 end;
 

+ 1 - 0
Examples/_cleanexamples.cmd

@@ -59,6 +59,7 @@ attrib -R "AdvDemos/Q3Demo/Model/animation.cfg"
 rem  - some apps may load/save resources in RES files
 del *.res /s 
 del sk4d.dll /s
+del *.avi /s 
 
 echo---------------------------------------------------------
 echo delete debug and Platform directories with all subdirectories and files