Irrlicht 3D Engine
irr::gui::IGUIElement Class Reference

Base class of all GUI elements. More...

#include <IGUIElement.h>

+ Inheritance diagram for irr::gui::IGUIElement:

Public Member Functions

 IGUIElement (EGUI_ELEMENT_TYPE type, IGUIEnvironment *environment, IGUIElement *parent, s32 id, const core::rect< s32 > &rectangle)
 Constructor. More...
 
virtual ~IGUIElement ()
 Destructor. More...
 
virtual void addChild (IGUIElement *child)
 Adds a GUI element as new child of this element. More...
 
virtual bool bringToFront (IGUIElement *element)
 Brings a child to front. More...
 
virtual void deserializeAttributes (io::IAttributes *in, io::SAttributeReadWriteOptions *options=0)
 Reads attributes of the scene node. More...
 
virtual void draw ()
 Draws the element and its children. More...
 
core::rect< s32getAbsoluteClippingRect () const
 Returns the visible area of the element. More...
 
core::rect< s32getAbsolutePosition () const
 Gets the absolute rectangle of this element. More...
 
virtual const core::list< IGUIElement * > & getChildren () const
 Returns list with children of this element. More...
 
virtual IGUIElementgetElementFromId (s32 id, bool searchchildren=false) const
 Finds the first element with the given id. More...
 
virtual IGUIElementgetElementFromPoint (const core::position2d< s32 > &point)
 Returns the topmost GUI element at the specific position. More...
 
virtual s32 getID () const
 Returns id. Can be used to identify the element. More...
 
virtual const c8getName () const
 Returns the name of the element. More...
 
bool getNextElement (s32 startOrder, bool reverse, bool group, IGUIElement *&first, IGUIElement *&closest, bool includeInvisible=false, bool includeDisabled=false) const
 searches elements to find the closest next element to tab to More...
 
IGUIElementgetParent () const
 Returns parent of this element. More...
 
core::rect< s32getRelativePosition () const
 Returns the relative rectangle of this element. More...
 
IGUIElementgetTabGroup ()
 Returns the container element which holds all elements in this element's tab group. More...
 
s32 getTabOrder () const
 Returns the number in the tab order sequence. More...
 
virtual const wchar_t * getText () const
 Returns caption of this element. More...
 
virtual const core::stringwgetToolTipText () const
 Returns caption of this element. More...
 
EGUI_ELEMENT_TYPE getType () const
 Returns the type of the gui element. More...
 
virtual const c8getTypeName () const
 Returns the type name of the gui element. More...
 
virtual bool hasType (EGUI_ELEMENT_TYPE type) const
 Returns true if the gui element supports the given type. More...
 
virtual bool isEnabled () const
 Returns true if element is enabled. More...
 
bool isMyChild (IGUIElement *child) const
 
bool isNotClipped () const
 Gets whether the element will ignore its parent's clipping rectangle. More...
 
virtual bool isPointInside (const core::position2d< s32 > &point) const
 Returns true if a point is within this element. More...
 
virtual bool isSubElement () const
 Returns true if this element was created as part of its parent control. More...
 
bool isTabGroup () const
 Returns true if this element is a tab group. More...
 
bool isTabStop () const
 Returns true if this element can be focused by navigating with the tab key. More...
 
virtual bool isTrulyVisible () const
 Check whether the element is truly visible, taking into accounts its parents' visibility. More...
 
virtual bool isVisible () const
 Returns true if element is visible. More...
 
virtual void move (core::position2d< s32 > absoluteMovement)
 Moves this element. More...
 
virtual bool OnEvent (const SEvent &event)
 Called if an event happened. More...
 
virtual void OnPostRender (u32 timeMs)
 animate the element and its children. More...
 
virtual void remove ()
 Removes this element from its parent. More...
 
virtual void removeChild (IGUIElement *child)
 Removes a child. More...
 
virtual bool sendToBack (IGUIElement *child)
 Moves a child to the back, so it's siblings are drawn on top of it. More...
 
virtual void serializeAttributes (io::IAttributes *out, io::SAttributeReadWriteOptions *options=0) const
 Writes attributes of the scene node. More...
 
void setAlignment (EGUI_ALIGNMENT left, EGUI_ALIGNMENT right, EGUI_ALIGNMENT top, EGUI_ALIGNMENT bottom)
 The alignment defines how the borders of this element will be positioned when the parent element is resized. More...
 
