/usr/include/MYGUI/MyGUI_OgreRenderManager.h is in libmygui-dev 3.2.2-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | /*!
@file
@author Albert Semenov
@date 04/2008
*/
#ifndef MYGUI_OGRE_RENDER_MANAGER_H_
#define MYGUI_OGRE_RENDER_MANAGER_H_
#include "MyGUI_Prerequest.h"
#include "MyGUI_RenderFormat.h"
#include "MyGUI_IVertexBuffer.h"
#include "MyGUI_RenderManager.h"
#include <Ogre.h>
#include "MyGUI_LastHeader.h"
namespace MyGUI
{
class OgreRenderManager :
public RenderManager,
public IRenderTarget,
public Ogre::WindowEventListener,
public Ogre::RenderQueueListener,
public Ogre::RenderSystem::Listener
{
public:
OgreRenderManager();
void initialise(Ogre::RenderWindow* _window, Ogre::SceneManager* _scene);
void shutdown();
static OgreRenderManager& getInstance();
static OgreRenderManager* getInstancePtr();
/** @see RenderManager::getViewSize */
virtual const IntSize& getViewSize() const;
/** @see RenderManager::getVertexFormat */
virtual VertexColourType getVertexFormat();
/** @see RenderManager::createVertexBuffer */
virtual IVertexBuffer* createVertexBuffer();
/** @see RenderManager::destroyVertexBuffer */
virtual void destroyVertexBuffer(IVertexBuffer* _buffer);
/** @see RenderManager::createTexture */
virtual ITexture* createTexture(const std::string& _name);
/** @see RenderManager::destroyTexture */
virtual void destroyTexture(ITexture* _texture);
/** @see RenderManager::getTexture */
virtual ITexture* getTexture(const std::string& _name);
/** @see RenderManager::isFormatSupported */
virtual bool isFormatSupported(PixelFormat _format, TextureUsage _usage);
/** @see IRenderTarget::begin */
virtual void begin();
/** @see IRenderTarget::end */
virtual void end();
/** @see IRenderTarget::doRender */
virtual void doRender(IVertexBuffer* _buffer, ITexture* _texture, size_t _count);
/** @see IRenderTarget::getInfo */
virtual const RenderTargetInfo& getInfo();
void setRenderSystem(Ogre::RenderSystem* _render);
Ogre::RenderSystem* getRenderSystem();
void setRenderWindow(Ogre::RenderWindow* _window);
/** Set scene manager where MyGUI will be rendered */
void setSceneManager(Ogre::SceneManager* _scene);
/** Get GUI viewport index */
size_t getActiveViewport();
/** Set GUI viewport index */
void setActiveViewport(unsigned short _num);
Ogre::RenderWindow* getRenderWindow();
bool getManualRender();
void setManualRender(bool _value);
size_t getBatchCount() const;
#if MYGUI_DEBUG_MODE == 1
virtual bool checkTexture(ITexture* _texture);
#endif
private:
virtual void renderQueueStarted(Ogre::uint8 queueGroupId, const Ogre::String& invocation, bool& skipThisInvocation);
virtual void renderQueueEnded(Ogre::uint8 queueGroupId, const Ogre::String& invocation, bool& repeatThisInvocation);
virtual void windowResized(Ogre::RenderWindow* _window);
// восстанавливаем буферы
virtual void eventOccurred(const Ogre::String& eventName, const Ogre::NameValuePairList* parameters);
void destroyAllResources();
void updateRenderInfo();
private:
// флаг для обновления всех и вся
bool mUpdate;
IntSize mViewSize;
Ogre::SceneManager* mSceneManager;
VertexColourType mVertexFormat;
// окно, на которое мы подписываемся для изменения размеров
Ogre::RenderWindow* mWindow;
// вьюпорт, с которым работает система
unsigned short mActiveViewport;
Ogre::RenderSystem* mRenderSystem;
Ogre::TextureUnitState::UVWAddressingMode mTextureAddressMode;
Ogre::LayerBlendModeEx mColorBlendMode, mAlphaBlendMode;
RenderTargetInfo mInfo;
typedef std::map<std::string, ITexture*> MapTexture;
MapTexture mTextures;
bool mIsInitialise;
bool mManualRender;
size_t mCountBatch;
};
} // namespace MyGUI
#endif // MYGUI_OGRE_RENDER_MANAGER_H_
|