| /*!**************************************************************************** | |
| @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) | |
| *****************************************************************************/ | |