|
- unit uvkuFactoryBase;
-
- {$mode objfpc}{$H+}
-
- interface
-
- uses
- Classes, SysUtils,
- Vulkan, uvkuInstance, uvkuDevice;
-
- type
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- TvkuFactory = class(TObject)
- end;
-
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- TvkuInstanceObjFactory = class(TvkuFactory)
- private
- fInstanceCommands: TVkInstanceCommands;
- public
- property InstanceCommands: TVkInstanceCommands read fInstanceCommands;
-
- constructor Create(const aInstance: TvkuInstance);
- constructor Create(const aInstanceCommands: TVkInstanceCommands);
- end;
-
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- TvkuDeviceObjFactory = class(TvkuFactory)
- private
- fDeviceCommands: TVkDeviceCommands;
- public
- property DeviceCommands: TVkDeviceCommands read fDeviceCommands;
-
- constructor Create(const aDevice: TvkuDevice);
- constructor Create(const aDeviceCommands: TVkDeviceCommands);
- end;
-
- implementation
-
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- //TvkuInstanceObjFactory/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- constructor TvkuInstanceObjFactory.Create(const aInstance: TvkuInstance);
- begin
- Create(aInstance.InstanceCommands);
- end;
-
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- constructor TvkuInstanceObjFactory.Create(const aInstanceCommands: TVkInstanceCommands);
- begin
- inherited Create;
- fInstanceCommands := aInstanceCommands;
- end;
-
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- //TvkuDeviceObjFactory///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- constructor TvkuDeviceObjFactory.Create(const aDevice: TvkuDevice);
- begin
- Create(aDevice.DeviceCommands);
- end;
-
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- constructor TvkuDeviceObjFactory.Create(const aDeviceCommands: TVkDeviceCommands);
- begin
- inherited Create;
- fDeviceCommands := aDeviceCommands;
- end;
-
- end.
|