virtual void setEnabled (bool enabled)
 Sets the enabled state of this element. More...
 
virtual void setID (s32 id)
 Sets the id of this element. More...
 
void setMaxSize (core::dimension2du size)
 Sets the maximum size allowed for this element. More...
 
void setMinSize (core::dimension2du size)
 Sets the minimum size allowed for this element. More...
 
virtual void setName (const c8 *name)
 Sets the name of the element. More...
 
virtual void setName (const core::stringc &name)
 Sets the name of the element. More...
 
void setNotClipped (bool noClip)
 Sets whether the element will ignore its parent's clipping rectangle. More...
 
void setRelativePosition (const core::rect< s32 > &r)
 Sets the relative rectangle of this element. More...
 
void setRelativePosition (const core::position2di &position)
 Sets the relative rectangle of this element, maintaining its current width and height. More...
 
void setRelativePositionProportional (const core::rect< f32 > &r)
 Sets the relative rectangle of this element as a proportion of its parent's area. More...
 
virtual void setSubElement (bool subElement)
 Sets whether this control was created as part of its parent. More...
 
void setTabGroup (bool isGroup)
 Sets whether this element is a container for a group of elements which can be navigated using the tab key. More...
 
void setTabOrder (s32 index)
 Sets the priority of focus when using the tab key to navigate between a group of elements. More...
 
void setTabStop (bool enable)
 If set to true, the focus will visit this element when using the tab key to cycle through elements. More...
 
virtual void setText (const wchar_t *text)
 Sets the new caption of this element. More...
 
virtual void setToolTipText (const wchar_t *text)
 Sets the new caption of this element. More...
 
virtual void setVisible (bool visible)
 Sets the visible state of this element. More...
 
virtual void updateAbsolutePosition ()
 Updates the absolute position. More...
 
- Public Member Functions inherited from irr::IReferenceCounted
 IReferenceCounted ()
 Constructor. More...
 
virtual ~IReferenceCounted ()
 Destructor. More...
 
bool drop () const
 Drops the object. Decrements the reference counter by one. More...
 
const c8getDebugName () const
 Returns the debug name of the object. More...
 
s32 getReferenceCount () const
 Get the reference count. More...
 
void grab () const
 Grabs the object. Increments the reference counter by one. More...
 
- Public Member Functions inherited from irr::IEventReceiver
virtual ~IEventReceiver ()
 Destructor. More...
 

Protected Member Functions

void addChildToEnd (IGUIElement *child)
 
void recalculateAbsolutePosition (bool recursive)
 
- Protected Member Functions inherited from irr::IReferenceCounted
void setDebugName (const c8 *newName)
 Sets the debug name of the object. More...
 

Protected Attributes

core::rect< s32AbsoluteClippingRect
 absolute clipping rect of element More...
 
core::rect< s32AbsoluteRect
 absolute rect of element More...
 
EGUI_ALIGNMENT AlignBottom
 
EGUI_ALIGNMENT AlignLeft
 tells the element how to act when its parent is resized More...
 
EGUI_ALIGNMENT AlignRight
 
EGUI_ALIGNMENT AlignTop
 
core::list< IGUIElement * > Children
 List of all children of this element. More...
 
core::rect< s32DesiredRect
 
IGUIEnvironmentEnvironment
 GUI Environment. More...
 
s32 ID
 users can set this for identifying the element by integer More...
 
bool IsEnabled
 is enabled? More...
 
bool IsSubElement
 is a part of a larger whole and should not be serialized? More...
 
bool IsTabGroup
 tab groups are containers like windows, use ctrl+tab to navigate More...
 
bool IsTabStop
 tab stop like in windows More...
 
bool IsVisible
 is visible? More...
 
core::rect< s32LastParentRect
 for calculating the difference when resizing parent More...
 
core::dimension2du MaxSize
 maximum and minimum size of the element More...
 
core::dimension2du MinSize
 
core::stringc Name
 users can set this for identifying the element by string More...
 
bool NoClip
 does this element ignore its parent's clipping rectangle? More...
 
IGUIElementParent
 Pointer to the parent. More...
 
core::rect< s32RelativeRect
 relative rect of element More...
 
core::rect< f32ScaleRect
 relative scale of the element inside its parent More...
 
s32 TabOrder
 tab order More...
 
core::stringw Text
 caption More...
 
core::stringw ToolTipText
 tooltip More...
 
