Browse Source

* Fresnel application class settable

Michaël Van Canneyt 3 months ago
parent
commit
6979454dcd
2 changed files with 23 additions and 1 deletions
  1. 4 0
      src/fresnel.app.pas
  2. 19 1
      src/fresnel.pas

+ 4 - 0
src/fresnel.app.pas

@@ -88,9 +88,11 @@ type
     property MainForm: TFresnelForm read FMainForm;
     //property MainFormHandle: TFreHandle read GetMainFormHandle;
   end;
+  TFresnelApplicationClass = class of TFresnelApplication;
 
 var
   FresnelApplication: TFresnelApplication;
+  FresnelApplicationClass : TFresnelApplicationClass = Nil;
 
 implementation
 
@@ -452,5 +454,7 @@ begin
     AsyncCalls.QueueAsyncCall(Nil,aComponent,True);
 end;
 
+initialization
+   FresnelApplicationClass:=TFresnelApplication;
 end.
 

+ 19 - 1
src/fresnel.pas

@@ -32,12 +32,30 @@ uses
   {$IFDEF FresnelWin32}
   Fresnel.Win32
   {$ENDIF}
+  {$IFDEF FresnelWasm}
+  Fresnel.wasm.api,
+  Fresnel.wasm.render,
+  Fresnel.wasm.font,
+  Fresnel.wasm.shared,
+  Fresnel.wasm.app
+  {$ENDIF}
   ;
 
 implementation
 
+procedure CreateApplication;
+var
+  C : TFresnelApplicationClass;
+begin
+  C:=FresnelApplicationClass;
+  if C=Nil then
+    C:=TFresnelApplication;
+  FresnelApplication:=C.Create(nil);
+end;
+
 initialization
-  FresnelApplication:=TFresnelApplication.Create(nil);
+  CreateApplication;
+
 finalization
   FresnelApplication.Free; // will nil itself