Files
lime/project/include/renderer/common/Texture.h
2013-11-27 18:05:59 -08:00

37 lines
751 B
C++

#ifndef RENDERER_TEXTURE_H
#define RENDERER_TEXTURE_H
namespace lime {
extern int gTextureContextVersion;
class Texture {
public:
Texture () : mContextVersion (gTextureContextVersion) {}
virtual ~Texture() {};
virtual void Bind (class Surface *inSurface, int inSlot) = 0;
virtual void BindFlags (bool inRepeat, bool inSmooth) = 0;
virtual UserPoint PixelToTex (const UserPoint &inPixels) = 0;
virtual UserPoint TexToPaddedTex (const UserPoint &inPixels) = 0;
void Dirty (const Rect &inRect);
bool IsCurrentVersion () { return mContextVersion == gTextureContextVersion; }
bool IsDirty () { return mDirtyRect.HasPixels (); }
int mContextVersion;
Rect mDirtyRect;
};
};
#endif