EGUI_ELEMENT_TYPE Type
 type of element More...
 

Detailed Description

Base class of all GUI elements.

Definition at line 23 of file IGUIElement.h.

Constructor & Destructor Documentation

◆ IGUIElement()

irr::gui::IGUIElement::IGUIElement ( EGUI_ELEMENT_TYPE  type,
IGUIEnvironment environment,
IGUIElement parent,
s32  id,
const core::rect< s32 > &  rectangle 
)
inline

Constructor.

Definition at line 28 of file IGUIElement.h.

References addChildToEnd(), recalculateAbsolutePosition(), and irr::IReferenceCounted::setDebugName().

◆ ~IGUIElement()

virtual irr::gui::IGUIElement::~IGUIElement ( )
inlinevirtual

Destructor.

Definition at line 51 of file IGUIElement.h.

References Children.

Member Function Documentation

◆ addChild()

virtual void irr::gui::IGUIElement::addChild ( IGUIElement child)
inlinevirtual

Adds a GUI element as new child of this element.

Definition at line 276 of file IGUIElement.h.

References addChildToEnd(), and updateAbsolutePosition().

◆ addChildToEnd()

void irr::gui::IGUIElement::addChildToEnd ( IGUIElement child)
inlineprotected

◆ bringToFront()

virtual bool irr::gui::IGUIElement::bringToFront ( IGUIElement element)
inlinevirtual

Brings a child to front.

Returns
True if successful, false if not.

Definition at line 535 of file IGUIElement.h.

References Children.

◆ deserializeAttributes()

◆ draw()

virtual void irr::gui::IGUIElement::draw ( )
inlinevirtual

Draws the element and its children.

Definition at line 309 of file IGUIElement.h.

References Children, and isVisible().

◆ getAbsoluteClippingRect()

core::rect<s32> irr::gui::IGUIElement::getAbsoluteClippingRect ( ) const
inline

Returns the visible area of the element.

Definition at line 143 of file IGUIElement.h.

References AbsoluteClippingRect.

◆ getAbsolutePosition()

core::rect<s32> irr::gui::IGUIElement::getAbsolutePosition ( ) const
inline

Gets the absolute rectangle of this element.

Definition at line 136 of file IGUIElement.h.

References AbsoluteRect.

Referenced by addChildToEnd(), setAlignment(), setRelativePosition(), and setRelativePositionProportional().

◆ getChildren()

virtual const core::list<IGUIElement*>& irr::gui::IGUIElement::getChildren ( ) const
inlinevirtual

Returns list with children of this element.

Definition at line 573 of file IGUIElement.h.

References Children.

◆ getElementFromId()

virtual IGUIElement* irr::gui::IGUIElement::getElementFromId ( s32  id,
bool  searchchildren = false 
) const
inlinevirtual

Finds the first element with the given id.

Parameters
idId to search for.
searchchildrenSet this to true, if also children of this element may contain the element with the searched id and they should be searched too.
Returns
Returns the first element with the given id. If no element with this id was found, 0 is returned.

Definition at line 586 of file IGUIElement.h.

References Children, and getElementFromId().

Referenced by getElementFromId().

◆ getElementFromPoint()

virtual IGUIElement* irr::gui::IGUIElement::getElementFromPoint ( const core::position2d< s32 > &  point)
inlinevirtual

Returns the topmost GUI element at the specific position.

This will check this GUI element and all of its descendants, so it may return this GUI element. To check all GUI elements, call this function on device->getGUIEnvironment()->getRootGUIElement(). Note that the root element is the size of the screen, so doing so (with an on-screen point) will always return the root element if no other element is above it at that point.

Parameters
pointThe point at which to find a GUI element.
Returns
The topmost GUI element at that point, or 0 if there are no candidate elements at this point.

Definition at line 239 of file IGUIElement.h.

References Children, getElementFromPoint(), isPointInside(), and isVisible().

Referenced by getElementFromPoint().

◆ getID()

virtual s32 irr::gui::IGUIElement::getID ( ) const
inlinevirtual

Returns id. Can be used to identify the element.

Definition at line 513 of file IGUIElement.h.

References ID.

◆ getName()

virtual const c8* irr::gui::IGUIElement::getName ( ) const
inlinevirtual

Returns the name of the element.

Returns
Name as character string.

Definition at line 747 of file IGUIElement.h.

References irr::core::string< T, TAlloc >::c_str(), and Name.

