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