2002-11-14 01:26:19 +00:00
|
|
|
#ifndef RAGEBITMAPTEXTURE_H
|
|
|
|
|
#define RAGEBITMAPTEXTURE_H
|
|
|
|
|
|
2001-11-04 19:34:28 +00:00
|
|
|
/*
|
|
|
|
|
-----------------------------------------------------------------------------
|
2002-05-19 01:59:48 +00:00
|
|
|
Class: RageBitmapTexture
|
2001-11-04 19:34:28 +00:00
|
|
|
|
|
|
|
|
Desc: Holder for a static texture with metadata. Can load just about any image format.
|
|
|
|
|
|
2002-05-19 01:59:48 +00:00
|
|
|
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
|
|
|
|
|
Chris Danford
|
2001-11-04 19:34:28 +00:00
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
|
2002-08-13 23:26:46 +00:00
|
|
|
#include "RageTexture.h"
|
2002-12-30 04:03:49 +00:00
|
|
|
struct SDL_Surface;
|
2003-05-22 05:28:37 +00:00
|
|
|
|
2001-11-03 10:52:42 +00:00
|
|
|
class RageBitmapTexture : public RageTexture
|
|
|
|
|
{
|
|
|
|
|
public:
|
2002-12-30 02:43:52 +00:00
|
|
|
RageBitmapTexture( RageTextureID name );
|
2002-08-23 08:30:10 +00:00
|
|
|
virtual ~RageBitmapTexture();
|
2002-11-12 09:23:15 +00:00
|
|
|
/* only called by RageTextureManager::InvalidateTextures */
|
2003-05-22 05:28:37 +00:00
|
|
|
virtual void Invalidate() { m_uTexHandle = 0; /* don't Destroy() */}
|
2003-01-26 00:56:13 +00:00
|
|
|
virtual void Reload();
|
2003-06-22 01:28:23 +00:00
|
|
|
virtual unsigned GetTexHandle() const { return m_uTexHandle; }; // accessed by RageDisplay
|
2001-11-03 10:52:42 +00:00
|
|
|
|
2002-12-30 04:03:49 +00:00
|
|
|
private:
|
2002-11-14 01:26:19 +00:00
|
|
|
void Create(); // called by constructor and Reload
|
2003-05-22 05:28:37 +00:00
|
|
|
void Destroy();
|
|
|
|
|
unsigned m_uTexHandle; // treat as unsigned in OpenGL, ID3D8Texture* for D3D
|
2002-12-30 04:03:49 +00:00
|
|
|
|
2003-01-01 09:07:34 +00:00
|
|
|
SDL_Surface *CreateImg(int &pixfmt);
|
2001-11-03 10:52:42 +00:00
|
|
|
};
|
2002-11-14 01:26:19 +00:00
|
|
|
|
2002-11-16 08:37:12 +00:00
|
|
|
#endif
|