◆ getNextElement()

bool irr::gui::IGUIElement::getNextElement ( s32  startOrder,
bool  reverse,
bool  group,
IGUIElement *&  first,
IGUIElement *&  closest,
bool  includeInvisible = false,
bool  includeDisabled = false 
) const
inline

searches elements to find the closest next element to tab to

Parameters
startOrderThe TabOrder of the current element, -1 if none
reversetrue if searching for a lower number
grouptrue if searching for a higher one
firstelement with the highest/lowest known tab order depending on search direction
closestthe closest match, depending on tab order and direction
includeInvisibleincludes invisible elements in the search (default=false)
includeDisabledincludes disabled elements in the search (default=false)
Returns
true if successfully found an element, false to continue searching/fail

Definition at line 634 of file IGUIElement.h.

References Children, and getTabOrder().

Referenced by setTabOrder().

◆ getParent()

IGUIElement* irr::gui::IGUIElement::getParent ( ) const
inline

Returns parent of this element.

Definition at line 64 of file IGUIElement.h.

References Parent.

Referenced by getTabGroup(), and isEnabled().

◆ getRelativePosition()

core::rect<s32> irr::gui::IGUIElement::getRelativePosition ( ) const
inline

Returns the relative rectangle of this element.

Definition at line 70 of file IGUIElement.h.

References RelativeRect.

◆ getTabGroup()

IGUIElement* irr::gui::IGUIElement::getTabGroup ( )
inline

Returns the container element which holds all elements in this element's tab group.

Definition at line 452 of file IGUIElement.h.

References getParent(), and isTabGroup().

Referenced by setTabOrder().

◆ getTabOrder()

s32 irr::gui::IGUIElement::getTabOrder ( ) const
inline

Returns the number in the tab order sequence.

Definition at line 429 of file IGUIElement.h.

References TabOrder.

Referenced by getNextElement(), and setTabOrder().

◆ getText()

virtual const wchar_t* irr::gui::IGUIElement::getText ( ) const
inlinevirtual

Returns caption of this element.

Definition at line 492 of file IGUIElement.h.

References irr::core::string< T, TAlloc >::c_str(), and Text.

Referenced by serializeAttributes().

◆ getToolTipText()

virtual const core::stringw& irr::gui::IGUIElement::getToolTipText ( ) const
inlinevirtual

Returns caption of this element.

Definition at line 506 of file IGUIElement.h.

References ToolTipText.

Referenced by serializeAttributes().

◆ getType()

EGUI_ELEMENT_TYPE irr::gui::IGUIElement::getType ( ) const
inline

Returns the type of the gui element.

This is needed for the .NET wrapper but will be used later for serializing and deserializing. If you wrote your own GUIElements, you need to set the type for your element as first parameter in the constructor of IGUIElement. For own (=unknown) elements, simply use EGUIET_ELEMENT as type

Definition at line 717 of file IGUIElement.h.

References Type.

◆ getTypeName()

virtual const c8* irr::gui::IGUIElement::getTypeName ( ) const
inlinevirtual

Returns the type name of the gui element.

This is needed serializing elements. For serializing your own elements, override this function and return your own type name which is created by your IGUIElementFactory

Definition at line 740 of file IGUIElement.h.

References irr::gui::GUIElementTypeNames, and Type.

◆ hasType()

virtual bool irr::gui::IGUIElement::hasType ( EGUI_ELEMENT_TYPE  type) const
inlinevirtual

Returns true if the gui element supports the given type.

This is mostly used to check if you can cast a gui element to the class that goes with the type. Most gui elements will only support their own type, but if you derive your own classes from interfaces you can overload this function and add a check for the type of the base-class additionally. This allows for checks comparable to the dynamic_cast of c++ with enabled rtti. Note that you can't do that by calling BaseClass::hasType(type), but you have to do an explicit comparison check, because otherwise the base class usually just checks for the member variable Type which contains the type of your derived class.

Definition at line 731 of file IGUIElement.h.

References Type.

◆ isEnabled()

virtual bool irr::gui::IGUIElement::isEnabled ( ) const
inlinevirtual

Returns true if element is enabled.

Currently elements do not care about parent-states. So if you want to affect children you have to enable/disable them all. The only exception to this are sub-elements which also check their parent.

Definition at line 468 of file IGUIElement.h.

References getParent(), isEnabled(), IsEnabled, and isSubElement().

