/*!**************************************************************************** @file PVRTBackground.h @copyright Copyright (c) Imagination Technologies Limited. @brief Function to draw a background texture. ******************************************************************************/ #ifndef __PVRTBACKGROUND_H__ #define __PVRTBACKGROUND_H__ #include "PVRTGlobal.h" #include "PVRTContext.h" #include "PVRTString.h" #include "PVRTError.h" /**************************************************************************** ** Structures ****************************************************************************/ /*!*************************************************************************** @struct SPVRTBackgroundAPI @brief A struct for storing API specific variables *****************************************************************************/ struct SPVRTBackgroundAPI; /*!*************************************************************************** @class CPVRTBackground @brief A class for drawing a fullscreen textured background *****************************************************************************/ class CPVRTBackground { public: /*!*************************************************************************** @brief Initialise some values. *****************************************************************************/ CPVRTBackground(void); /*!*************************************************************************** @brief Calls Destroy() *****************************************************************************/ ~CPVRTBackground(void); /*!*************************************************************************** @brief Destroys the background and releases API specific resources *****************************************************************************/ void Destroy(); /*!*************************************************************************** @brief Initialises the background @param[in] pContext A pointer to a PVRTContext @param[in] bRotate true to rotate texture 90 degrees. @param[in] pszError An option string for returning errors @return PVR_SUCCESS on success *****************************************************************************/ EPVRTError Init(const SPVRTContext * const pContext, const bool bRotate, CPVRTString *pszError = 0); #if defined(BUILD_OGL) || defined(BUILD_OGLES) || defined(BUILD_OGLES2) || defined(BUILD_OGLES3) /*!*************************************************************************** @brief Draws a texture on a quad covering the whole screen. @param[in] ui32Texture Texture to use @return PVR_SUCCESS on success *****************************************************************************/ EPVRTError Draw(const GLuint ui32Texture); #elif defined(BUILD_DX11) /*!*************************************************************************** @brief Draws a texture on a quad covering the whole screen. @param[in] pTexture Texture to use @return PVR_SUCCESS on success *****************************************************************************/ EPVRTError Draw(ID3D11ShaderResourceView *pTexture); #endif protected: bool m_bInit; SPVRTBackgroundAPI *m_pAPI; }; #endif /* __PVRTBACKGROUND_H__ */ /***************************************************************************** End of file (PVRTBackground.h) *****************************************************************************/