Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/WolfireGames/overgrowth.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Source/GUI/IMUI/imgui.cpp')
-rw-r--r--Source/GUI/IMUI/imgui.cpp929
1 files changed, 430 insertions, 499 deletions
diff --git a/Source/GUI/IMUI/imgui.cpp b/Source/GUI/IMUI/imgui.cpp
index f858e779..97bfe009 100644
--- a/Source/GUI/IMUI/imgui.cpp
+++ b/Source/GUI/IMUI/imgui.cpp
@@ -1,7 +1,7 @@
//-----------------------------------------------------------------------------
// Name: imgui.cpp
// Developer: Wolfire Games LLC
-// Description: Main class for creating adhoc GUIs as part of the UI tools
+// Description: Main class for creating adhoc GUIs as part of the UI tools
// License: Read below
//-----------------------------------------------------------------------------
//
@@ -40,38 +40,35 @@
*/
int guicount = 0;
-IMGUI::IMGUI() :
- elementCount(1),
- header(),
- footer(),
- main(),
- mainOffset(0.0),
- footerOffset(0.0),
- headerHeight(0.0),
- footerHeight(0.0),
- mainHeight(0.0),
- headerPanelGap(0.0),
- footerPanelGap(0.0),
- mainPanelGap(0.0),
- pendingFGLayers(1),
- pendingBGLayers(1),
- pendingHeaderHeight(0.0f),
- pendingFooterHeight(0.0f),
- refCount(1)
-{
-
- IMrefCountTracker.addRefCountObject( "IMGUI" );
+IMGUI::IMGUI() : elementCount(1),
+ header(),
+ footer(),
+ main(),
+ mainOffset(0.0),
+ footerOffset(0.0),
+ headerHeight(0.0),
+ footerHeight(0.0),
+ mainHeight(0.0),
+ headerPanelGap(0.0),
+ footerPanelGap(0.0),
+ mainPanelGap(0.0),
+ pendingFGLayers(1),
+ pendingBGLayers(1),
+ pendingHeaderHeight(0.0f),
+ pendingFooterHeight(0.0f),
+ refCount(1) {
+ IMrefCountTracker.addRefCountObject("IMGUI");
guicount++;
-
+
guiid = guicount;
-
+
screenSize = screenMetrics.getMetrics();
-
+
lastUpdateTime = 0;
-
+
needsRelayout = false;
showGuides = false;
-
+
IMGUI_IMUIContext = new IMUIContext;
IMGUI_IMUIContext->Init();
@@ -79,9 +76,9 @@ IMGUI::IMGUI() :
}
/*
IMGUI::IMGUI( IMGUI const& other ) {
-
+
IMrefCountTracker.addRefCountObject( "IMGUI" );
-
+
lastUpdateTime = other.lastUpdateTime;
elementCount = other.elementCount;
needsRelayout = other.needsRelayout;
@@ -115,7 +112,7 @@ IMGUI::IMGUI( IMGUI const& other ) {
pendingFooterPanels = other.pendingFooterPanels;
screenSize = other.screenSize;
refCount = other.refCount;
-
+
IMGUI_IMUIContext = new IMUIContext;
IMGUI_IMUIContext->Init();
@@ -123,16 +120,14 @@ IMGUI::IMGUI( IMGUI const& other ) {
}
*/
-void IMGUI::AddRef()
-{
+void IMGUI::AddRef() {
// Increase the reference counter
refCount++;
}
-void IMGUI::Release()
-{
+void IMGUI::Release() {
// Decrease ref count and delete if it reaches 0
- if( --refCount == 0 ) {
+ if (--refCount == 0) {
delete this;
}
}
@@ -148,7 +143,7 @@ void IMGUI::Release()
* @param numLayers number of layers required
*
*/
-void IMGUI::setBackgroundLayers( unsigned int numLayers ) {
+void IMGUI::setBackgroundLayers(unsigned int numLayers) {
pendingBGLayers = numLayers;
}
@@ -163,7 +158,7 @@ void IMGUI::setBackgroundLayers( unsigned int numLayers ) {
* @param numLayers number of layers required
*
*/
-void IMGUI::setForegroundLayers( unsigned int numLayers ) {
+void IMGUI::setForegroundLayers(unsigned int numLayers) {
pendingFGLayers = numLayers;
}
@@ -176,7 +171,7 @@ void IMGUI::setForegroundLayers( unsigned int numLayers ) {
* @param _headerSize size in GUI space
*
*/
-void IMGUI::setHeaderHeight( float _headerSize ) {
+void IMGUI::setHeaderHeight(float _headerSize) {
pendingHeaderHeight = _headerSize;
}
@@ -189,7 +184,7 @@ void IMGUI::setHeaderHeight( float _headerSize ) {
* @param _footerSize size in GUI space
*
*/
-void IMGUI::setFooterHeight( float _footerSize ) {
+void IMGUI::setFooterHeight(float _footerSize) {
pendingFooterHeight = _footerSize;
}
@@ -203,20 +198,18 @@ void IMGUI::setFooterHeight( float _footerSize ) {
* Three will be left, center, right justified
*
*/
-void IMGUI::setHeaderPanels( float first, float second, float third ) {
-
- if( first > 0.0 ) {
- pendingHeaderPanels.push_back( first );
+void IMGUI::setHeaderPanels(float first, float second, float third) {
+ if (first > 0.0) {
+ pendingHeaderPanels.push_back(first);
}
-
- if( second > 0.0 ) {
- pendingHeaderPanels.push_back( second );
+
+ if (second > 0.0) {
+ pendingHeaderPanels.push_back(second);
}
-
- if( third > 0.0 ) {
- pendingHeaderPanels.push_back( third );
+
+ if (third > 0.0) {
+ pendingHeaderPanels.push_back(third);
}
-
}
/*******************************************************************************************/
@@ -229,21 +222,18 @@ void IMGUI::setHeaderPanels( float first, float second, float third ) {
* Three will be left, center, right justified
*
*/
-void IMGUI::setMainPanels( float first, float second, float third ) {
-
- if( first > 0.0 ) {
- pendingMainPanels.push_back( first );
+void IMGUI::setMainPanels(float first, float second, float third) {
+ if (first > 0.0) {
+ pendingMainPanels.push_back(first);
}
-
- if( second > 0.0 ) {
- pendingMainPanels.push_back( second );
- }
-
- if( third > 0.0 ) {
- pendingMainPanels.push_back( third );
+
+ if (second > 0.0) {
+ pendingMainPanels.push_back(second);
}
-
+ if (third > 0.0) {
+ pendingMainPanels.push_back(third);
+ }
}
/*******************************************************************************************/
@@ -256,23 +246,20 @@ void IMGUI::setMainPanels( float first, float second, float third ) {
* Three will be left, center, right justified
*
*/
-void IMGUI::setFooterPanels( float first, float second, float third ) {
-
- if( first > 0.0 ) {
- pendingFooterPanels.push_back( first );
+void IMGUI::setFooterPanels(float first, float second, float third) {
+ if (first > 0.0) {
+ pendingFooterPanels.push_back(first);
}
-
- if( second > 0.0 ) {
- pendingFooterPanels.push_back( second );
+
+ if (second > 0.0) {
+ pendingFooterPanels.push_back(second);
}
-
- if( third > 0.0 ) {
- pendingFooterPanels.push_back( first );
+
+ if (third > 0.0) {
+ pendingFooterPanels.push_back(first);
}
-
}
-
/*******************************************************************************************/
/**
* @brief Sets up main layer with header, footer and primary panel (clears any existing)
@@ -282,176 +269,158 @@ void IMGUI::setFooterPanels( float first, float second, float third ) {
*
*/
void IMGUI::setup() {
-
- for(auto & it : header) {
-
+ for (auto& it : header) {
it->Release();
}
-
- for(auto & it : footer) {
-
+
+ for (auto& it : footer) {
it->Release();
}
-
- for(auto & it : main) {
-
+
+ for (auto& it : main) {
it->Release();
}
-
+
header.clear();
footer.clear();
main.clear();
-
+
// Make sure we at least some values
- if( pendingMainPanels.size() == 0 ) {
- pendingMainPanels.push_back( screenMetrics.mainSize.x() );
+ if (pendingMainPanels.size() == 0) {
+ pendingMainPanels.push_back(screenMetrics.mainSize.x());
}
-
- if( pendingHeaderPanels.size() == 0 ) {
- pendingHeaderPanels.push_back( screenMetrics.mainSize.x() );
+
+ if (pendingHeaderPanels.size() == 0) {
+ pendingHeaderPanels.push_back(screenMetrics.mainSize.x());
}
-
- if( pendingFooterPanels.size() == 0 ) {
- pendingFooterPanels.push_back( screenMetrics.mainSize.x() );
+
+ if (pendingFooterPanels.size() == 0) {
+ pendingFooterPanels.push_back(screenMetrics.mainSize.x());
}
-
+
// Sanity check
- if( pendingHeaderHeight + pendingFooterHeight > screenMetrics.mainSize.y() ) {
+ if (pendingHeaderHeight + pendingFooterHeight > screenMetrics.mainSize.y()) {
IMDisplayError("GUI Error", "Header/footer too large");
}
-
- const std::string numbering[] = { std::string("0"), std::string("1"), std::string("2") };
+
+ const std::string numbering[] = {std::string("0"), std::string("1"), std::string("2")};
// Now build the panels
- if( pendingHeaderHeight > 0 ) {
+ if (pendingHeaderHeight > 0) {
headerHeight = pendingHeaderHeight;
-
+
float totalWidth = 0;
-
+
// Go through the list of pending panels, create them and total their widths
int panelCount = 0;
- for(float & pendingHeaderPanel : pendingHeaderPanels) {
-
- IMContainer* panel = new IMContainer( "header" + numbering[panelCount],
- SizePolicy(pendingHeaderPanel),
- SizePolicy(headerHeight) );
- panel->setOwnerParent( this, NULL );
- header.push_back( panel );
-
+ for (float& pendingHeaderPanel : pendingHeaderPanels) {
+ IMContainer* panel = new IMContainer("header" + numbering[panelCount],
+ SizePolicy(pendingHeaderPanel),
+ SizePolicy(headerHeight));
+ panel->setOwnerParent(this, NULL);
+ header.push_back(panel);
+
totalWidth += pendingHeaderPanel;
-
}
-
+
// Sanity check
- if( totalWidth > screenMetrics.mainSize.x() ) {
+ if (totalWidth > screenMetrics.mainSize.x()) {
IMDisplayError("GUI Error", "Header panels too wide");
}
-
+
// determine the gap size
- if( header.size() == 1 || header.size() == 3 ) {
- headerPanelGap = ( screenMetrics.mainSize.x() - totalWidth )/2;
+ if (header.size() == 1 || header.size() == 3) {
+ headerPanelGap = (screenMetrics.mainSize.x() - totalWidth) / 2;
+ } else {
+ headerPanelGap = (screenMetrics.mainSize.x() - totalWidth);
}
- else {
- headerPanelGap = ( screenMetrics.mainSize.x() - totalWidth );
- }
-
}
-
- if( pendingFooterHeight > 0 ) {
-
+
+ if (pendingFooterHeight > 0) {
footerHeight = pendingFooterHeight;
-
+
float totalWidth = 0;
-
+
// Go through the list of pending panels, create them and total their widths
int panelCount = 0;
- for(float & pendingFooterPanel : pendingFooterPanels) {
-
- IMContainer* panel = new IMContainer( "footer" + numbering[panelCount],
+ for (float& pendingFooterPanel : pendingFooterPanels) {
+ IMContainer* panel = new IMContainer("footer" + numbering[panelCount],
SizePolicy(pendingFooterPanel),
- SizePolicy(footerHeight) );
- panel->setOwnerParent( this, NULL );
-
- footer.push_back( panel );
-
+ SizePolicy(footerHeight));
+ panel->setOwnerParent(this, NULL);
+
+ footer.push_back(panel);
+
totalWidth += pendingFooterPanel;
-
}
-
+
// Sanity check
- if( totalWidth > screenMetrics.mainSize.x() ) {
+ if (totalWidth > screenMetrics.mainSize.x()) {
IMDisplayError("GUI Error", "Footer panels too wide");
}
-
+
// determine the gap size
- if( footer.size() == 1 || main.size() == 3 ) {
- footerPanelGap = ( screenMetrics.mainSize.x() - totalWidth )/2;
- }
- else {
- footerPanelGap = ( screenMetrics.mainSize.x() - totalWidth );
+ if (footer.size() == 1 || main.size() == 3) {
+ footerPanelGap = (screenMetrics.mainSize.x() - totalWidth) / 2;
+ } else {
+ footerPanelGap = (screenMetrics.mainSize.x() - totalWidth);
}
-
}
-
+
mainHeight = screenMetrics.mainSize.y() - (headerHeight + footerHeight);
-
+
{
-
float totalWidth = 0;
-
+
// Go through the list of pending panels, create them and total their widths
int panelCount = 0;
- for(float & pendingMainPanel : pendingMainPanels) {
-
- IMContainer* panel = new IMContainer( "main" + numbering[panelCount],
+ for (float& pendingMainPanel : pendingMainPanels) {
+ IMContainer* panel = new IMContainer("main" + numbering[panelCount],
SizePolicy(pendingMainPanel),
- SizePolicy(mainHeight) );
- panel->setOwnerParent( this, NULL );
-
- main.push_back( panel );
-
+ SizePolicy(mainHeight));
+ panel->setOwnerParent(this, NULL);
+
+ main.push_back(panel);
+
totalWidth += pendingMainPanel;
-
}
-
+
// Sanity check
- if( totalWidth > screenMetrics.mainSize.x() ) {
+ if (totalWidth > screenMetrics.mainSize.x()) {
IMDisplayError("GUI Error", "Main panels too wide");
}
-
+
// determine the gap size for rendering
- if( main.size() == 1 || main.size() == 3 ) {
- mainPanelGap = ( screenMetrics.mainSize.x() - totalWidth )/2;
- }
- else {
- mainPanelGap = ( screenMetrics.mainSize.x() - totalWidth );
+ if (main.size() == 1 || main.size() == 3) {
+ mainPanelGap = (screenMetrics.mainSize.x() - totalWidth) / 2;
+ } else {
+ mainPanelGap = (screenMetrics.mainSize.x() - totalWidth);
}
-
}
-
+
// setup background layers
- for( unsigned int i = 0; i < pendingFGLayers; ++i ) {
- IMContainer* newContainer = new IMContainer( SizePolicy(screenMetrics.GUISpace.x()),
- SizePolicy(screenMetrics.GUISpace.y()) );
-
- newContainer->setOwnerParent( this, NULL );
-
- foregrounds.push_back( newContainer );
+ for (unsigned int i = 0; i < pendingFGLayers; ++i) {
+ IMContainer* newContainer = new IMContainer(SizePolicy(screenMetrics.GUISpace.x()),
+ SizePolicy(screenMetrics.GUISpace.y()));
+
+ newContainer->setOwnerParent(this, NULL);
+
+ foregrounds.push_back(newContainer);
}
-
- for( unsigned int i = 0; i < pendingBGLayers; ++i ) {
- IMContainer* newContainer = new IMContainer( SizePolicy(screenMetrics.GUISpace.x()),
- SizePolicy(screenMetrics.GUISpace.y()) );
-
- newContainer->setOwnerParent( this, NULL );
-
- backgrounds.push_back( newContainer );
+
+ for (unsigned int i = 0; i < pendingBGLayers; ++i) {
+ IMContainer* newContainer = new IMContainer(SizePolicy(screenMetrics.GUISpace.x()),
+ SizePolicy(screenMetrics.GUISpace.y()));
+
+ newContainer->setOwnerParent(this, NULL);
+
+ backgrounds.push_back(newContainer);
}
-
+
derivePanelOffsets();
-
+
doRelayout();
-
+
pendingFGLayers = 1;
pendingBGLayers = 1;
pendingHeaderHeight = 0.0f;
@@ -459,7 +428,6 @@ void IMGUI::setup() {
pendingHeaderPanels.clear();
pendingFooterPanels.clear();
pendingMainPanels.clear();
-
}
/*******************************************************************************************/
@@ -468,39 +436,36 @@ void IMGUI::setup() {
*
*/
void IMGUI::derivePanelOffsets() {
-
float headerEnd = -1;
-
- if( header.size() != 0 ) {
+
+ if (header.size() != 0) {
headerEnd = headerHeight - 1;
}
-
+
footerOffset = screenMetrics.GUISpace.y();
-
- if( footer.size() != 0 ) {
+
+ if (footer.size() != 0) {
footerOffset = screenMetrics.GUISpace.y() - footerHeight;
}
-
- if( main.size() != 0 ) {
-
+
+ if (main.size() != 0) {
// see if we have any space
- if( headerHeight + footerHeight + mainHeight < screenMetrics.GUISpace.y() ) {
+ if (headerHeight + footerHeight + mainHeight < screenMetrics.GUISpace.y()) {
// first center the main panel
- mainOffset = (screenMetrics.GUISpace.y()/2.0f) - (mainHeight/2.0f);
-
+ mainOffset = (screenMetrics.GUISpace.y() / 2.0f) - (mainHeight / 2.0f);
+
// now check if we're going over our bounds
- if( mainOffset <= headerEnd ) {
+ if (mainOffset <= headerEnd) {
mainOffset += (headerEnd - mainOffset) + 1;
}
-
- float mainEnd = mainOffset + mainHeight -1;
-
- if ( mainEnd >= footerOffset ) {
+
+ float mainEnd = mainOffset + mainHeight - 1;
+
+ if (mainEnd >= footerOffset) {
// we can do these two checks independently as we know there's enough room for all three
- mainOffset -= ( mainEnd - footerOffset ) + 1;
+ mainOffset -= (mainEnd - footerOffset) + 1;
}
- }
- else {
+ } else {
mainOffset = headerEnd + 1;
}
}
@@ -514,14 +479,13 @@ void IMGUI::derivePanelOffsets() {
*
*/
void IMGUI::clear() {
-
std::vector<IMContainer*> containerList;
- containerList.insert(containerList.end(), backgrounds.begin(), backgrounds.end() );
- containerList.insert(containerList.end(), foregrounds.begin(), foregrounds.end() );
- containerList.insert(containerList.end(), header.begin(), header.end() );
- containerList.insert(containerList.end(), footer.begin(), footer.end() );
- containerList.insert(containerList.end(), main.begin(), main.end() );
+ containerList.insert(containerList.end(), backgrounds.begin(), backgrounds.end());
+ containerList.insert(containerList.end(), foregrounds.begin(), foregrounds.end());
+ containerList.insert(containerList.end(), header.begin(), header.end());
+ containerList.insert(containerList.end(), footer.begin(), footer.end());
+ containerList.insert(containerList.end(), main.begin(), main.end());
backgrounds.clear();
foregrounds.clear();
@@ -529,11 +493,11 @@ void IMGUI::clear() {
footer.clear();
main.clear();
- for( int i = int(containerList.size())-1; i >= 0; --i ) {
+ for (int i = int(containerList.size()) - 1; i >= 0; --i) {
containerList[i]->Release();
}
- for(auto & i : messageQueue) {
+ for (auto& i : messageQueue) {
i->Release();
}
messageQueue.clear();
@@ -546,7 +510,7 @@ void IMGUI::clear() {
* @param setting True to turn on guides, false otherwise
*
*/
-void IMGUI::setGuides( bool setting ) {
+void IMGUI::setGuides(bool setting) {
showGuides = setting;
}
@@ -556,10 +520,8 @@ void IMGUI::setGuides( bool setting ) {
*
*/
void IMGUI::onRelayout() {
-
// Record this
needsRelayout = true;
-
}
/*******************************************************************************************/
@@ -569,22 +531,22 @@ void IMGUI::onRelayout() {
* @param newError Newly reported error string
*
*/
-void IMGUI::reportError( std::string const& newError ) {
+void IMGUI::reportError(std::string const& newError) {
reportedErrors += newError + "\n";
}
/*******************************************************************************************/
/**
* @brief Receives a message - used internally
- *
+ *
* Remember to increase the message's ref count if used internally!
*
* @param message The message in question
*
*/
-void IMGUI::receiveMessage( IMMessage* message ) {
- IMMessage* messageCopy = new IMMessage( *message );
- messageQueue.push_back( messageCopy );
+void IMGUI::receiveMessage(IMMessage* message) {
+ IMMessage* messageCopy = new IMMessage(*message);
+ messageQueue.push_back(messageCopy);
message->Release();
}
@@ -610,8 +572,8 @@ IMMessage* IMGUI::getNextMessage() {
// Again, I'm aware this isn't very efficient, but we're only dealing with at most
// a half dozen of these a frame
IMMessage* message = *messageQueue.begin();
- messageQueue.erase( messageQueue.begin() );
-
+ messageQueue.erase(messageQueue.begin());
+
return message;
}
@@ -622,12 +584,12 @@ IMMessage* IMGUI::getNextMessage() {
* @param layerNum index of the background layer (starting at 0)
*
*/
-IMContainer* IMGUI::getBackgroundLayer( unsigned int layerNum ) {
- if( layerNum >= backgrounds.size() ) {
+IMContainer* IMGUI::getBackgroundLayer(unsigned int layerNum) {
+ if (layerNum >= backgrounds.size()) {
IMDisplayError("GUI Error", "Unknown background layer ");
return NULL;
}
- IMContainer* container = backgrounds[ layerNum ];
+ IMContainer* container = backgrounds[layerNum];
container->AddRef();
return container;
}
@@ -639,16 +601,15 @@ IMContainer* IMGUI::getBackgroundLayer( unsigned int layerNum ) {
* @param layerNum index of the foreground layer (starting at 0)
*
*/
-IMContainer* IMGUI::getForegroundLayer( unsigned int layerNum ) {
- if( layerNum >= foregrounds.size() ) {
+IMContainer* IMGUI::getForegroundLayer(unsigned int layerNum) {
+ if (layerNum >= foregrounds.size()) {
IMDisplayError("GUI Error", "Unknown foreground layer ");
return NULL;
}
-
- IMContainer* container = foregrounds[ layerNum ];
+
+ IMContainer* container = foregrounds[layerNum];
container->AddRef();
return container;
-
}
/*******************************************************************************************/
@@ -657,35 +618,34 @@ IMContainer* IMGUI::getForegroundLayer( unsigned int layerNum ) {
*
*/
void IMGUI::doRelayout() {
-
int relayoutCount = 0;
- while( needsRelayout ) {
+ while (needsRelayout) {
relayoutCount++;
-
+
// clear the error string
reportedErrors = "";
-
+
needsRelayout = false;
- for( int layer = int(backgrounds.size())-1; layer >= 0; --layer ) {
- backgrounds[ layer ]->doRelayout();
+ for (int layer = int(backgrounds.size()) - 1; layer >= 0; --layer) {
+ backgrounds[layer]->doRelayout();
}
-
- for(auto & it : header) {
+
+ for (auto& it : header) {
it->doRelayout();
}
-
- for(auto & it : footer) {
+
+ for (auto& it : footer) {
it->doRelayout();
}
-
- for(auto & it : main) {
+
+ for (auto& it : main) {
it->doRelayout();
}
-
- for(auto & foreground : foregrounds) {
+
+ for (auto& foreground : foregrounds) {
foreground->doRelayout();
}
-
+
// MJB Note: I'm aware that redoing the layout for the whole structure
// is rather inefficient, but given that this is targeted at most a few
// dozen elements, this should not be a problem -- can easily be optimized
@@ -700,116 +660,108 @@ void IMGUI::doRelayout() {
*/
extern Timer ui_timer;
void IMGUI::update() {
-
// Do relayout as necessary
doRelayout();
-
+
// If we haven't updated yet, set the time
- if( lastUpdateTime == 0 ) {
- lastUpdateTime = uint64_t( ui_timer.game_time * 1000 );
+ if (lastUpdateTime == 0) {
+ lastUpdateTime = uint64_t(ui_timer.game_time * 1000);
}
-
+
// Calculate the delta time
- uint64_t delta = uint64_t( ui_timer.game_time * 1000 ) - lastUpdateTime;
-
+ uint64_t delta = uint64_t(ui_timer.game_time * 1000) - lastUpdateTime;
+
// Update the time
- lastUpdateTime = uint64_t( ui_timer.game_time * 1000 );
-
+ lastUpdateTime = uint64_t(ui_timer.game_time * 1000);
+
// Get the input from the engine
IMGUI_IMUIContext->UpdateControls();
-
+
vec2 engineMousePos = IMGUI_IMUIContext->getMousePosition();
-
+
// Translate to GUISpace
- mousePosition.x() = (engineMousePos.x() - screenMetrics.renderOffset.x() ) / screenMetrics.GUItoScreenXScale;
- mousePosition.y() = ( screenMetrics.getScreenHeight() - engineMousePos.y() + screenMetrics.renderOffset.y() ) / screenMetrics.GUItoScreenYScale;
+ mousePosition.x() = (engineMousePos.x() - screenMetrics.renderOffset.x()) / screenMetrics.GUItoScreenXScale;
+ mousePosition.y() = (screenMetrics.getScreenHeight() - engineMousePos.y() + screenMetrics.renderOffset.y()) / screenMetrics.GUItoScreenYScale;
leftMouseState = IMGUI_IMUIContext->getLeftMouseState();
-
+
// Fill in our GUI structure
guistate.mousePosition = mousePosition;
guistate.leftMouseState = leftMouseState;
guistate.inheritedMouseDown = false;
guistate.inheritedMouseOver = false;
guistate.clickHandled = false;
-
+
// Do relayout as necessary
doRelayout();
-
- vec2 drawOffset(0,0);
+
+ vec2 drawOffset(0, 0);
// update the backgrounds
- for( int layer = int(backgrounds.size())-1; layer >= 0; --layer ) {
- backgrounds[ layer ]->update( delta, drawOffset, guistate );
+ for (int layer = int(backgrounds.size()) - 1; layer >= 0; --layer) {
+ backgrounds[layer]->update(delta, drawOffset, guistate);
}
-
- if( header.size() == 1 ) {
+
+ if (header.size() == 1) {
drawOffset.x() = headerPanelGap;
- header[0]->update( delta, drawOffset, guistate );
- }
- else if( header.size() == 2 ) {
- header[0]->update( delta, drawOffset, guistate );
+ header[0]->update(delta, drawOffset, guistate);
+ } else if (header.size() == 2) {
+ header[0]->update(delta, drawOffset, guistate);
drawOffset.x() = header[0]->getSizeX() + headerPanelGap;
- header[1]->update( delta, drawOffset, guistate );
- }
- else if( header.size() == 3 ) {
- header[0]->update( delta, drawOffset, guistate );
+ header[1]->update(delta, drawOffset, guistate);
+ } else if (header.size() == 3) {
+ header[0]->update(delta, drawOffset, guistate);
drawOffset.x() = header[0]->getSizeX() + headerPanelGap;
- header[1]->update( delta, drawOffset, guistate );
+ header[1]->update(delta, drawOffset, guistate);
drawOffset.x() = header[1]->getSizeX() + headerPanelGap;
- header[2]->update( delta, drawOffset, guistate );
+ header[2]->update(delta, drawOffset, guistate);
}
-
+
drawOffset.x() = 0;
drawOffset.y() = mainOffset;
- if( main.size() == 1 ) {
+ if (main.size() == 1) {
drawOffset.x() = mainPanelGap;
- main[0]->update( delta, drawOffset, guistate );
- }
- else if( main.size() == 2 ) {
- main[0]->update( delta, drawOffset, guistate );
+ main[0]->update(delta, drawOffset, guistate);
+ } else if (main.size() == 2) {
+ main[0]->update(delta, drawOffset, guistate);
drawOffset.x() = main[0]->getSizeX() + mainPanelGap;
- main[1]->update( delta, drawOffset, guistate );
- }
- else if( main.size() == 3 ) {
- main[0]->update( delta, drawOffset, guistate );
+ main[1]->update(delta, drawOffset, guistate);
+ } else if (main.size() == 3) {
+ main[0]->update(delta, drawOffset, guistate);
drawOffset.x() = main[0]->getSizeX() + mainPanelGap;
- main[1]->update( delta, drawOffset, guistate );
+ main[1]->update(delta, drawOffset, guistate);
drawOffset.x() = main[1]->getSizeX() + mainPanelGap;
- main[2]->update( delta, drawOffset, guistate );
+ main[2]->update(delta, drawOffset, guistate);
}
-
+
drawOffset.x() = 0;
drawOffset.y() = footerOffset;
- if( footer.size() == 1 ) {
+ if (footer.size() == 1) {
drawOffset.x() = footerPanelGap;
- footer[0]->update( delta, drawOffset, guistate );
- }
- else if( footer.size() == 2 ) {
- footer[0]->update( delta, drawOffset, guistate );
+ footer[0]->update(delta, drawOffset, guistate);
+ } else if (footer.size() == 2) {
+ footer[0]->update(delta, drawOffset, guistate);
drawOffset.x() = footer[0]->getSizeX() + footerPanelGap;
- footer[1]->update( delta, drawOffset, guistate );
- }
- else if( footer.size() == 3 ) {
- footer[0]->update( delta, drawOffset, guistate );
+ footer[1]->update(delta, drawOffset, guistate);
+ } else if (footer.size() == 3) {
+ footer[0]->update(delta, drawOffset, guistate);
drawOffset.x() = footer[0]->getSizeX() + footerPanelGap;
- footer[1]->update( delta, drawOffset, guistate );
+ footer[1]->update(delta, drawOffset, guistate);
drawOffset.x() = footer[1]->getSizeX() + footerPanelGap;
- footer[2]->update( delta, drawOffset, guistate );
+ footer[2]->update(delta, drawOffset, guistate);
}
-
- drawOffset = vec2(0,0);
+
+ drawOffset = vec2(0, 0);
// update the backgrounds
- for( int layer = int(foregrounds.size())-1; layer >= 0; --layer ) {
- foregrounds[ layer ]->update( delta, drawOffset, guistate );
+ for (int layer = int(foregrounds.size()) - 1; layer >= 0; --layer) {
+ foregrounds[layer]->update(delta, drawOffset, guistate);
}
-
+
// See if this triggered any relayout events
doRelayout();
-
+
// If we've got here and still have an error, report it
- if( reportedErrors != "" ) {
+ if (reportedErrors != "") {
IMDisplayError("GUI Error", reportedErrors);
}
-
}
/*******************************************************************************************/
@@ -818,187 +770,176 @@ void IMGUI::update() {
*
*/
void IMGUI::doScreenResize() {
-
- screenMetrics.checkMetrics( screenSize );
-
+ screenMetrics.checkMetrics(screenSize);
+
// All the font sizes will likely have changed
IMGUI_IMUIContext->clearTextAtlases();
-
+
// Move our panels around (if necessary)
derivePanelOffsets();
-
+
// We need to inform the elements
- for( int layer = int(backgrounds.size())-1; layer >= 0; --layer ) {
- backgrounds[ layer ]->setSizePolicy( SizePolicy(screenMetrics.GUISpace.x()),
- SizePolicy(screenMetrics.GUISpace.y()) );
-
- backgrounds[ layer ]->setSize( vec2( screenMetrics.GUISpace.x(),
- screenMetrics.GUISpace.y() ) );
-
- backgrounds[ layer ]->doScreenResize();
+ for (int layer = int(backgrounds.size()) - 1; layer >= 0; --layer) {
+ backgrounds[layer]->setSizePolicy(SizePolicy(screenMetrics.GUISpace.x()),
+ SizePolicy(screenMetrics.GUISpace.y()));
+
+ backgrounds[layer]->setSize(vec2(screenMetrics.GUISpace.x(),
+ screenMetrics.GUISpace.y()));
+
+ backgrounds[layer]->doScreenResize();
}
-
- for(auto & it : header) {
+
+ for (auto& it : header) {
it->doScreenResize();
}
-
- for(auto & it : footer) {
+
+ for (auto& it : footer) {
it->doScreenResize();
}
-
- for(auto & it : main) {
+
+ for (auto& it : main) {
it->doScreenResize();
}
-
- for(auto & foreground : foregrounds) {
+
+ for (auto& foreground : foregrounds) {
// reset the size
- foreground->setSizePolicy( SizePolicy(screenMetrics.GUISpace.x()),
- SizePolicy(screenMetrics.GUISpace.y()) );
-
-
+ foreground->setSizePolicy(SizePolicy(screenMetrics.GUISpace.x()),
+ SizePolicy(screenMetrics.GUISpace.y()));
+
foreground->doScreenResize();
}
-
+
doRelayout();
}
-
/*******************************************************************************************/
/**
* @brief Render the GUI
*
*/
void IMGUI::render() {
-
- vec2 origin(0,0);
+ vec2 origin(0, 0);
// render the backgrounds
- for( int layer = int(backgrounds.size())-1; layer >= 0; --layer ) {
- backgrounds[ layer ]->render( origin, origin, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
+ for (int layer = int(backgrounds.size()) - 1; layer >= 0; --layer) {
+ backgrounds[layer]->render(origin, origin, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
IMGUI_IMUIContext->render();
}
-
+
// render the main content
- vec2 drawOffset(0,0);
- if( header.size() == 1 ) {
+ vec2 drawOffset(0, 0);
+ if (header.size() == 1) {
drawOffset.x() = headerPanelGap;
- header[0]->render( drawOffset, drawOffset, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
- }
- else if( header.size() == 2 ) {
- header[0]->render( drawOffset, drawOffset, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
+ header[0]->render(drawOffset, drawOffset, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
+ } else if (header.size() == 2) {
+ header[0]->render(drawOffset, drawOffset, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
drawOffset.x() = header[0]->getSizeX() + headerPanelGap;
- header[1]->render( drawOffset, drawOffset, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
- }
- else if( header.size() == 3 ) {
- header[0]->render( drawOffset, drawOffset, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
+ header[1]->render(drawOffset, drawOffset, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
+ } else if (header.size() == 3) {
+ header[0]->render(drawOffset, drawOffset, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
drawOffset.x() = header[0]->getSizeX() + headerPanelGap;
- header[1]->render( drawOffset, drawOffset, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
+ header[1]->render(drawOffset, drawOffset, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
drawOffset.x() = header[1]->getSizeX() + headerPanelGap;
- header[2]->render( drawOffset, drawOffset, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
+ header[2]->render(drawOffset, drawOffset, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
}
-
+
drawOffset.x() = 0;
drawOffset.y() = mainOffset;
- if( main.size() == 1 ) {
+ if (main.size() == 1) {
drawOffset.x() = mainPanelGap;
- main[0]->render( drawOffset, drawOffset, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
- }
- else if( main.size() == 2 ) {
- main[0]->render( drawOffset, drawOffset, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
+ main[0]->render(drawOffset, drawOffset, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
+ } else if (main.size() == 2) {
+ main[0]->render(drawOffset, drawOffset, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
drawOffset.x() = main[0]->getSizeX() + mainPanelGap;
- main[1]->render( drawOffset, drawOffset, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
- }
- else if( main.size() == 3 ) {
- main[0]->render( drawOffset, drawOffset, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
+ main[1]->render(drawOffset, drawOffset, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
+ } else if (main.size() == 3) {
+ main[0]->render(drawOffset, drawOffset, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
drawOffset.x() = main[0]->getSizeX() + mainPanelGap;
- main[1]->render( drawOffset, drawOffset, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
+ main[1]->render(drawOffset, drawOffset, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
drawOffset.x() = main[1]->getSizeX() + mainPanelGap;
- main[2]->render( drawOffset, drawOffset, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
+ main[2]->render(drawOffset, drawOffset, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
}
-
+
drawOffset.x() = 0;
drawOffset.y() = footerOffset;
- if( footer.size() == 1 ) {
+ if (footer.size() == 1) {
drawOffset.x() = footerPanelGap;
- footer[0]->render( drawOffset, drawOffset, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
- }
- else if( footer.size() == 2 ) {
- footer[0]->render( drawOffset, drawOffset, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
+ footer[0]->render(drawOffset, drawOffset, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
+ } else if (footer.size() == 2) {
+ footer[0]->render(drawOffset, drawOffset, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
drawOffset.x() = footer[0]->getSizeX() + footerPanelGap;
- footer[1]->render( drawOffset, drawOffset, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
- }
- else if( footer.size() == 3 ) {
- footer[0]->render( drawOffset, drawOffset, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
+ footer[1]->render(drawOffset, drawOffset, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
+ } else if (footer.size() == 3) {
+ footer[0]->render(drawOffset, drawOffset, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
drawOffset.x() = footer[0]->getSizeX() + footerPanelGap;
- footer[1]->render( drawOffset, drawOffset, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
+ footer[1]->render(drawOffset, drawOffset, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
drawOffset.x() = footer[1]->getSizeX() + footerPanelGap;
- footer[2]->render( drawOffset, drawOffset, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
+ footer[2]->render(drawOffset, drawOffset, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
}
-
+
IMGUI_IMUIContext->render();
-
+
// render the foregrounds
- for(auto & foreground : foregrounds) {
- foreground->render( origin, origin, vec2( UNDEFINEDSIZE, UNDEFINEDSIZE ) );
+ for (auto& foreground : foregrounds) {
+ foreground->render(origin, origin, vec2(UNDEFINEDSIZE, UNDEFINEDSIZE));
IMGUI_IMUIContext->render();
}
-
// TODO
-// if( showGuides ) {
-//
-// for( int i = 2; i <= 16; i *= 2 ) {
-//
-// // draw the vertical lines
-// float increment = screenMetrics.getScreenWidth() / (float)i;
-// float xpos = increment;
-//
-// while( xpos < screenMetrics.getScreenWidth() ) {
-//
-// HUDImage* newimage = hud.AddImage();
-// newimage->SetImageFromPath("Data/Textures/ui/whiteblock.tga");
-//
-// vec2 imagepos( xpos-1, 0.0f );
-//
-// newimage->scale = 1;
-// newimage->scale.x *= 2;
-// newimage->scale.y *= screenMetrics.getScreenHeight();
-//
-// newimage->position.x = imagepos.x;
-// newimage->position.y() = screenMetrics.getScreenHeight() - imagepos.y() - (newimage.GetWidth() * newimage.scale.y() );
-// newimage->position.z() = -100.0;// 0.1f;
-//
-// newimage->color = vec4( 0.0, 0.2, 0.5 + (0.5/i), 0.25 );
-//
-// xpos += increment;
-// }
-//
-// increment = GetScreenHeight() / i;
-// int ypos = increment;
-//
-// while( ypos < GetScreenHeight() ) {
-//
-// HUDImage @newimage = hud.AddImage();
-// newimage.SetImageFromPath("Data/Textures/ui/whiteblock.tga");
-//
-// vec2 imagepos( 0, ypos -1 );
-//
-// newimage.scale = 1;
-// newimage.scale.x *= GetScreenWidth();
-// newimage.scale.y *= 2;
-//
-// newimage.position.x = imagepos.x;
-// newimage.position.y = GetScreenHeight() - imagepos.y - (newimage.GetWidth() * newimage.scale.y );
-// newimage.position.z = -100.0;// 0.1f;
-//
-// newimage.color = vec4( 0.0, 0.2, 0.5 + (0.5/i), 0.25 );
-//
-// ypos += increment;
-// }
-// }
-// }
-//
-// hud.Draw();
+ // if( showGuides ) {
+ //
+ // for( int i = 2; i <= 16; i *= 2 ) {
+ //
+ // // draw the vertical lines
+ // float increment = screenMetrics.getScreenWidth() / (float)i;
+ // float xpos = increment;
+ //
+ // while( xpos < screenMetrics.getScreenWidth() ) {
+ //
+ // HUDImage* newimage = hud.AddImage();
+ // newimage->SetImageFromPath("Data/Textures/ui/whiteblock.tga");
+ //
+ // vec2 imagepos( xpos-1, 0.0f );
+ //
+ // newimage->scale = 1;
+ // newimage->scale.x *= 2;
+ // newimage->scale.y *= screenMetrics.getScreenHeight();
+ //
+ // newimage->position.x = imagepos.x;
+ // newimage->position.y() = screenMetrics.getScreenHeight() - imagepos.y() - (newimage.GetWidth() * newimage.scale.y() );
+ // newimage->position.z() = -100.0;// 0.1f;
+ //
+ // newimage->color = vec4( 0.0, 0.2, 0.5 + (0.5/i), 0.25 );
+ //
+ // xpos += increment;
+ // }
+ //
+ // increment = GetScreenHeight() / i;
+ // int ypos = increment;
+ //
+ // while( ypos < GetScreenHeight() ) {
+ //
+ // HUDImage @newimage = hud.AddImage();
+ // newimage.SetImageFromPath("Data/Textures/ui/whiteblock.tga");
+ //
+ // vec2 imagepos( 0, ypos -1 );
+ //
+ // newimage.scale = 1;
+ // newimage.scale.x *= GetScreenWidth();
+ // newimage.scale.y *= 2;
+ //
+ // newimage.position.x = imagepos.x;
+ // newimage.position.y = GetScreenHeight() - imagepos.y - (newimage.GetWidth() * newimage.scale.y );
+ // newimage.position.z = -100.0;// 0.1f;
+ //
+ // newimage.color = vec4( 0.0, 0.2, 0.5 + (0.5/i), 0.25 );
+ //
+ // ypos += increment;
+ // }
+ // }
+ // }
+ //
+ // hud.Draw();
IMGUI_IMUIContext->render();
}
@@ -1007,31 +948,27 @@ void IMGUI::render() {
* @brief Draw a box (in *screen* coordinates) -- used internally
*
*/
-void IMGUI::drawBox( vec2 boxPos, vec2 boxSize, vec4 boxColor, int zOrder, bool shouldClip,
- vec2 currentClipPos,
- vec2 currentClipSize ) {
-
+void IMGUI::drawBox(vec2 boxPos, vec2 boxSize, vec4 boxColor, int zOrder, bool shouldClip,
+ vec2 currentClipPos,
+ vec2 currentClipSize) {
IMUIImage boxImage("Data/Textures/ui/whiteblock.tga");
-
- boxImage.setPosition( vec3( boxPos.x(), boxPos.y(), float(zOrder) ) );
- boxImage.setColor( boxColor );
- boxImage.setRenderSize( vec2( boxSize.x(), boxSize.y() ) );
-
- if( shouldClip && currentClipSize.x() != UNDEFINEDSIZE && currentClipSize.y() != UNDEFINEDSIZE ) {
-
- vec2 screenClipPos = screenMetrics.GUIToScreen( currentClipPos );
-
- vec2 screenClipSize( (currentClipSize.x()*screenMetrics.GUItoScreenXScale) + 0.5f,
- (currentClipSize.y()*screenMetrics.GUItoScreenYScale) + 0.5f );
-
- boxImage.setClipping( vec2( screenClipPos.x(), float(screenClipPos.y()) ),
- vec2( screenClipSize.x(), screenClipSize.y() ) );
+
+ boxImage.setPosition(vec3(boxPos.x(), boxPos.y(), float(zOrder)));
+ boxImage.setColor(boxColor);
+ boxImage.setRenderSize(vec2(boxSize.x(), boxSize.y()));
+
+ if (shouldClip && currentClipSize.x() != UNDEFINEDSIZE && currentClipSize.y() != UNDEFINEDSIZE) {
+ vec2 screenClipPos = screenMetrics.GUIToScreen(currentClipPos);
+
+ vec2 screenClipSize((currentClipSize.x() * screenMetrics.GUItoScreenXScale) + 0.5f,
+ (currentClipSize.y() * screenMetrics.GUItoScreenYScale) + 0.5f);
+
+ boxImage.setClipping(vec2(screenClipPos.x(), float(screenClipPos.y())),
+ vec2(screenClipSize.x(), screenClipSize.y()));
}
-
- IMGUI_IMUIContext->queueImage( boxImage );
-
-}
+ IMGUI_IMUIContext->queueImage(boxImage);
+}
/*******************************************************************************************/
/**
@@ -1042,38 +979,35 @@ void IMGUI::drawBox( vec2 boxPos, vec2 boxSize, vec4 boxColor, int zOrder, bool
* @returns handle to the element (NULL if not found)
*
*/
-IMElement* IMGUI::findElement( std::string const& elementName ) {
-
-
- for(auto & it : header) {
- IMElement* foundElement = it->findElement( elementName );
-
- if( foundElement != NULL ) {
+IMElement* IMGUI::findElement(std::string const& elementName) {
+ for (auto& it : header) {
+ IMElement* foundElement = it->findElement(elementName);
+
+ if (foundElement != NULL) {
foundElement->AddRef();
return foundElement;
}
}
-
- for(auto & it : footer) {
- IMElement* foundElement = it->findElement( elementName );
-
- if( foundElement != NULL ) {
+
+ for (auto& it : footer) {
+ IMElement* foundElement = it->findElement(elementName);
+
+ if (foundElement != NULL) {
foundElement->AddRef();
return foundElement;
}
}
-
- for(auto & it : main) {
- IMElement* foundElement = it->findElement( elementName );
-
- if( foundElement != NULL ) {
+
+ for (auto& it : main) {
+ IMElement* foundElement = it->findElement(elementName);
+
+ if (foundElement != NULL) {
foundElement->AddRef();
return foundElement;
}
}
-
+
return NULL;
-
}
/*******************************************************************************************/
@@ -1083,12 +1017,12 @@ IMElement* IMGUI::findElement( std::string const& elementName ) {
* @returns Unique name as string
*
*/
-std::string IMGUI::getUniqueName( std::string const& type ) {
+std::string IMGUI::getUniqueName(std::string const& type) {
elementCount += 1;
-
+
std::ostringstream oss;
oss << type << elementCount;
-
+
return oss.str();
}
@@ -1098,7 +1032,6 @@ std::string IMGUI::getUniqueName( std::string const& type ) {
*
*/
void IMGUI::clense() {
-
backgrounds.clear();
foregrounds.clear();
header.clear();
@@ -1112,8 +1045,7 @@ void IMGUI::clense() {
*
*/
IMGUI::~IMGUI() {
-
- IMrefCountTracker.removeRefCountObject( "IMGUI" );
+ IMrefCountTracker.removeRefCountObject("IMGUI");
clear();
delete IMGUI_IMUIContext;
@@ -1121,40 +1053,39 @@ IMGUI::~IMGUI() {
imevents.TriggerDestroyed(this);
}
-void IMGUI::DestroyedIMElement( IMElement* element ) {
- for( int i = backgrounds.size()-1; i >= 0; i-- ) {
- if( backgrounds[i] == element ) {
- backgrounds.erase(backgrounds.begin()+i);
+void IMGUI::DestroyedIMElement(IMElement* element) {
+ for (int i = backgrounds.size() - 1; i >= 0; i--) {
+ if (backgrounds[i] == element) {
+ backgrounds.erase(backgrounds.begin() + i);
}
}
- for( int i = foregrounds.size()-1; i >= 0; i-- ) {
- if( foregrounds[i] == element ) {
- foregrounds.erase(foregrounds.begin()+i);
+ for (int i = foregrounds.size() - 1; i >= 0; i--) {
+ if (foregrounds[i] == element) {
+ foregrounds.erase(foregrounds.begin() + i);
}
}
- for( int i = header.size()-1; i >= 0; i-- ) {
- if( header[i] == element ) {
- header.erase(header.begin()+i);
+ for (int i = header.size() - 1; i >= 0; i--) {
+ if (header[i] == element) {
+ header.erase(header.begin() + i);
}
}
- for( int i = footer.size()-1; i >= 0; i-- ) {
- if( footer[i] == element ) {
+ for (int i = footer.size() - 1; i >= 0; i--) {
+ if (footer[i] == element) {
LOGI << "Removing footer " << element << std::endl;
- footer.erase(footer.begin()+i);
+ footer.erase(footer.begin() + i);
}
}
- for( int i = main.size()-1; i >= 0; i-- ) {
- if( main[i] == element ) {
+ for (int i = main.size() - 1; i >= 0; i--) {
+ if (main[i] == element) {
LOGI << "Removing main " << element << std::endl;
- main.erase(main.begin()+i);
+ main.erase(main.begin() + i);
}
}
}
-void IMGUI::DestroyedIMGUI( IMGUI* IMGUI ) {
-
+void IMGUI::DestroyedIMGUI(IMGUI* IMGUI) {
}