forked from perilouswithadollarsign/cstrike15_src
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtexture.h
155 lines (114 loc) · 2.56 KB
/
texture.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose: Simple texture object used for sprites. Handed to the renderer
// for binding. May become a general purpose texture object.
//
//=============================================================================//
#ifndef TEXTURE_H
#define TEXTURE_H
#ifdef _WIN32
#pragma once
#endif
#include "IEditorTexture.h"
enum
{
TEXTURE_HAS_ALPHA = 0x01
};
class CTexture : public IEditorTexture
{
public:
CTexture( void );
virtual ~CTexture( void );
bool Allocate( int nWidth, int nHeight, int nFlags );
void Draw(CDC *pDC, RECT &rect, int iFontHeight, int iIconHeight, DrawTexData_t &DrawTexData);
inline void *GetImageDataPtr( void )
{
return( m_pImageData );
}
const char *GetFileName(void) const;
inline const char *GetName(void) const
{
return(m_szName);
}
int GetShortName(char *pszName) const;
int GetKeywords(char *pszKeywords) const;
int GetImageDataRGB( void *pData = NULL );
int GetImageDataRGBA( void *pData = NULL );
inline int GetPreviewImageWidth( void ) const
{
return( m_nWidth );
}
inline int GetPreviewImageHeight( void ) const
{
return( m_nHeight );
}
inline int GetWidth( void ) const
{
return( m_nWidth );
}
inline int GetHeight( void ) const
{
return( m_nHeight );
}
inline float GetDecalScale( void ) const
{
return( 1.0f );
}
inline CPalette *GetPalette( void ) const
{
return( NULL );
}
inline int GetSurfaceAttributes( void ) const
{
return(0);
}
inline int GetSurfaceContents(void ) const
{
return(0);
}
inline int GetSurfaceValue( void ) const
{
return(0);
}
inline TEXTUREFORMAT GetTextureFormat( void ) const
{
return(tfSprite);
}
inline int GetTextureID( void ) const
{
return( m_nTextureID );
}
inline bool HasAlpha( void ) const
{
return( m_bHasAlpha );
}
inline bool HasData( void ) const
{
return( m_pImageData != NULL );
}
inline bool HasPalette( void ) const
{
return( false );
}
inline bool IsDummy( void ) const
{
return(( m_nWidth == 0) || ( m_nHeight == 0) || ( m_pImageData == NULL ));
}
bool Load( void );
inline bool IsLoaded() const
{
return true;
}
inline void SetTextureID( int nTextureID )
{
m_nTextureID = nTextureID;
}
protected:
int m_nTextureID; // Uniquely identifies this texture in all 3D renderers.
int m_nWidth;
int m_nHeight;
bool m_bHasAlpha;
char m_szName[MAX_PATH];
void *m_pImageData;
};
#endif // TEXTURE_H