OpenBarnyard
 
Loading...
Searching...
No Matches
TTexture.h
Go to the documentation of this file.
1
11
12#pragma once
13#include "Render/TResource.h"
15#include "Render/TRender.h"
16
17#include "TTextureFactory.h"
18
20
21class T2Texture;
22
23class TTexture : public TResource
24{
25public:
27
28public:
29 struct LOCKSTATE
30 {
32 void* pBits;
33 };
34
36
37public:
38 TTexture();
39 ~TTexture();
40
41 virtual TUINT GetWidth() = 0;
42 virtual TUINT GetHeight() = 0;
43 virtual TBOOL Lock( LOCKSTATE& a_rLockState );
44 virtual void Unlock();
45 virtual void CreateFromT2Texture( T2Texture* a_pTexture ) = 0;
46 virtual TBOOL Create( void* a_pData, TUINT a_uiDataSize, TUINT a_eTextureFlags, TUINT a_uiWidth, TUINT a_uiHeight ) = 0;
47 virtual TBOOL Create( const TCHAR* a_szFileName, TUINT a_eTextureFlags ) = 0;
48 virtual TBOOL CreateEx( void* a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels, TTEXTURERESOURCEFORMAT a_eFormat, TUINT a_uiMipMapFlags );
49
50 void SetAddressing( ADDRESSINGMODE a_eAddressing )
51 {
52 m_eAddressing = a_eAddressing;
53 }
54
56 {
57 return m_eAddressing;
58 }
59
60 TBOOL CreateResource( void* a_pData, TUINT a_uiDataSize, TUINT a_eTextureFlags, TUINT a_uiWidth, TUINT a_uiHeight )
61 {
62 return TResource::Create();
63 }
64
65 TBOOL CreateResource( const TCHAR* a_szFileName, TUINT a_eTextureFlags )
66 {
67 return TResource::Create();
68 }
69
70 TBOOL CreateResource( void* a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels, TTEXTURERESOURCEFORMAT a_eFormat, TUINT a_uiFlags )
71 {
72 return TResource::Create();
73 }
74
75protected:
79};
80
ADDRESSINGMODE
Texture addressing modes.
Definition TRender.h:39
#define TOSHI_NAMESPACE_START
Definition Defines.h:47
#define TOSHI_NAMESPACE_END
Definition Defines.h:50
unsigned int TUINT
Definition Typedefs.h:8
char TCHAR
Definition Typedefs.h:20
int TINT
Definition Typedefs.h:7
bool TBOOL
Definition Typedefs.h:6
TBOOL CreateResource(void *a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels, TTEXTURERESOURCEFORMAT a_eFormat, TUINT a_uiFlags)
Definition TTexture.h:70
TDECLARE_CLASS(TTexture, TResource)
void SetAddressing(ADDRESSINGMODE a_eAddressing)
Definition TTexture.h:50
virtual void CreateFromT2Texture(T2Texture *a_pTexture)=0
TTextureFactory::NameEntry * m_pNameEntry
Definition TTexture.h:78
TBOOL CreateResource(void *a_pData, TUINT a_uiDataSize, TUINT a_eTextureFlags, TUINT a_uiWidth, TUINT a_uiHeight)
Definition TTexture.h:60
TUINT m_eTextureFlags
Definition TTexture.h:77
virtual TBOOL Create(void *a_pData, TUINT a_uiDataSize, TUINT a_eTextureFlags, TUINT a_uiWidth, TUINT a_uiHeight)=0
virtual TUINT GetHeight()=0
friend TTextureFactory
Definition TTexture.h:35
TBOOL CreateResource(const TCHAR *a_szFileName, TUINT a_eTextureFlags)
Definition TTexture.h:65
ADDRESSINGMODE GetAddressing() const
Definition TTexture.h:55
ADDRESSINGMODE m_eAddressing
Definition TTexture.h:76
virtual TBOOL CreateEx(void *a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels, TTEXTURERESOURCEFORMAT a_eFormat, TUINT a_uiMipMapFlags)
Definition TTexture.cpp:38
virtual TUINT GetWidth()=0
virtual TBOOL Create(const TCHAR *a_szFileName, TUINT a_eTextureFlags)=0
virtual void Unlock()
Definition TTexture.cpp:34
virtual TBOOL Lock(LOCKSTATE &a_rLockState)
Definition TTexture.cpp:29
virtual TBOOL Create()
Definition TResource.cpp:28