summaryrefslogtreecommitdiffstats
path: root/kue/texture.h
blob: cac39d871961cb9bc9c7c74810c65e7c268d23b5 (plain)
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
#ifndef _TEXTURE_H
#define _TEXTURE_H

#include <tqstring.h>

class KueTexture {
  public:
	KueTexture(const TQString &filename);
	KueTexture(unsigned int texture_id);
	KueTexture(const KueTexture &);
	~KueTexture();

	bool makeCurrent();

	// Is this a null texture?
	bool isNull();
	// The null texture
	static KueTexture null();

  protected:
	// Loads the texture immediately
	void load();

	// The filename of the texture
	// Will be a null string for textures created using the texture_id
	// version of the constructor
	TQString _filename;

	// The texture ID for the texture
	// Undefined until a texture is loaded, 0 for the null texture
	unsigned int _texture_id;	

	// Stores if the texture is currently loaded or not
	// This is required to support loading file-backed textures on demand
	bool _loaded;
};

#endif // _TEXTURE_H