UiSprite.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef UI_SPRITE_H
  2. #define UI_SPRITE_H
  3. #include <OgreHardwareVertexBuffer.h>
  4. #include <OgreRenderQueueListener.h>
  5. #include <OgreRoot.h>
  6. #include "UiWidget.h"
  7. class UiSprite : public UiWidget
  8. {
  9. public:
  10. UiSprite( const Ogre::String& name );
  11. UiSprite( const Ogre::String& name, const Ogre::String& path_name, UiWidget* parent );
  12. virtual ~UiSprite();
  13. void Initialise();
  14. virtual void Update();
  15. virtual void Render();
  16. virtual void UpdateTransformation();
  17. void SetImage( const Ogre::String& image );
  18. void SetVertexShader( const Ogre::String& shader );
  19. void SetFragmentShader( const Ogre::String& shader );
  20. void UpdateGeometry();
  21. private:
  22. UiSprite();
  23. void CreateVertexBuffer();
  24. void DestroyVertexBuffer();
  25. private:
  26. Ogre::MaterialPtr m_Material;
  27. Ogre::SceneManager* m_SceneManager;
  28. Ogre::RenderSystem* m_RenderSystem;
  29. Ogre::RenderOperation m_RenderOp;
  30. Ogre::HardwareVertexBufferSharedPtr m_VertexBuffer;
  31. };
  32. #endif // UI_SPRITE_H