Files
bluflame/aiwaz/Aiwaz/Interfaces/IResourceFactory.h
2026-04-18 22:31:51 +02:00

80 lines
3.9 KiB
C

#pragma once
#include "ISwapChain.h"
#include "IGeometryBuffer.h"
#include "IShader.h"
#include "IRenderCommandNode.h"
#include "IShaderParameterCollection.h"
#include "ITexture.h"
#include "ITransformation.h"
#include "ITransformationAnimation.h"
#include "IRenderTargetTexture.h"
#include "ICamera.h"
#include "IBone.h"
#include "IWindow.h"
struct __declspec(novtable) IResourceFactory
{
virtual ~IResourceFactory() {}
virtual ITransformationAnimation& CreateTransformationAnimation() = 0;
virtual void DeleteTransformationAnimation(ITransformationAnimation& argValue, bool argRemoveOnly = false) = 0;
virtual IWindow& CreateSwapChainWindow() = 0;
virtual void DeleteSwapChainWindow(IWindow& argValue, bool argRemoveOnly = false) = 0;
virtual IRenderCommandNode& CreateRenderCommandNode() = 0;
virtual void DeleteRenderCommandNode(IRenderCommandNode& argValue, bool argRemoveOnly = false) = 0;
virtual IShader* FindShader(const string8& argId) = 0;
virtual IShader& CreateOrFindShader(const string8& argId = "") = 0;
virtual void DeleteShader(IShader& argValue, bool argRemoveOnly = false) = 0;
virtual IInternalShader* FindInternalShader(const string8& argId) = 0;
virtual IInternalShader& CreateOrFindInternalShader(const string8& argId = "") = 0;
virtual void DeleteInternalShader(IInternalShader& argValue, bool argRemoveOnly = false) = 0;
virtual ISwapChain* FindSwapChain(const string8& argId) = 0;
virtual ISwapChain& CreateOrFindSwapChain(const string8& argId = "") = 0;
virtual void DeleteSwapChain(ISwapChain& argValue, bool argRemoveOnly = false) = 0;
virtual IRenderTargetTexture* FindRenderTargetTexture(const string8& argId) = 0;
virtual IRenderTargetTexture& CreateOrFindRenderTargetTexture(const string8& argId = "") = 0;
virtual void DeleteRenderTargetTexture(IRenderTargetTexture& argValue, bool argRemoveOnly = false) = 0;
virtual IGeometryBuffer* FindGeometryBuffer(const string8& argId) = 0;
virtual IGeometryBuffer& CreateOrFindGeometryBuffer(const string8& argId = "") = 0;
virtual void DeleteGeometryBuffer(IGeometryBuffer& argValue, bool argRemoveOnly = false) = 0;
virtual IShaderParameterCollection* FindShaderParameterCollection(const string8& argId) = 0;
virtual IShaderParameterCollection& CreateOrFindShaderParameterCollection(const string8& argId = "") = 0;
virtual void DeleteShaderParameterCollection(IShaderParameterCollection& argValue, bool argRemoveOnly = false) = 0;
virtual ITexture* FindTexture(const string8& argId) = 0;
virtual ITexture& CreateOrFindTexture(const string8& argId = "") = 0;
virtual void DeleteTexture(ITexture& argValue, bool argRemoveOnly = false) = 0;
virtual ITransformation* FindTransformation(const string8& argId) = 0;
virtual ITransformation& CreateOrFindTransformation(const string8& argId = "") = 0;
virtual void DeleteTransformation(ITransformation& argValue, bool argRemoveOnly = false) = 0;
virtual IPerspectiveCamera* FindPerspectiveCamera(const string8& argId) = 0;
virtual IPerspectiveCamera& CreateOrFindPerspectiveCamera(const string8& argId = "") = 0;
virtual void DeletePerspectiveCamera(IPerspectiveCamera& argValue, bool argRemoveOnly = false) = 0;
virtual IOrthographicCamera* FindOrthographicCamera(const string8& argId) = 0;
virtual IOrthographicCamera& CreateOrFindOrthographicCamera(const string8& argId = "") = 0;
virtual void DeleteOrthographicCamera(IOrthographicCamera& argValue, bool argRemoveOnly = false) = 0;
virtual IBone* FindBone(const string8& argId) = 0;
virtual IBone& CreateOrFindBone(const string8& argId = "") = 0;
virtual void DeleteBone(IBone& argValue, bool argRemoveOnly = false) = 0;
virtual IBoneController* FindBoneController(const string8& argId) = 0;
virtual IBoneController& CreateOrFindBoneController(const string8& argId = "") = 0;
virtual void DeleteBoneController(IBoneController& argValue, bool argRemoveOnly = false) = 0;
virtual bool HasCreatedResource() = 0;
};