1
0
mirror of https://github.com/dege-diosg/dgVoodoo2 synced 2024-07-08 20:51:02 +02:00
2023-07-21 21:30:21 +02:00

65 lines
1.8 KiB
C++

// *****************************************************************************
// File: Texturer.hpp
//
// Description: Texturer implementation of dgVoodoo Addon DLL
//
// Contact person: DG
//
// *****************************************************************************
// --- Includes ----------------------------------------------------------------
#include "..\Inc\Addon\ID3DObserver.hpp"
#include "..\Inc\Addon\ID3DDeviceObserver.hpp"
#include "..\Inc\Addon\ID3DResourceObserver.hpp"
// --- Namespaces --------------------------------------------------------------
using namespace dgVoodoo;
// --- Predeclarations ---------------------------------------------------------
class AddonMain;
// --- Texturer ----------------------------------------------------------------
class Texturer: public ID3DObserver,
public ID3DDeviceObserver,
public ID3DResourceObserver
{
protected:
static const char* formatIdxToStr[];
protected:
AddonMain& main;
protected:
// --- ID3DObserver callbacks
virtual bool D3DObjectCreated (ID3D* pD3D) override;
virtual void D3DObjectReleased (const ID3D* pD3D) override;
// --- ID3DDeviceObserver callbacks
virtual bool D3DDeviceObjectCreated (ID3DDevice* pD3DDevice);
virtual void D3DDeviceObjectReleased (const ID3DDevice* pD3DDevice);
// --- ID3DResourceObserver callbacks
virtual bool TextureCreated (ID3D* pD3D, ID3DResource* pTexture);
virtual bool CubeTextureCreated (ID3D* pD3D, ID3DResource* pTexture);
virtual bool VolumeTextureCreated (ID3D* pD3D, ID3DResource* pTexture);
virtual void TextureReleased (ID3D* pD3D, const ID3DResource* pTexture);
virtual void CubeTextureReleased (ID3D* pD3D, const ID3DResource* pTexture);
virtual void VolumeTextureReleased (ID3D* pD3D, const ID3DResource* pTexture);
public:
Texturer (AddonMain& main);
~Texturer ();
bool Init ();
void Exit ();
};