Referenced by isEnabled().

◆ isMyChild()

bool irr::gui::IGUIElement::isMyChild ( IGUIElement child) const
inline

returns true if the given element is a child of this one.

Parameters
childThe child element to check

Definition at line 609 of file IGUIElement.h.

References Parent.

◆ isNotClipped()

bool irr::gui::IGUIElement::isNotClipped ( ) const
inline

Gets whether the element will ignore its parent's clipping rectangle.

Returns
true if the element is not clipped by its parent's clipping rectangle.

Definition at line 160 of file IGUIElement.h.

References NoClip.

◆ isPointInside()

virtual bool irr::gui::IGUIElement::isPointInside ( const core::position2d< s32 > &  point) const
inlinevirtual

Returns true if a point is within this element.

Elements with a shape other than a rectangle should override this method

Definition at line 269 of file IGUIElement.h.

References AbsoluteClippingRect, and irr::core::rect< T >::isPointInside().

Referenced by getElementFromPoint().

◆ isSubElement()

virtual bool irr::gui::IGUIElement::isSubElement ( ) const
inlinevirtual

Returns true if this element was created as part of its parent control.

Definition at line 367 of file IGUIElement.h.

References IsSubElement.

Referenced by isEnabled().

◆ isTabGroup()

bool irr::gui::IGUIElement::isTabGroup ( ) const
inline

Returns true if this element is a tab group.

Definition at line 445 of file IGUIElement.h.

References IsTabGroup.

Referenced by getTabGroup().

◆ isTabStop()

bool irr::gui::IGUIElement::isTabStop ( ) const
inline

Returns true if this element can be focused by navigating with the tab key.

Definition at line 392 of file IGUIElement.h.

References IsTabStop.

◆ isTrulyVisible()

virtual bool irr::gui::IGUIElement::isTrulyVisible ( ) const
inlinevirtual

Check whether the element is truly visible, taking into accounts its parents' visibility.

Returns
true if the element and all its parents are visible, false if this or any parent element is invisible.

Definition at line 348 of file IGUIElement.h.

References isTrulyVisible(), IsVisible, and Parent.

Referenced by isTrulyVisible().

◆ isVisible()

virtual bool irr::gui::IGUIElement::isVisible ( ) const
inlinevirtual

Returns true if element is visible.

Definition at line 340 of file IGUIElement.h.

References IsVisible.

Referenced by draw(), getElementFromPoint(), and OnPostRender().

◆ move()

virtual void irr::gui::IGUIElement::move ( core::position2d< s32 absoluteMovement)
inlinevirtual

Moves this element.

Definition at line 333 of file IGUIElement.h.

References DesiredRect, and setRelativePosition().

◆ OnEvent()

virtual bool irr::gui::IGUIElement::OnEvent ( const SEvent event)
inlinevirtual

Called if an event happened.

Implements irr::IEventReceiver.

Definition at line 527 of file IGUIElement.h.

References OnEvent(), and Parent.

Referenced by OnEvent().

◆ OnPostRender()

virtual void irr::gui::IGUIElement::OnPostRender ( u32  timeMs)
inlinevirtual

animate the element and its children.

Definition at line 321 of file IGUIElement.h.

References Children, and isVisible().

◆ recalculateAbsolutePosition()

◆ remove()

virtual void irr::gui::IGUIElement::remove ( )
inlinevirtual

Removes this element from its parent.

Definition at line 301 of file IGUIElement.h.

References Parent, and removeChild().

Referenced by addChildToEnd().

◆ removeChild()

virtual void irr::gui::IGUIElement::removeChild ( IGUIElement child)
inlinevirtual

Removes a child.

Definition at line 286 of file IGUIElement.h.

References Children.

Referenced by remove().

◆ sendToBack()

virtual bool irr::gui::IGUIElement::sendToBack ( IGUIElement child)
inlinevirtual

Moves a child to the back, so it's siblings are drawn on top of it.

Returns
True if successful, false if not.

Definition at line 554 of file IGUIElement.h.

References Children.

◆ serializeAttributes()

virtual void irr::gui::IGUIElement::serializeAttributes ( io::IAttributes out,
io::SAttributeReadWriteOptions options = 0 
) const
inlinevirtual

◆ setAlignment()

void irr::gui::IGUIElement::setAlignment ( EGUI_ALIGNMENT  left,
EGUI_ALIGNMENT  right,
EGUI_ALIGNMENT  top,
EGUI_ALIGNMENT  bottom 
)
inline

