Rigs of Rods 2026.01
Soft-body Physics Simulation
Loading...
Searching...
No Matches
RTTLayer.h
Go to the documentation of this file.
1// based on the MyGUI UnitTests
2
3#pragma once
4
5#include "MyGUI_Prerequest.h"
6#include "MyGUI_Types.h"
7#include "MyGUI_OverlappedLayer.h"
8
9namespace RoR {
10
12class RTTLayer : public MyGUI::OverlappedLayer
13{
14 MYGUI_RTTI_DERIVED( RTTLayer )
15
16public:
17 RTTLayer();
18 virtual ~RTTLayer();
19
20 void deserialization(MyGUI::xml::ElementPtr _node, MyGUI::Version _version) override;
21 void renderToTarget(MyGUI::IRenderTarget* _target, bool _update) override;
22
23 void setTextureSize(const MyGUI::IntSize& _size);
24 void setTextureName(const std::string& _name);
25
26 const std::string& getTextureName() const { return mTextureName; }
27
28 void createRttTexture();
29 void destroyRttTexture();
30
31private:
32 MyGUI::ITexture* mTexture;
33 MyGUI::IntSize mTextureSize;
34 std::string mTextureName;
36};
37
40{
41public:
43 void RecycleRttLayer(RTTLayer* obj);
44private:
46 std::vector<RTTLayer*> mReusableRttLayers;
47};
48
49} // namespace RoR
RTT texture 'slot' within MyGUI system; we can only create them, not destroy, so we reuse.
Definition RTTLayer.h:13
void deserialization(MyGUI::xml::ElementPtr _node, MyGUI::Version _version) override
Definition RTTLayer.cpp:26
void setTextureSize(const MyGUI::IntSize &_size)
Call before createRttTexture()
Definition RTTLayer.cpp:68
std::string mTextureName
Definition RTTLayer.h:34
bool mOutOfDate
Definition RTTLayer.h:35
void destroyRttTexture()
Definition RTTLayer.cpp:87
MyGUI::ITexture * mTexture
Definition RTTLayer.h:32
virtual ~RTTLayer()
Definition RTTLayer.cpp:21
const std::string & getTextureName() const
Definition RTTLayer.h:26
void createRttTexture()
Definition RTTLayer.cpp:98
void setTextureName(const std::string &_name)
Call before createRttTexture()
Definition RTTLayer.cpp:80
MyGUI::IntSize mTextureSize
Definition RTTLayer.h:33
void renderToTarget(MyGUI::IRenderTarget *_target, bool _update) override
Definition RTTLayer.cpp:44
Global object, see RoR::GUIManager::GetRttLayerManager()
Definition RTTLayer.h:40
RTTLayer * CreateOrReuseRttLayer()
Definition RTTLayer.cpp:114
void RecycleRttLayer(RTTLayer *obj)
Definition RTTLayer.cpp:132
std::vector< RTTLayer * > mReusableRttLayers
MyGUI allows dynamic allocation of RTT layers, but not destruction - we reuse.
Definition RTTLayer.h:46