diff options
Diffstat (limited to 'src/engine/graphics.h')
| -rw-r--r-- | src/engine/graphics.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/engine/graphics.h b/src/engine/graphics.h index 0912bfb5..7f272497 100644 --- a/src/engine/graphics.h +++ b/src/engine/graphics.h @@ -5,6 +5,7 @@ #include "kernel.h" + class CImageInfo { public: @@ -55,7 +56,8 @@ public: */ enum { - TEXLOAD_NORESAMPLE=1, + TEXLOAD_NORESAMPLE = 1, + TEXLOAD_NOMIPMAPS = 2, }; int ScreenWidth() const { return m_ScreenWidth; } @@ -74,12 +76,15 @@ public: virtual void BlendNone() = 0; virtual void BlendNormal() = 0; virtual void BlendAdditive() = 0; + virtual void WrapNormal() = 0; + virtual void WrapClamp() = 0; virtual int MemoryUsage() const = 0; - virtual int LoadPNG(CImageInfo *pImg, const char *pFilename, int StorageType) =0; + virtual int LoadPNG(CImageInfo *pImg, const char *pFilename, int StorageType) = 0; virtual int UnloadTexture(int Index) = 0; virtual int LoadTextureRaw(int Width, int Height, int Format, const void *pData, int StoreFormat, int Flags) = 0; virtual int LoadTexture(const char *pFilename, int StorageType, int StoreFormat, int Flags) = 0; + virtual int LoadTextureRawSub(int TextureID, int x, int y, int Width, int Height, int Format, const void *pData) = 0; virtual void TextureSet(int TextureID) = 0; struct CLineItem @@ -131,13 +136,18 @@ public: virtual int GetVideoModes(CVideoMode *pModes, int MaxModes) = 0; virtual void Swap() = 0; + + // syncronization + virtual void InsertSignal(class semaphore *pSemaphore) = 0; + virtual bool IsIdle() = 0; + virtual void WaitForIdle() = 0; }; class IEngineGraphics : public IGraphics { MACRO_INTERFACE("enginegraphics", 0) public: - virtual bool Init() = 0; + virtual int Init() = 0; virtual void Shutdown() = 0; virtual void Minimize() = 0; @@ -149,5 +159,6 @@ public: }; extern IEngineGraphics *CreateEngineGraphics(); +extern IEngineGraphics *CreateEngineGraphicsThreaded(); #endif |