The alignment defines how the borders of this element will be positioned when the parent element is resized.

Definition at line 188 of file IGUIElement.h.

References AlignBottom, AlignLeft, AlignRight, AlignTop, DesiredRect, irr::gui::EGUIA_SCALE, getAbsolutePosition(), irr::core::rect< T >::LowerRightCorner, Parent, ScaleRect, and irr::core::rect< T >::UpperLeftCorner.

Referenced by deserializeAttributes().

◆ setEnabled()

virtual void irr::gui::IGUIElement::setEnabled ( bool  enabled)
inlinevirtual

Sets the enabled state of this element.

Definition at line 478 of file IGUIElement.h.

References IsEnabled.

Referenced by deserializeAttributes().

◆ setID()

virtual void irr::gui::IGUIElement::setID ( s32  id)
inlinevirtual

Sets the id of this element.

Definition at line 520 of file IGUIElement.h.

References ID.

Referenced by deserializeAttributes().

◆ setMaxSize()

void irr::gui::IGUIElement::setMaxSize ( core::dimension2du  size)
inline

Sets the maximum size allowed for this element.

If set to 0,0, there is no maximum size

Definition at line 168 of file IGUIElement.h.

References MaxSize, and updateAbsolutePosition().

Referenced by deserializeAttributes().

◆ setMinSize()

void irr::gui::IGUIElement::setMinSize ( core::dimension2du  size)
inline

Sets the minimum size allowed for this element.

Definition at line 176 of file IGUIElement.h.

References irr::core::dimension2d< T >::Height, MinSize, updateAbsolutePosition(), and irr::core::dimension2d< T >::Width.

Referenced by deserializeAttributes().

◆ setName() [1/2]

virtual void irr::gui::IGUIElement::setName ( const c8 name)
inlinevirtual

Sets the name of the element.

Parameters
nameNew name of the gui element.

Definition at line 755 of file IGUIElement.h.

References Name.

Referenced by deserializeAttributes().

◆ setName() [2/2]

virtual void irr::gui::IGUIElement::setName ( const core::stringc name)
inlinevirtual

Sets the name of the element.

Parameters
nameNew name of the gui element.

Definition at line 763 of file IGUIElement.h.

References Name.

◆ setNotClipped()

void irr::gui::IGUIElement::setNotClipped ( bool  noClip)
inline

Sets whether the element will ignore its parent's clipping rectangle.

Parameters
noClipIf true, the element will not be clipped by its parent's clipping rectangle.

Definition at line 151 of file IGUIElement.h.

References NoClip, and updateAbsolutePosition().

Referenced by deserializeAttributes().

◆ setRelativePosition() [1/2]

void irr::gui::IGUIElement::setRelativePosition ( const core::rect< s32 > &  r)
inline

◆ setRelativePosition() [2/2]

void irr::gui::IGUIElement::setRelativePosition ( const core::position2di position)
inline

Sets the relative rectangle of this element, maintaining its current width and height.

Parameters
positionThe new relative position to set. Width and height will not be changed.

Definition at line 102 of file IGUIElement.h.

References irr::core::rect< T >::getSize(), irr::core::dimension2d< T >::Height, RelativeRect, setRelativePosition(), irr::core::dimension2d< T >::Width, irr::core::vector2d< T >::X, and irr::core::vector2d< T >::Y.

◆ setRelativePositionProportional()

void irr::gui::IGUIElement::setRelativePositionProportional ( const core::rect< f32 > &  r)
inline

Sets the relative rectangle of this element as a proportion of its parent's area.

Note
This method used to be 'void setRelativePosition(const core::rect<f32>& r)'
Parameters
rThe rectangle to set, interpreted as a proportion of the parent's area. Meaningful values are in the range [0...1], unless you intend this element to spill outside its parent.

Definition at line 116 of file IGUIElement.h.

References DesiredRect, irr::core::floor32(), getAbsolutePosition(), irr::core::rect< T >::getSize(), irr::core::dimension2d< T >::Height, irr::core::rect< T >::LowerRightCorner, Parent, ScaleRect, updateAbsolutePosition(), irr::core::rect< T >::UpperLeftCorner, and irr::core::dimension2d< T >::Width.

◆ setSubElement()

virtual void irr::gui::IGUIElement::setSubElement ( bool  subElement)
inlinevirtual

