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/im_divider.h')
-rw-r--r--Source/GUI/IMUI/im_divider.h144
1 files changed, 69 insertions, 75 deletions
diff --git a/Source/GUI/IMUI/im_divider.h b/Source/GUI/IMUI/im_divider.h
index 1a8e507a..c13a8606 100644
--- a/Source/GUI/IMUI/im_divider.h
+++ b/Source/GUI/IMUI/im_divider.h
@@ -1,8 +1,8 @@
//-----------------------------------------------------------------------------
// Name: im_divider.h
// Developer: Wolfire Games LLC
-// Description: Specialized container element class for creating adhoc GUIs
-// as part of the UI tools
+// Description: Specialized container element class for creating adhoc GUIs
+// as part of the UI tools
// License: Read below
//-----------------------------------------------------------------------------
//
@@ -35,96 +35,94 @@
*
*/
class IMDivider : public IMElement {
+ public:
+ std::vector<IMContainer*> containers; // Whats in this divider
+ DividerOrientation orientation; // vertical by default
+ int contentsNum; // just a counter for making unique names
-public:
-
- std::vector<IMContainer*> containers; // Whats in this divider
- DividerOrientation orientation; // vertical by default
- int contentsNum; // just a counter for making unique names
+ ContainerAlignment contentsXAlignment; // horizontal alignment of new elements
+ ContainerAlignment contentsYAlignment; // vertical alignment of new elements
- ContainerAlignment contentsXAlignment; // horizontal alignment of new elements
- ContainerAlignment contentsYAlignment; // vertical alignment of new elements
-
/*******************************************************************************************/
/**
* @brief Constructor
- *
+ *
* @param name IMElement name
* @param _orientation The orientation of the container
*
*/
- IMDivider( std::string const& name, DividerOrientation _orientation = DOVertical );
-
+ IMDivider(std::string const& name, DividerOrientation _orientation = DOVertical);
+
/*******************************************************************************************/
/**
* @brief Constructor
- *
+ *
* @param name IMElement name
* @param _orientation The orientation of the container
*
*/
- IMDivider( DividerOrientation _orientation = DOVertical );
+ IMDivider(DividerOrientation _orientation = DOVertical);
/*******
- *
- * Angelscript factory
+ *
+ * Angelscript factory
*
*/
- static IMDivider* ASFactory_named( std::string const& name, DividerOrientation _orientation = DOVertical ) {
- return new IMDivider( name, _orientation );
- }
+ static IMDivider* ASFactory_named(std::string const& name, DividerOrientation _orientation = DOVertical) {
+ return new IMDivider(name, _orientation);
+ }
- static IMDivider* ASFactory_unnamed( DividerOrientation _orientation = DOVertical ) {
- return new IMDivider( _orientation );
- }
+ static IMDivider* ASFactory_unnamed(DividerOrientation _orientation = DOVertical) {
+ return new IMDivider(_orientation);
+ }
/*******************************************************************************************/
/**
* @brief Gets the name of the type of this element — for autonaming and debugging
- *
+ *
* @returns name of the element type as a string
*
*/
std::string getElementTypeName() override;
-
+
/*******************************************************************************************/
/**
* @brief Set’s this element’s parent (and does nessesary logic)
- *
+ *
* @param _parent New parent
*
*/
- void setOwnerParent( IMGUI* _owner, IMElement* _parent ) override;
-
+ void setOwnerParent(IMGUI* _owner, IMElement* _parent) override;
+
/*******************************************************************************************/
/**
* @brief Set’s the alignment of the contained object
- *
- * @param xAlignment horizontal alignment
+ *
+ * @param xAlignment horizontal alignment
* @param yAlignment vertical alignment
* @param reposition should we go through and reposition existing objects
*
*/
- void setAlignment( ContainerAlignment xAlignment, ContainerAlignment yAlignment, bool reposition = true );
-
+ void setAlignment(ContainerAlignment xAlignment, ContainerAlignment yAlignment, bool reposition = true);
+
/*******************************************************************************************/
/**
* @brief Clear the contents of this divider, leaving everything else the same
- *
+ *
*/
void clear();
-
+
/*******************************************************************************************/
/**
- * @brief Updates the element
- *
+ * @brief Updates the element
+ *
* @param delta Number of millisecond elapsed since last update
* @param drawOffset Absolute offset from the upper lefthand corner (GUI space)
* @param guistate The state of the GUI at this update
*
*/
- void update( uint64_t delta, vec2 drawOffset, GUIState& guistate ) override;
-
+ void update(uint64_t delta, vec2 drawOffset, GUIState& guistate) override;
+
/*******************************************************************************************/
/**
* @brief Rather counter-intuitively, this draws this object on the screen
@@ -134,122 +132,118 @@ public:
* @param clipSize size of clipping region
*
*/
- void render( vec2 drawOffset, vec2 clipPos, vec2 clipSize ) override;
-
+ void render(vec2 drawOffset, vec2 clipPos, vec2 clipSize) override;
+
/*******************************************************************************************/
/**
* @brief Rederive the regions for the various orientation containers - for internal use
- *
+ *
*/
void checkRegions();
-
+
/*******************************************************************************************/
/**
* @brief When a resize, move, etc has happened do whatever is necessary
- *
+ *
*/
void doRelayout() override;
-
+
/*******************************************************************************************/
/**
* @brief Do whatever is necessary when the resolution changes
*
*/
void doScreenResize() override;
-
/*******************************************************************************************/
/**
* @brief Convenience function to add a spacer element to this divider
- *
+ *
* @param size Size of the element in terms of GUI space pixels
*
* @returns the space object created, just in case you need it
*
*/
- IMSpacer* appendSpacer( float _size );
-
+ IMSpacer* appendSpacer(float _size);
+
/*******************************************************************************************/
/**
- * @brief Convenience function to add a dynamic spacer element to this divider
+ * @brief Convenience function to add a dynamic spacer element to this divider
* A dynamic spacer will eat up any extra space in the divider
- *
+ *
* @param size Size of the element in terms of GUI space pixels
*
* @returns the space object created, just in case you need it
*
*/
IMSpacer* appendDynamicSpacer();
-
+
/*******************************************************************************************/
/**
* @brief Get the number of containers in this divider
- *
- * @returns count of the containers
+ *
+ * @returns count of the containers
*
*/
unsigned int getContainerCount();
-
+
/*******************************************************************************************/
/**
* @brief Fetch the container at the given index
- *
- *
+ *
+ *
* @param i index of the container
*
*/
- IMContainer* getContainerAt( unsigned int i );
-
+ IMContainer* getContainerAt(unsigned int i);
+
/*******************************************************************************************/
/**
* @brief Gets the container of a named element
- *
+ *
* @param _name Name of the element
*
* @returns container of the element (NULL if none)
*
*/
- IMContainer* getContainerOf( std::string const& _name );
-
+ IMContainer* getContainerOf(std::string const& _name);
+
/*******************************************************************************************/
/**
- * @brief Adds an element to the divider
- *
- * @param newElement IMElement to add
+ * @brief Adds an element to the divider
+ *
+ * @param newElement IMElement to add
* @param direction Portion of the divider to add to (default top/left)
*
*/
- IMContainer* append( IMElement* newElement, float containerSize = UNDEFINEDSIZE );
+ IMContainer* append(IMElement* newElement, float containerSize = UNDEFINEDSIZE);
/*******************************************************************************************/
/**
* @brief Find an element by name — called internally
- *
+ *
*
*/
- IMElement* findElement( std::string const& elementName ) override;
+ IMElement* findElement(std::string const& elementName) override;
- void setPauseBehaviors( bool pause ) override;
+ void setPauseBehaviors(bool pause) override;
DividerOrientation getOrientation() const { return orientation; }
-
+
/*******************************************************************************************/
/**
* @brief Remove all referenced object without releaseing references
*
*/
void clense() override;
-
+
/*******************************************************************************************/
/**
* @brief Destructor
*
*/
~IMDivider() override;
-
- void DestroyedIMElement( IMElement* element ) override;
- void DestroyedIMGUI( IMGUI* imgui ) override;
+ void DestroyedIMElement(IMElement* element) override;
+ void DestroyedIMGUI(IMGUI* imgui) override;
};
-
-