/* ZWindowRenderTargetBase.hpp Author: James Russell Created: 04/03/2011 Purpose: Base class for a window render target. License: TODO */ #pragma once #ifndef _ZWINDOWRENDERTARGETBASE_HPP #define _ZWINDOWRENDERTARGETBASE_HPP #include class ZWindowRenderTargetBase : public ZWindowRenderTarget { protected: //The Window Handle SST_Window WindowHandle; //The Screen Index size_t ScreenIndex; //Our current clear flags ZRenderTargetClearFlags ClearFlags; //Whether or not we should auto-swap buffers bool bAutoSwapBuffers; /* Parameterized Constructor. @param _window - the libsst-wm window handle to this render target @param _screenIndex - the libsst-wm index of this screen */ ZWindowRenderTargetBase(SST_Window _window, size_t _screenIndex); public: //Virtual Destructor virtual ~ZWindowRenderTargetBase() { } /*************************/ /* ZRenderTarget Methods */ /*************************/ //Subclass Implementation virtual const ZRenderTargetClearFlags& GetClearFlags(); //Subclass Implementation virtual size_t GetHeight(); //Subclass Implementation virtual ZRenderTargetType GetType(); //Subclass Implementation virtual size_t GetWidth(); //Subclass Implementation virtual bool SetClearFlags(const ZRenderTargetClearFlags& _flags); /***********************************/ /* ZWindowRenderTargetBase Methods */ /***********************************/ //Subclass Implementation virtual bool GetAutoSwapBuffers(); //Subclass Implementation virtual size_t GetScreenIndex(); //Subclass Implementation virtual SST_Window GetWindowHandle(); //Subclass Implementation virtual bool SetAutoSwapBuffers(bool _value); //Not Implemented virtual bool SwapBuffers() = 0; }; #endif