Sets whether this control was created as part of its parent.

For example, it is true when a scrollbar is part of a listbox. SubElements are not saved to disk when calling guiEnvironment->saveGUI()

Definition at line 376 of file IGUIElement.h.

References IsSubElement.

◆ setTabGroup()

void irr::gui::IGUIElement::setTabGroup ( bool  isGroup)
inline

Sets whether this element is a container for a group of elements which can be navigated using the tab key.

For example, windows are tab groups. Groups can be navigated using ctrl+tab, providing isTabStop is true.

Definition at line 438 of file IGUIElement.h.

References IsTabGroup.

◆ setTabOrder()

void irr::gui::IGUIElement::setTabOrder ( s32  index)
inline

Sets the priority of focus when using the tab key to navigate between a group of elements.

See setTabGroup, isTabGroup and getTabGroup for information on tab groups. Elements with a lower number are focused first

Definition at line 401 of file IGUIElement.h.

References getNextElement(), getTabGroup(), getTabOrder(), IsTabGroup, Parent, and TabOrder.

◆ setTabStop()

void irr::gui::IGUIElement::setTabStop ( bool  enable)
inline

If set to true, the focus will visit this element when using the tab key to cycle through elements.

If this element is a tab group (see isTabGroup/setTabGroup) then ctrl+tab will be used instead.

Definition at line 385 of file IGUIElement.h.

References IsTabStop.

◆ setText()

virtual void irr::gui::IGUIElement::setText ( const wchar_t *  text)
inlinevirtual

Sets the new caption of this element.

Definition at line 485 of file IGUIElement.h.

References Text.

Referenced by deserializeAttributes().

◆ setToolTipText()

virtual void irr::gui::IGUIElement::setToolTipText ( const wchar_t *  text)
inlinevirtual

Sets the new caption of this element.

Definition at line 499 of file IGUIElement.h.

References ToolTipText.

Referenced by deserializeAttributes().

◆ setVisible()

virtual void irr::gui::IGUIElement::setVisible ( bool  visible)
inlinevirtual

Sets the visible state of this element.

Definition at line 360 of file IGUIElement.h.

References IsVisible.

Referenced by deserializeAttributes().

◆ updateAbsolutePosition()

virtual void irr::gui::IGUIElement::updateAbsolutePosition ( )
inlinevirtual

Updates the absolute position.

Definition at line 214 of file IGUIElement.h.

References Children, and recalculateAbsolutePosition().

Referenced by addChild(), setMaxSize(), setMinSize(), setNotClipped(), setRelativePosition(), and setRelativePositionProportional().

Member Data Documentation

◆ AbsoluteClippingRect

core::rect<s32> irr::gui::IGUIElement::AbsoluteClippingRect
protected

absolute clipping rect of element

Definition at line 983 of file IGUIElement.h.

Referenced by getAbsoluteClippingRect(), isPointInside(), and recalculateAbsolutePosition().

◆ AbsoluteRect

core::rect<s32> irr::gui::IGUIElement::AbsoluteRect
protected

absolute rect of element

Definition at line 980 of file IGUIElement.h.

Referenced by getAbsolutePosition(), and recalculateAbsolutePosition().

◆ AlignBottom

EGUI_ALIGNMENT irr::gui::IGUIElement::AlignBottom
protected

◆ AlignLeft

EGUI_ALIGNMENT irr::gui::IGUIElement::AlignLeft
protected

tells the element how to act when its parent is resized

Definition at line 1032 of file IGUIElement.h.

Referenced by deserializeAttributes(), recalculateAbsolutePosition(), serializeAttributes(), setAlignment(), and setRelativePosition().

◆ AlignRight

EGUI_ALIGNMENT irr::gui::IGUIElement::AlignRight
protected

◆ AlignTop

EGUI_ALIGNMENT irr::gui::IGUIElement::AlignTop
protected

◆ Children

◆ DesiredRect

core::rect<s32> irr::gui::IGUIElement::DesiredRect
protected

the rectangle the element would prefer to be, if it was not constrained by parent or max/min size

Definition at line 987 of file IGUIElement.h.

Referenced by deserializeAttributes(), move(), recalculateAbsolutePosition(), serializeAttributes(), setAlignment(), setRelativePosition(), and setRelativePositionProportional().

◆ Environment

IGUIEnvironment* irr::gui::IGUIElement::Environment
protected

GUI Environment.

Definition at line 1035 of file IGUIElement.h.

◆ ID

s32 irr::gui::IGUIElement::ID
protected

users can set this for identifying the element by integer

Definition at line 1020 of file IGUIElement.h.

Referenced by deserializeAttributes(), getID(), serializeAttributes(), and setID().

◆ IsEnabled

bool irr::gui::IGUIElement::IsEnabled
protected

is enabled?

Definition at line 1002 of file IGUIElement.h.

Referenced by deserializeAttributes(), isEnabled(), serializeAttributes(), and setEnabled().

◆ IsSubElement

bool irr::gui::IGUIElement::IsSubElement
protected

is a part of a larger whole and should not be serialized?

Definition at line 1005 of file IGUIElement.h.

Referenced by isSubElement(), and setSubElement().

◆ IsTabGroup

bool irr::gui::IGUIElement::IsTabGroup
protected

tab groups are containers like windows, use ctrl+tab to navigate

Definition at line 1029 of file IGUIElement.h.

Referenced by deserializeAttributes(), isTabGroup(), serializeAttributes(), setTabGroup(), and setTabOrder().

◆ IsTabStop

bool irr::gui::IGUIElement::IsTabStop
protected

tab stop like in windows

Definition at line 1023 of file IGUIElement.h.

Referenced by deserializeAttributes(), isTabStop(), serializeAttributes(), and setTabStop().

◆ IsVisible

bool irr::gui::IGUIElement::IsVisible
protected

is visible?

Definition at line 999 of file IGUIElement.h.

Referenced by deserializeAttributes(), isTrulyVisible(), isVisible(), serializeAttributes(), and setVisible().

◆ LastParentRect

core::rect<s32> irr::gui::IGUIElement::LastParentRect
protected

for calculating the difference when resizing parent

Definition at line 990 of file IGUIElement.h.

Referenced by addChildToEnd(), and recalculateAbsolutePosition().

◆ MaxSize

core::dimension2du irr::gui::IGUIElement::MaxSize
protected

maximum and minimum size of the element

Definition at line 996 of file IGUIElement.h.

Referenced by deserializeAttributes(), recalculateAbsolutePosition(), serializeAttributes(), and setMaxSize().

◆ MinSize

core::dimension2du irr::gui::IGUIElement::MinSize
protected

◆ Name

core::stringc irr::gui::IGUIElement::Name
protected

users can set this for identifying the element by string

Definition at line 1017 of file IGUIElement.h.

Referenced by deserializeAttributes(), getName(), serializeAttributes(), and setName().

◆ NoClip

bool irr::gui::IGUIElement::NoClip
protected

does this element ignore its parent's clipping rectangle?

Definition at line 1008 of file IGUIElement.h.

Referenced by deserializeAttributes(), isNotClipped(), recalculateAbsolutePosition(), serializeAttributes(), and setNotClipped().

◆ Parent

◆ RelativeRect

core::rect<s32> irr::gui::IGUIElement::RelativeRect
protected

relative rect of element

Definition at line 977 of file IGUIElement.h.

Referenced by getRelativePosition(), recalculateAbsolutePosition(), and setRelativePosition().

◆ ScaleRect

core::rect<f32> irr::gui::IGUIElement::ScaleRect
protected

relative scale of the element inside its parent

Definition at line 993 of file IGUIElement.h.

Referenced by recalculateAbsolutePosition(), setAlignment(), setRelativePosition(), and setRelativePositionProportional().

◆ TabOrder

s32 irr::gui::IGUIElement::TabOrder
protected

tab order

Definition at line 1026 of file IGUIElement.h.

Referenced by deserializeAttributes(), getTabOrder(), serializeAttributes(), and setTabOrder().

◆ Text

core::stringw irr::gui::IGUIElement::Text
protected

caption

Definition at line 1011 of file IGUIElement.h.

Referenced by deserializeAttributes(), getText(), and setText().

◆ ToolTipText

core::stringw irr::gui::IGUIElement::ToolTipText
protected

tooltip

Definition at line 1014 of file IGUIElement.h.

Referenced by getToolTipText(), and setToolTipText().

◆ Type

EGUI_ELEMENT_TYPE irr::gui::IGUIElement::Type
protected

type of element

Definition at line 1038 of file IGUIElement.h.

Referenced by getType(), getTypeName(), and hasType().


The documentation for this class was generated from the following file: