.. index:: pair: class; EE::UI::UINode .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node: class EE::UI::UINode ==================== .. toctree:: :hidden: Overview ~~~~~~~~ .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class UINode: public :ref:`EE::Scene::Node` { public: // typedefs typedef std::function`*)> :target:`EventCallback`; // construction virtual :target:`~UINode`(); // methods static UINode* :ref:`New`(); virtual void :ref:`worldToNodeTranslation`(:ref:`Vector2f`& position) const; virtual void :ref:`nodeToWorldTranslation`(:ref:`Vector2f`& position) const; virtual void :ref:`worldToNode`(:ref:`Vector2i`& pos) const; virtual void :ref:`nodeToWorld`(:ref:`Vector2i`& pos) const; virtual void :ref:`worldToNode`(:ref:`Vector2f`& pos) const; virtual void :ref:`nodeToWorld`(:ref:`Vector2f`& pos) const; virtual :ref:`Uint32` :ref:`getType`() const; virtual bool :ref:`isType`(const :ref:`Uint32`& type) const; virtual void :ref:`setPosition`(const :ref:`Vector2f`& Pos); virtual :ref:`Node`* :ref:`setPosition`(const :ref:`Float`& x, const :ref:`Float`& y); UINode* :ref:`setPixelsPosition`(const :ref:`Vector2f`& position); UINode* :ref:`setPixelsPosition`(const :ref:`Float`& x, const :ref:`Float`& y); virtual const :ref:`Vector2f`& :ref:`getPosition`() const; const :ref:`Vector2f`& :ref:`getPixelsPosition`() const; virtual :ref:`Node`* :ref:`setSize`(const :ref:`Sizef`& size); virtual :ref:`Node`* :ref:`setSize`(const :ref:`Float`& Width, const :ref:`Float`& Height); UINode* :ref:`setPixelsSize`(const :ref:`Sizef`& size); UINode* :ref:`setPixelsSize`(const :ref:`Float`& x, const :ref:`Float`& y); virtual const :ref:`Sizef`& :ref:`getSize`() const; :ref:`Rect` :ref:`getRect`() const; :ref:`Rectf` :ref:`getRectBox`() const; virtual void :ref:`draw`(); :ref:`Uint32` :ref:`getHorizontalAlign`() const; UINode* :ref:`setHorizontalAlign`(:ref:`Uint32` halign); :ref:`Uint32` :ref:`getVerticalAlign`() const; UINode* :ref:`setVerticalAlign`(:ref:`Uint32` valign); UINode* :ref:`setGravity`(:ref:`Uint32` hvalign); :ref:`UINodeDrawable`* :ref:`setBackgroundFillEnabled`(bool enabled); UINode* :ref:`setBackgroundDrawable`(:ref:`Drawable`* drawable, bool ownIt = false, int index = 0); UINode* :ref:`setBackgroundDrawable`(const std::string& drawable, int index); UINode* :ref:`setBackgroundColor`(const :ref:`Color`& color); UINode* :ref:`setBackgroundTint`(const :ref:`Color`& color, int index); UINode* :ref:`setBackgroundPositionX`(const std::string& positionX, int index = 0); UINode* :ref:`setBackgroundPositionY`(const std::string& positionY, int index = 0); UINode* :ref:`setBackgroundRepeat`(const std::string& repeatRule, int index = 0); UINode* :ref:`setBackgroundSize`(const std::string& size, int index = 0); :ref:`Color` :ref:`getBackgroundColor`() const; :ref:`Color` :ref:`getBackgroundTint`(int index = 0) const; UINode* :ref:`setBorderRadius`(const unsigned int& corners); UINode* :ref:`setTopLeftRadius`(const std::string& radius); UINode* :ref:`setTopRightRadius`(const std::string& radius); UINode* :ref:`setBottomLeftRadius`(const std::string& radius); UINode* :ref:`setBottomRightRadius`(const std::string& radius); :ref:`Uint32` :ref:`getBorderRadius`() const; :ref:`UINodeDrawable`* :ref:`setForegroundFillEnabled`(bool enabled); UINode* :ref:`setForegroundDrawable`(:ref:`Drawable`* drawable, bool ownIt = false, int index = 0); UINode* :ref:`setForegroundDrawable`(const std::string& drawable, int index = 0); :ref:`Color` :ref:`getForegroundColor`() const; :ref:`Color` :ref:`getForegroundTint`(int index) const; UINode* :ref:`setForegroundColor`(const :ref:`Color`& color); UINode* :ref:`setForegroundTint`(const :ref:`Color`& color, int index); UINode* :ref:`setForegroundPositionX`(const std::string& positionX, int index = 0); UINode* :ref:`setForegroundPositionY`(const std::string& positionY, int index = 0); UINode* :ref:`setForegroundRepeat`(const std::string& repeatRule, int index = 0); UINode* :ref:`setForegroundSize`(const std::string& size, int index = 0); UINode* :ref:`setForegroundRadius`(const unsigned int& corners); :ref:`Uint32` :ref:`getForegroundRadius`() const; :ref:`UIBorderDrawable`* :ref:`setBorderEnabled`(bool enabled) const; UINode* :ref:`setBorderColor`(const :ref:`Color`& color); :ref:`Color` :ref:`getBorderColor`(); UINode* :ref:`setBorderWidth`(const unsigned int& width); :ref:`Float` :ref:`getBorderWidth`() const; const :ref:`Uint32`& :ref:`getFlags`() const; virtual UINode* :ref:`setFlags`(const :ref:`Uint32`& flags); virtual UINode* :ref:`unsetFlags`(const :ref:`Uint32`& flags); virtual UINode* :ref:`resetFlags`(:ref:`Uint32` newFlags = 0); :ref:`UINodeDrawable`* :ref:`getBackground`() const; bool :ref:`hasBackground`() const; :ref:`UINodeDrawable`* :ref:`getForeground`() const; bool :ref:`hasForeground`() const; :ref:`UIBorderDrawable`* :ref:`getBorder`() const; void :ref:`setThemeByName`(const std::string& Theme); virtual void :ref:`setTheme`(:ref:`UITheme`* Theme); virtual UINode* :ref:`setThemeSkin`(:ref:`UITheme`* Theme, const std::string& skinName); virtual UINode* :ref:`setThemeSkin`(const std::string& skinName); void :ref:`setThemeToChildren`(:ref:`UITheme`* Theme); :ref:`UISkin`* :ref:`getSkin`() const; virtual UINode* :ref:`setSkin`(const :ref:`UISkin`& Skin); UINode* :ref:`setSkin`(:ref:`UISkin`* skin); UINode* :ref:`setSkinColor`(const :ref:`Color`& color); const :ref:`Color`& :ref:`getSkinColor`() const; void :ref:`removeSkin`(); virtual void :ref:`pushState`(const :ref:`Uint32`& State, bool emitEvent = true); virtual void :ref:`popState`(const :ref:`Uint32`& State, bool emitEvent = true); :ref:`Sizef` :ref:`getSkinSize`(const :ref:`Uint32`& state = :ref:`UIState::StateFlagNormal`) const; void :ref:`applyDefaultTheme`(); :ref:`Node`* :ref:`getWindowContainer`() const; bool :ref:`isTabFocusable`() const; bool :ref:`isDragging`() const; void :ref:`setDragging`(bool dragging, bool emitDropEvent = true); void :ref:`startDragging`(const :ref:`Vector2f`& position); bool :ref:`ownsChildPosition`() const; const :ref:`Vector2f`& :ref:`getDragPoint`() const; void :ref:`setDragPoint`(const :ref:`Vector2f`& Point); bool :ref:`isDragEnabled`() const; void :ref:`setDragEnabled`(const bool& enable); void :ref:`setDragButton`(const :ref:`Uint32`& Button); const :ref:`Uint32`& :ref:`getDragButton`() const; virtual :ref:`Node`* :ref:`setFocus`(:ref:`NodeFocusReason` reason = NodeFocusReason::Unknown); :ref:`Float` :ref:`getPropertyRelativeTargetContainerLength`(const :ref:`CSS::PropertyRelativeTarget`& relativeTarget, const :ref:`Float`& defaultValue = 0, const :ref:`Uint32`& propertyIndex = 0) const; virtual :ref:`Float` :ref:`convertLength`(const :ref:`CSS::StyleSheetLength`& length, const :ref:`Float`& containerLength) const; :ref:`Float` :ref:`convertLengthAsDp`(const :ref:`CSS::StyleSheetLength`& length, const :ref:`Float`& containerLength) const; :ref:`Float` :ref:`lengthFromValue`(const std::string& value, const :ref:`CSS::PropertyRelativeTarget`& relativeTarget, const :ref:`Float`& defaultValue = 0, const :ref:`Uint32`& propertyIndex = 0) const; :ref:`Float` :ref:`lengthFromValue`(const :ref:`CSS::StyleSheetProperty`& property, const :ref:`Float`& defaultValue = 0); :ref:`Float` :ref:`lengthFromValueAsDp`(const std::string& value, const :ref:`CSS::PropertyRelativeTarget`& relativeTarget, const :ref:`Float`& defaultValue = 0, const :ref:`Uint32`& propertyIndex = 0) const; :ref:`Float` :ref:`lengthFromValueAsDp`(const :ref:`CSS::StyleSheetProperty`& property, const :ref:`Float`& defaultValue = 0) const; :ref:`UISceneNode`* :ref:`getUISceneNode`() const; :ref:`Input`* :ref:`getInput`() const; void :ref:`setMinWidth`(const :ref:`Float`& width); void :ref:`setMinHeight`(const :ref:`Float`& height); void :ref:`setMinSize`(const :ref:`Sizef`& size); const :ref:`Sizef`& :ref:`getCurMinSize`() const; :ref:`Rectf` :ref:`getLocalDpBounds`() const; virtual void :ref:`nodeDraw`(); void :ref:`clearForeground`(); void :ref:`clearBackground`(); const :ref:`ClipType`& :ref:`getClipType`() const; UINode* :ref:`setClipType`(const :ref:`ClipType`& clipType); bool :ref:`hasBorder`() const; virtual const :ref:`Rectf`& :ref:`getPixelsPadding`() const; const std::string& :ref:`getMinWidthEq`() const; void :ref:`setMinSizeEq`(const std::string& minWidthEq, const std::string& minHeightEq); void :ref:`setMinWidthEq`(const std::string& minWidthEq); const std::string& :ref:`getMinHeightEq`() const; void :ref:`setMinHeightEq`(const std::string& minHeightEq); const std::string& :ref:`getMaxWidthEq`() const; void :ref:`setMaxSizeEq`(const std::string& maxWidthEq, const std::string& maxHeightEq); void :ref:`setMaxWidthEq`(const std::string& maxWidthEq); const std::string& :ref:`getMaxHeightEq`() const; void :ref:`setMaxHeightEq`(const std::string& maxHeightEq); :ref:`Sizef` :ref:`getMinSize`() const; :ref:`Sizef` :ref:`getMaxSize`() const; :ref:`Sizef` :ref:`getMinSizePx`() const; :ref:`Sizef` :ref:`getMaxSizePx`() const; :ref:`Sizef` :ref:`fitMinMaxSizeDp`(const :ref:`Sizef`& size) const; :ref:`Sizef` :ref:`fitMinMaxSizePx`(const :ref:`Sizef`& size) const; virtual bool :ref:`isScrollable`() const; }; Inherited Members ----------------- .. ref-code-block:: cpp :class: doxyrest-overview-inherited-code-block public: // typedefs typedef std::function`*)> :ref:`EventCallback`; // methods virtual void :ref:`setPosition`(const :ref:`Vector2f`& position); virtual void :ref:`setRotation`(float angle); virtual void :ref:`setScale`(float factorX, float factorY); virtual void :ref:`setScale`(const :ref:`Vector2f`& factors); virtual void :ref:`setScaleOrigin`(float x, float y); virtual void :ref:`setScaleOrigin`(const :ref:`Vector2f`& origin); virtual void :ref:`setRotationOrigin`(float x, float y); virtual void :ref:`setRotationOrigin`(const :ref:`Vector2f`& origin); virtual const :ref:`Vector2f`& :ref:`getRotationOrigin`() const; virtual const :ref:`Vector2f`& :ref:`getPosition`() const; virtual const float& :ref:`getRotation`() const; virtual const :ref:`Vector2f`& :ref:`getScale`() const; virtual const :ref:`Vector2f`& :ref:`getScaleOrigin`() const; void :ref:`move`(float offsetX, float offsetY); void :ref:`move`(const :ref:`Vector2f`& offset); void :ref:`rotate`(float angle); void :ref:`scale`(float factorX, float factorY); void :ref:`scale`(const :ref:`Vector2f`& factor); const :ref:`Transform`& :ref:`getTransform`() const; const :ref:`Transform`& :ref:`getInverseTransform`() const; static :ref:`Node`* :ref:`New`(); virtual void :ref:`worldToNodeTranslation`(:ref:`Vector2f`& position) const; virtual void :ref:`nodeToWorldTranslation`(:ref:`Vector2f`& position) const; virtual void :ref:`worldToNode`(:ref:`Vector2i`& pos) const; virtual void :ref:`nodeToWorld`(:ref:`Vector2i`& pos) const; virtual void :ref:`worldToNode`(:ref:`Vector2f`& pos) const; virtual void :ref:`nodeToWorld`(:ref:`Vector2f`& pos) const; virtual :ref:`Uint32` :ref:`getType`() const; virtual bool :ref:`isType`(const :ref:`Uint32`& type) const; void :ref:`messagePost`(const :ref:`NodeMessage`* Msg); virtual void :ref:`setPosition`(const :ref:`Vector2f`& Pos); virtual :ref:`Node`* :ref:`setPosition`(const :ref:`Float`& x, const :ref:`Float`& y); virtual :ref:`Node`* :ref:`setSize`(const :ref:`Sizef`& size); :ref:`Node`* :ref:`setSize`(const :ref:`Float`& Width, const :ref:`Float`& Height); virtual const :ref:`Sizef`& :ref:`getSize`() const; const :ref:`Sizef`& :ref:`getPixelsSize`() const; :ref:`Node`* :ref:`setVisible`(const bool& visible, bool emitEventNotification = true); :ref:`Node`* :ref:`setChildrenVisibility`(bool visible, bool emitEventNotification = true); bool :ref:`isVisible`() const; bool :ref:`hasVisibility`() const; :ref:`Node`* :ref:`setEnabled`(const bool& enabled); bool :ref:`isEnabled`() const; bool :ref:`isDisabled`() const; :ref:`Node`* :ref:`getParent`() const; :ref:`Node`* :ref:`setParent`(:ref:`Node`* parent); virtual void :ref:`close`(); virtual void :ref:`draw`(); virtual void :ref:`update`(const :ref:`Time`& time); virtual void :ref:`scheduledUpdate`(const :ref:`Time`& time); :ref:`Node`* :ref:`getNextNode`() const; :ref:`Node`* :ref:`getPrevNode`() const; :ref:`Node`* :ref:`getNextNodeLoop`() const; :ref:`Node`* :ref:`setData`(const :ref:`UintPtr`& data); const :ref:`UintPtr`& :ref:`getData`() const; :ref:`Node`* :ref:`setBlendMode`(const :ref:`BlendMode`& blend); const :ref:`BlendMode`& :ref:`getBlendMode`() const; :ref:`Node`* :ref:`toFront`(); :ref:`Node`* :ref:`toBack`(); void :ref:`toPosition`(const :ref:`Uint32`& position); const :ref:`Uint32`& :ref:`getNodeFlags`() const; void :ref:`setNodeFlags`(const :ref:`Uint32`& flags); bool :ref:`isSceneNode`() const; bool :ref:`isUISceneNode`() const; bool :ref:`isUINode`() const; bool :ref:`isWidget`() const; bool :ref:`isWindow`() const; bool :ref:`isLayout`() const; bool :ref:`isClipped`() const; bool :ref:`isRotated`() const; bool :ref:`isScaled`() const; bool :ref:`isFrameBuffer`() const; bool :ref:`isMouseOver`() const; bool :ref:`isMouseOverMeOrChildren`() const; bool :ref:`isMeOrParentTreeVisible`() const; bool :ref:`isMeOrParentTreeRotated`() const; bool :ref:`isMeOrParentTreeScaled`() const; bool :ref:`isMeOrParentTreeScaledOrRotated`() const; bool :ref:`isMeOrParentTreeScaledOrRotatedOrFrameBuffer`() const; :ref:`Uint32` :ref:`addEventListener`(const :ref:`Uint32`& eventType, const :ref:`EventCallback`& callback); :ref:`Uint32` :ref:`on`(const :ref:`Uint32`& eventType, const :ref:`EventCallback`& callback); :ref:`Uint32` :ref:`onClick`(const std::function`*)>& callback, const :ref:`MouseButton`& button = MouseButton::EE_BUTTON_LEFT); :ref:`Uint32` :ref:`onDoubleClick`(const std::function`*)>& callback, const :ref:`MouseButton`& button = MouseButton::EE_BUTTON_LEFT); void :ref:`removeEventsOfType`(const :ref:`Uint32`& eventType); void :ref:`removeEventListener`(const :ref:`Uint32`& callbackId); void :ref:`removeEventListener`(const std::vector<:ref:`Uint32`>& callbacksIds); void :ref:`clearEventListener`(); :ref:`Node`* :ref:`getFirstChild`() const; :ref:`Node`* :ref:`getLastChild`() const; const :ref:`Polygon2f`& :ref:`getWorldPolygon`(); const :ref:`Rectf`& :ref:`getWorldBounds`(); bool :ref:`isParentOf`(const :ref:`Node`* node) const; void :ref:`sendEvent`(const :ref:`Event`* Event); void :ref:`sendMouseEvent`(const :ref:`Uint32`& Event, const :ref:`Vector2i`& position, const :ref:`Uint32`& flags); void :ref:`sendCommonEvent`(const :ref:`Uint32`& Event); void :ref:`sendTextEvent`(const :ref:`Uint32`& event, const std::string& text); void :ref:`closeAllChildren`(); const std::string& :ref:`getId`() const; virtual :ref:`Node`* :ref:`setId`(const std::string& id); const :ref:`String::HashType`& :ref:`getIdHash`() const; :ref:`Node`* :ref:`find`(const std::string& id) const; :ref:`Node`* :ref:`hasChild`(const std::string& id) const; template T* :ref:`find`(const std::string& id) const; template T* :ref:`bind`(const std::string& id, T*& node); template T* :ref:`asType`(); template const T* :ref:`asConstType`() const; :ref:`Node`* :ref:`findByType`(const :ref:`Uint32`& type) const; template T* :ref:`findByType`(const :ref:`Uint32`& type) const; template T* :ref:`bindByType`(const :ref:`Uint32`& type, T*& node); std::vector<:ref:`Node`*> :ref:`findAllByType`(const :ref:`Uint32`& type) const; template std::vector :ref:`findAllByType`(const :ref:`Uint32`& type) const; bool :ref:`inNodeTree`(:ref:`Node`* node) const; bool :ref:`isReverseDraw`() const; void :ref:`setReverseDraw`(bool reverseDraw); void :ref:`invalidateDraw`(); virtual void :ref:`setRotation`(float angle); void :ref:`setRotation`(const :ref:`Float`& angle, const :ref:`OriginPoint`& center); const :ref:`OriginPoint`& :ref:`getRotationOriginPoint`() const; void :ref:`setRotationOriginPoint`(const :ref:`OriginPoint`& center); void :ref:`setRotationOriginPointPixels`(const :ref:`OriginPoint`& center); void :ref:`setRotationOriginPointX`(const std::string& xEq); void :ref:`setRotationOriginPointY`(const std::string& yEq); :ref:`Vector2f` :ref:`getRotationCenter`() const; void :ref:`setScale`(const :ref:`Float`& scale); virtual void :ref:`setScale`(const :ref:`Vector2f`& scale); void :ref:`setScale`(const :ref:`Vector2f`& scale, const :ref:`OriginPoint`& center); void :ref:`setScale`(const :ref:`Float`& scale, const :ref:`OriginPoint`& center); const :ref:`OriginPoint`& :ref:`getScaleOriginPoint`() const; void :ref:`setScaleOriginPoint`(const :ref:`OriginPoint`& center); void :ref:`setScaleOriginPointPixels`(const :ref:`OriginPoint`& center); void :ref:`setScaleOriginPointX`(const std::string& xEq); void :ref:`setScaleOriginPointY`(const std::string& yEq); :ref:`Vector2f` :ref:`getScaleCenter`() const; virtual void :ref:`setScale`(float factorX, float factorY); virtual void :ref:`setScaleOrigin`(float x, float y); virtual void :ref:`setRotationOrigin`(float x, float y); const :ref:`Float`& :ref:`getAlpha`() const; virtual void :ref:`setAlpha`(const :ref:`Float`& alpha); virtual void :ref:`setChildrenAlpha`(const :ref:`Float`& alpha); :ref:`ActionManager`* :ref:`getActionManager`() const; :ref:`Node`* :ref:`runAction`(:ref:`Action`* action); bool :ref:`removeAction`(:ref:`Action`* action); bool :ref:`removeActions`(const std::vector<:ref:`Action`*>& actions); bool :ref:`removeActionsByTag`(const :ref:`Action::UniqueID`& tag); std::vector<:ref:`Action`*> :ref:`getActions`(); std::vector<:ref:`Action`*> :ref:`getActionsByTag`(const :ref:`Action::UniqueID`& tag); void :ref:`clearActions`(); :ref:`Transform` :ref:`getLocalTransform`() const; :ref:`Transform` :ref:`getGlobalTransform`() const; :ref:`Transform` :ref:`getNodeToWorldTransform`() const; :ref:`Transform` :ref:`getWorldToNodeTransform`() const; :ref:`Vector2f` :ref:`convertToNodeSpace`(const :ref:`Vector2f`& worldPoint) const; :ref:`Vector2f` :ref:`convertToWorldSpace`(const :ref:`Vector2f`& nodePoint) const; :ref:`Rectf` :ref:`getLocalBounds`() const; bool :ref:`hasFocus`() const; bool :ref:`hasFocusWithin`() const; virtual :ref:`Node`* :ref:`setFocus`(:ref:`NodeFocusReason` reason = :ref:`NodeFocusReason::Unknown`); :ref:`Node`* :ref:`getFirstWidget`() const; :ref:`Node`* :ref:`getParentWidget`() const; void :ref:`enableReportSizeChangeToChildren`(); void :ref:`disableReportSizeChangeToChildren`(); bool :ref:`reportSizeChangeToChildren`() const; :ref:`Node`* :ref:`centerHorizontal`(); :ref:`Node`* :ref:`centerVertical`(); :ref:`Node`* :ref:`center`(); :ref:`Node`* :ref:`clipEnable`(); :ref:`Node`* :ref:`clipDisable`(); void :ref:`writeNodeFlag`(const :ref:`Uint32`& Flag, const :ref:`Uint32`& Val); :ref:`SceneNode`* :ref:`getSceneNode`() const; :ref:`EventDispatcher`* :ref:`getEventDispatcher`() const; virtual bool :ref:`isDrawInvalidator`() const; bool :ref:`invalidated`() const; virtual void :ref:`invalidate`(:ref:`Node`* invalidator); :ref:`Uint32` :ref:`getChildCount`() const; :ref:`Uint32` :ref:`getChildOfTypeCount`(const :ref:`Uint32`& type) const; :ref:`Node`* :ref:`getChildAt`(:ref:`Uint32` index) const; :ref:`Uint32` :ref:`getNodeIndex`() const; :ref:`Uint32` :ref:`getNodeOfTypeIndex`() const; void :ref:`runOnMainThread`(:ref:`Actions::Runnable::RunnableFunc` runnable, const :ref:`Time`& delay = Seconds(0), const :ref:`Action::UniqueID`& uniqueIdentifier = 0); bool :ref:`ensureMainThread`(:ref:`Actions::Runnable::RunnableFunc` runnable, const :ref:`Action::UniqueID`& uniqueIdentifier = 0); void :ref:`setTimeout`(:ref:`Actions::Runnable::RunnableFunc` runnable, const :ref:`Time`& delay = Seconds(0), const :ref:`Action::UniqueID`& uniqueIdentifier = 0); void :ref:`setInterval`(:ref:`Actions::Runnable::RunnableFunc` runnable, const :ref:`Time`& interval, const :ref:`Action::UniqueID`& uniqueIdentifier = 0); void :ref:`debounce`(:ref:`Actions::Runnable::RunnableFunc` runnable, const :ref:`Time`& delay, const :ref:`Action::UniqueID`& uniqueIdentifier); bool :ref:`isChild`(:ref:`Node`* child) const; bool :ref:`inParentTreeOf`(:ref:`Node`* child) const; bool :ref:`inParentTreeOfType`(:ref:`Uint32` type) const; :ref:`Node`* :ref:`getParentOfType`(:ref:`Uint32` type) const; void :ref:`setLoadingState`(bool loading); bool :ref:`isLoadingState`() const; virtual void :ref:`onIdChange`(); bool :ref:`isClosing`() const; bool :ref:`isClosingChildren`() const; virtual :ref:`Node`* :ref:`overFind`(const :ref:`Vector2f`& Point); void :ref:`detach`(); void :ref:`forEachNode`(std::function`*)> func); void :ref:`forEachChild`(std::function`*)> func); virtual void :ref:`nodeDraw`(); :ref:`Uint32` :ref:`forceKeyDown`(const :ref:`KeyEvent`& event); :ref:`Uint32` :ref:`foceKeyUp`(const :ref:`KeyEvent`& event); :ref:`Uint32` :ref:`forceTextInput`(const :ref:`TextInputEvent`& Event); const :ref:`Vector2f`& :ref:`getScreenPos`() const; :ref:`Rectf` :ref:`getScreenRect`() const; bool :ref:`hasEventsOfType`(const :ref:`Uint32`& eventType) const; .. _details-class_e_e_1_1_u_i_1_1_u_i_node: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Methods ------- .. index:: pair: function; New .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ad57d435cfc0154ffa6bc0276225f32f6: .. ref-code-block:: cpp :class: doxyrest-title-code-block static UINode* New() Creates a new :ref:`UINode ` instance. This is the factory method for creating :ref:`UINode ` instances. .. rubric:: Returns: Pointer to the newly created :ref:`UINode ` instance. .. index:: pair: function; worldToNodeTranslation .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a6722bb6016eb5949d570a534799fa5ba: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void worldToNodeTranslation(:ref:`Vector2f`& position) const Transforms a world position to node-local position. Converts a world coordinate position to this node's local coordinate space. The position is modified in place. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - position - Reference to the position to transform. .. index:: pair: function; nodeToWorldTranslation .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a1c1204f3bf3371c11c9c380d1140da5b: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void nodeToWorldTranslation(:ref:`Vector2f`& position) const Transforms a node-local position to world position. Converts a node-local coordinate position to world coordinate space. The position is modified in place. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - position - Reference to the position to transform. .. index:: pair: function; worldToNode .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a4f9242e8b3cb5ea314a589fa693929d7: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void worldToNode(:ref:`Vector2i`& pos) const Converts world integer coordinates to node-local coordinates. Converts world coordinate integer position to this node's local coordinate space. The position is modified in place. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - pos - Reference to the integer position to transform. .. index:: pair: function; nodeToWorld .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1adec778f0464c1a4fd16835fec7716eb6: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void nodeToWorld(:ref:`Vector2i`& pos) const Converts node-local integer coordinates to world coordinates. Converts node-local coordinate integer position to world coordinate space. The position is modified in place. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - pos - Reference to the integer position to transform. .. index:: pair: function; worldToNode .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a2a852e3b676b811f7a56f3d048014d85: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void worldToNode(:ref:`Vector2f`& pos) const Converts world floating-point coordinates to node-local coordinates. Converts world coordinate floating-point position to this node's local coordinate space. The position is modified in place. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - pos - Reference to the floating-point position to transform. .. index:: pair: function; nodeToWorld .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a9349d6f4e5d76fb06e57d94482816549: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void nodeToWorld(:ref:`Vector2f`& pos) const Converts node-local floating-point coordinates to world coordinates. Converts node-local coordinate floating-point position to world coordinate space. The position is modified in place. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - pos - Reference to the floating-point position to transform. .. index:: pair: function; getType .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a35737f9672de85bd3224b54939eaf4ff: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual :ref:`Uint32` getType() const Gets the node type identifier. Returns a unique type identifier for this node class. .. rubric:: Returns: The node type as a Uint32. .. index:: pair: function; isType .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ac14728aca2e4e7798d534e49d8ab1cf6: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual bool isType(const :ref:`Uint32`& type) const Checks if the node is of a specific type. Determines whether this node is of the specified type or derived from it. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - type - The type identifier to check. .. rubric:: Returns: True if the node is of the specified type, false otherwise. .. index:: pair: function; setPosition .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a5a66f0f5243b7c1154f9f8d1eb89f0c6: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void setPosition(const :ref:`Vector2f`& Pos) Sets the node position in density-independent pixels (dp). Sets the position of the node using density-independent pixels (dp) for resolution-independent layout. The position is relative to the parent. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - Pos - The new position in dp. .. index:: pair: function; setPosition .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ace1b9ab1a161b1212978310126c455a1: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual :ref:`Node`* setPosition(const :ref:`Float`& x, const :ref:`Float`& y) Sets the node position in density-independent pixels (dp). Sets the position of the node using individual coordinates in dp. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - x - The X coordinate in dp. * - y - The Y coordinate in dp. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setPixelsPosition .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a34352a106a1c836dcb47af9f8bf3ef0a: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setPixelsPosition(const :ref:`Vector2f`& position) Sets the node position in actual screen pixels. Sets the position of the node using raw screen pixels. This bypasses density scaling and should be used when exact pixel control is needed. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - position - The new position in pixels. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setPixelsPosition .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a579f727805aa3ba537bf3629fdf4c84c: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setPixelsPosition(const :ref:`Float`& x, const :ref:`Float`& y) Sets the node position in actual screen pixels. Sets the position of the node using individual pixel coordinates. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - x - The X coordinate in pixels. * - y - The Y coordinate in pixels. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; getPosition .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a66fe07001ca574aa84bd3885f3e745ba: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual const :ref:`Vector2f`& getPosition() const Gets the node position in density-independent pixels (dp). Returns the current position of the node in dp. .. rubric:: Returns: The position as a Vector2f in dp. .. index:: pair: function; getPixelsPosition .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a856ed00404b7b81bf75791db1d050956: .. ref-code-block:: cpp :class: doxyrest-title-code-block const :ref:`Vector2f`& getPixelsPosition() const Gets the node position in actual screen pixels. Returns the current position of the node in raw screen pixels. .. rubric:: Returns: The position as a Vector2f in pixels. .. index:: pair: function; setSize .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1aa49bdc25ede85982deb184a9a26bd905: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual :ref:`Node`* setSize(const :ref:`Sizef`& size) Sets the node size in density-independent pixels (dp). Sets the size of the node using dp units. The size will be constrained by minimum size requirements. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - size - The new size in dp. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setSize .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a5bc302bd3b658dc22f96ee13f0c18868: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual :ref:`Node`* setSize(const :ref:`Float`& Width, const :ref:`Float`& Height) Sets the node size in density-independent pixels (dp). Sets the size of the node using individual dimensions in dp. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - Width - The width in dp. * - Height - The height in dp. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setPixelsSize .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a78d6285f9facbf4752e5b79637f18a10: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setPixelsSize(const :ref:`Sizef`& size) Sets the node size in actual screen pixels. Sets the size of the node using raw pixel units. The size will be constrained by minimum size requirements. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - size - The new size in pixels. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setPixelsSize .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a1398b137ad7febc78927243688ddd7d3: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setPixelsSize(const :ref:`Float`& x, const :ref:`Float`& y) Sets the node size in actual screen pixels. Sets the size of the node using individual pixel dimensions. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - x - The width in pixels. * - y - The height in pixels. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; getSize .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a1d40e4ae9ae33026be2c8c02fd38df2d: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual const :ref:`Sizef`& getSize() const Gets the node size in density-independent pixels (dp). Returns the current size of the node in dp. .. rubric:: Returns: The size as a Sizef in dp. .. index:: pair: function; getRect .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a1739bc38b3762e4a3cb7cb0a1fb1306b: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Rect` getRect() const Gets the node rectangle in integer coordinates. Returns the node's bounds as an integer rectangle based on the dp position and size. .. rubric:: Returns: The rectangle representing the node's bounds. .. index:: pair: function; getRectBox .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a0c57ed79b72b0b253986338a6de73b6d: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Rectf` getRectBox() const Gets the node bounding box in floating-point coordinates. Returns the node's bounds as a floating-point rectangle in pixel coordinates. .. rubric:: Returns: The bounding box as a Rectf. .. index:: pair: function; draw .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a3b18b86e3b98c0e3f43c375441623fca: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void draw() Draws the node. Virtual method that can be overridden to implement custom drawing behavior. The default implementation does nothing. This is called during the render cycle. .. index:: pair: function; getHorizontalAlign .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ae34fe427265b7193c2ea6a1b367ea93c: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Uint32` getHorizontalAlign() const Gets the horizontal alignment flags. Returns the current horizontal alignment setting for text/content within the node. .. rubric:: Returns: The horizontal alignment as a Uint32 bitmask. .. index:: pair: function; setHorizontalAlign .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a2474408d770544d782f8a23aef15b98a: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setHorizontalAlign(:ref:`Uint32` halign) Sets the horizontal alignment. Sets how content should be aligned horizontally within the node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - halign - The horizontal alignment flags. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; getVerticalAlign .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a5454616a5e4f578d73d41f7b37ab0a04: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Uint32` getVerticalAlign() const Gets the vertical alignment flags. Returns the current vertical alignment setting for text/content within the node. .. rubric:: Returns: The vertical alignment as a Uint32 bitmask. .. index:: pair: function; setVerticalAlign .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1adca0c86316bc4d3bf45a6cb578c360b6: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setVerticalAlign(:ref:`Uint32` valign) Sets the vertical alignment. Sets how content should be aligned vertically within the node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - valign - The vertical alignment flags. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setGravity .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a80bc68de6919143def391b4e5aa112bf: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setGravity(:ref:`Uint32` hvalign) Sets both horizontal and vertical alignment. Convenience method to set the gravity (combined horizontal and vertical alignment). .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - hvalign - The combined horizontal and vertical alignment flags. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setBackgroundFillEnabled .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a449b90742505c286a75d9a16fc1b64eb: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`UINodeDrawable`* setBackgroundFillEnabled(bool enabled) Enables or disables background fill and returns the background drawable. If enabled, creates or returns the background drawable. If disabled, the background fill is disabled. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - enabled - True to enable background fill, false to disable. .. rubric:: Returns: Pointer to the :ref:`UINodeDrawable ` for the background. .. index:: pair: function; setBackgroundDrawable .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1aa3a980c3638a19ba045fa4b4a6b78b79: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setBackgroundDrawable(:ref:`Drawable`* drawable, bool ownIt = false, int index = 0) Sets a background drawable from a Drawable object. Enables background fill and sets the specified drawable at the given index. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - drawable - Pointer to the Drawable to use. * - ownIt - If true, the node takes ownership of the drawable. * - index - The layer index (0-based). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setBackgroundDrawable .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a0181b9545b942255421f4985266c101e: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setBackgroundDrawable(const std::string& drawable, int index) Sets a background drawable from a skin name. Enables background fill and sets a drawable using the specified skin name. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - drawable - The skin name for the drawable. * - index - The layer index (0-based). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setBackgroundColor .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ad1142a5fe291ce5e31e4e2f2d20df442: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setBackgroundColor(const :ref:`Color`& color) Sets the background color. Sets a solid color for the background. This will enable background fill if not already enabled. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - color - The background color. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setBackgroundTint .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a256619f04a28bc2852d809075af38b3c: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setBackgroundTint(const :ref:`Color`& color, int index) Sets the background tint for a specific layer. Applies a color tint to the background drawable at the specified layer index. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - color - The tint color. * - index - The layer index (0-based). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setBackgroundPositionX .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a5f7fbc77c6cf3f1e77283f831051e4ea: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setBackgroundPositionX(const std::string& positionX, int index = 0) Sets the background position X :ref:`CSS ` property. Controls the horizontal positioning of the background drawable at the given layer. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - positionX - The :ref:`CSS ` position value (e.g., "left", "center", "right", or length). * - index - The layer index (0-based). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setBackgroundPositionY .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ac045b7b44f362af8bc284a3cee98e7b0: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setBackgroundPositionY(const std::string& positionY, int index = 0) Sets the background position Y :ref:`CSS ` property. Controls the vertical positioning of the background drawable at the given layer. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - positionY - The :ref:`CSS ` position value (e.g., "top", "center", "bottom", or length). * - index - The layer index (0-based). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setBackgroundRepeat .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a98a24be51f57c6357175d56931c96636: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setBackgroundRepeat(const std::string& repeatRule, int index = 0) Sets the background repeat :ref:`CSS ` property. Controls how the background drawable repeats at the specified layer. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - repeatRule - The repeat rule (e.g., "repeat", "no-repeat", "repeat-x", "repeat-y"). * - index - The layer index (0-based). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setBackgroundSize .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1af4696e80c738bde42da01b98723e2b36: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setBackgroundSize(const std::string& size, int index = 0) Sets the background size :ref:`CSS ` property. Controls the size of the background drawable at the specified layer. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - size - The size value (e.g., "auto", "cover", "contain", or length). * - index - The layer index (0-based). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; getBackgroundColor .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a544e7d03c3a3d6ae79839f444645994f: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Color` getBackgroundColor() const Gets the background color. Returns the current background color. If no background is set, returns transparent. .. rubric:: Returns: The background color. .. index:: pair: function; getBackgroundTint .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a6a4c5d4bc51da50b655fcf82c06c411c: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Color` getBackgroundTint(int index = 0) const Gets the background tint color for a specific layer. Returns the tint color applied to the background drawable at the specified layer. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - index - The layer index (0-based). .. rubric:: Returns: The background tint color at the specified layer. .. index:: pair: function; setBorderRadius .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a4e448e5f20ee799d5a14825c3d72ac96: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setBorderRadius(const unsigned int& corners) Sets the border radius for all corners. Enables the border and sets the radius for all corners. This affects both the border and background fill. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - corners - The border radius in pixels. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setTopLeftRadius .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a7f2dcd7ae6993ccbf99940022aa71111: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setTopLeftRadius(const std::string& radius) Sets the top-left border radius. Sets the radius for the top-left corner using a CSS-style value. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - radius - The radius value as a string (e.g., "5px", "50%"). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setTopRightRadius .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a2be0d1e21a8282385d916356f3cd2f83: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setTopRightRadius(const std::string& radius) Sets the top-right border radius. Sets the radius for the top-right corner using a CSS-style value. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - radius - The radius value as a string (e.g., "5px", "50%"). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setBottomLeftRadius .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a7c0e3ed3e6f4a8d8139fc417c8b4ab64: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setBottomLeftRadius(const std::string& radius) Sets the bottom-left border radius. Sets the radius for the bottom-left corner using a CSS-style value. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - radius - The radius value as a string (e.g., "5px", "50%"). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setBottomRightRadius .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1aa62d16d5a6a0f98563a98756c20b5967: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setBottomRightRadius(const std::string& radius) Sets the bottom-right border radius. Sets the radius for the bottom-right corner using a CSS-style value. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - radius - The radius value as a string (e.g., "5px", "50%"). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; getBorderRadius .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1aaa771bb739e2106de5c5a9a15cadb31d: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Uint32` getBorderRadius() const Gets the current border radius. Returns the border radius value in pixels. Returns 0 if no border is enabled. .. rubric:: Returns: The border radius in pixels. .. index:: pair: function; setForegroundFillEnabled .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1aecf7e38c4410eb82e2845aae49b29547: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`UINodeDrawable`* setForegroundFillEnabled(bool enabled) Enables or disables foreground fill and returns the foreground drawable. If enabled, creates or returns the foreground drawable. If disabled, the foreground fill is disabled. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - enabled - True to enable foreground fill, false to disable. .. rubric:: Returns: Pointer to the :ref:`UINodeDrawable ` for the foreground. .. index:: pair: function; setForegroundDrawable .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a50a8cee62aa7efbcc58a4ef5cc65c255: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setForegroundDrawable(:ref:`Drawable`* drawable, bool ownIt = false, int index = 0) Sets a foreground drawable from a Drawable object. Enables foreground fill and sets the specified drawable at the given index. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - drawable - Pointer to the Drawable to use. * - ownIt - If true, the node takes ownership of the drawable. * - index - The layer index (0-based). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setForegroundDrawable .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1adb0efefee3b933a7d6303b3e300fc00f: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setForegroundDrawable(const std::string& drawable, int index = 0) Sets a foreground drawable from a skin name. Enables foreground fill and sets a drawable using the specified skin name. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - drawable - The skin name for the drawable. * - index - The layer index (0-based). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; getForegroundColor .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a6523feebd033f4b1b5c0ef789cff4143: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Color` getForegroundColor() const Gets the foreground color. Returns the current foreground color. If no foreground is set, returns transparent. .. rubric:: Returns: The foreground color. .. index:: pair: function; getForegroundTint .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a09d8c9750953557107100dd39c8ac374: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Color` getForegroundTint(int index) const Gets the foreground tint color for a specific layer. Returns the tint color applied to the foreground drawable at the specified layer. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - index - The layer index (0-based). .. rubric:: Returns: The foreground tint color at the specified layer. .. index:: pair: function; setForegroundColor .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a0b88912354d138b3a1766d7800be6823: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setForegroundColor(const :ref:`Color`& color) Sets the foreground color. Sets a solid color for the foreground. This will enable foreground fill if not already enabled. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - color - The foreground color. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setForegroundTint .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a8a958505cad321e98cfc33aee4dc1dea: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setForegroundTint(const :ref:`Color`& color, int index) Sets the foreground tint for a specific layer. Applies a color tint to the foreground drawable at the specified layer. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - color - The tint color. * - index - The layer index (0-based). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setForegroundPositionX .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a96a3c0c88803e52b136b131323ede41a: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setForegroundPositionX(const std::string& positionX, int index = 0) Sets the foreground position X :ref:`CSS ` property. Controls the horizontal positioning of the foreground drawable at the given layer. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - positionX - The :ref:`CSS ` position value. * - index - The layer index (0-based). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setForegroundPositionY .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a27b49f077ccc7afe600de82729cdba9e: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setForegroundPositionY(const std::string& positionY, int index = 0) Sets the foreground position Y :ref:`CSS ` property. Controls the vertical positioning of the foreground drawable at the given layer. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - positionY - The :ref:`CSS ` position value. * - index - The layer index (0-based). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setForegroundRepeat .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ad3d1cbc17debabd1bcf869c85b2bda1e: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setForegroundRepeat(const std::string& repeatRule, int index = 0) Sets the foreground repeat :ref:`CSS ` property. Controls how the foreground drawable repeats at the specified layer. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - repeatRule - The repeat rule. * - index - The layer index (0-based). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setForegroundSize .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ab9e1f088a036467397dca9bdc048fa34: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setForegroundSize(const std::string& size, int index = 0) Sets the foreground size :ref:`CSS ` property. Controls the size of the foreground drawable at the specified layer. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - size - The size value. * - index - The layer index (0-based). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setForegroundRadius .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ab042736075c554c316f6c663b7b14ab4: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setForegroundRadius(const unsigned int& corners) Sets the foreground border radius for all corners. Sets the radius for the foreground content's corners. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - corners - The border radius in pixels. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; getForegroundRadius .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a214721422793e0c0bbabb42c746dcb0a: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Uint32` getForegroundRadius() const Gets the current foreground border radius. Returns the foreground border radius in pixels. Returns 0 if no foreground is enabled. .. rubric:: Returns: The foreground border radius in pixels. .. index:: pair: function; setBorderEnabled .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1aa53823ac2c873c1fa3ac3ca6c7762858: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`UIBorderDrawable`* setBorderEnabled(bool enabled) const Enables or disables the border and returns the border drawable. If enabled, creates or returns the border drawable. If disabled, the border is hidden. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - enabled - True to enable the border, false to disable. .. rubric:: Returns: Pointer to the :ref:`UIBorderDrawable ` for the border. .. index:: pair: function; setBorderColor .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1abca22b47b7df4a7b6051d86104940c00: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setBorderColor(const :ref:`Color`& color) Sets the border color. Sets the color of the border. This will enable the border if not already enabled. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - color - The border color. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; getBorderColor .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ad2a3e3f998b151e656239917415dd1b8: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Color` getBorderColor() Gets the border color. Returns the current border color. The border drawable will be created if it doesn't exist. .. rubric:: Returns: The border color. .. index:: pair: function; setBorderWidth .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ad0d61a2dd96c6e88eb201215f908ccfd: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setBorderWidth(const unsigned int& width) Sets the border width. Sets the thickness of the border in pixels. This will enable the border if not already enabled. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - width - The border width in pixels. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; getBorderWidth .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a4338cbcbfffeedbd35b113482d803880: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Float` getBorderWidth() const Gets the border width. Returns the current border width in pixels. Defaults to 1.0 if no border is set. .. rubric:: Returns: The border width as a Float. .. index:: pair: function; getFlags .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a3232db4be55695f6b3288d5760ea03e2: .. ref-code-block:: cpp :class: doxyrest-title-code-block const :ref:`Uint32`& getFlags() const Gets the current node flags. Returns the bitmask of flags that control various node behaviors and states. .. rubric:: Returns: The flags as a Uint32 bitmask. .. index:: pair: function; setFlags .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a8687c9bb3b2bb1daa1e3868ffd885ab6: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual UINode* setFlags(const :ref:`Uint32`& flags) Sets multiple flags on the node. Adds the specified flags to the node's current flag set. This can enable various behaviors like fill modes, drag support, alignment, etc. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - flags - Bitwise combination of flags to set. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; unsetFlags .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a716b34d2f57d3df6f4f415bbc40add3f: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual UINode* unsetFlags(const :ref:`Uint32`& flags) Unsets multiple flags on the node. Removes the specified flags from the node's current flag set. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - flags - Bitwise combination of flags to unset. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; resetFlags .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1aebef434ecdd1b859c56160b2706fabe0: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual UINode* resetFlags(:ref:`Uint32` newFlags = 0) Resets all flags to a specific value. Clears all current flags and optionally sets new flags. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - newFlags - The new flags bitmask (default is 0 to clear all). .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; getBackground .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a9a12a86b765f53f12266c072cb3aeed6: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`UINodeDrawable`* getBackground() const Gets the background drawable. Returns the background drawable object, creating it if it doesn't exist. .. rubric:: Returns: Pointer to the :ref:`UINodeDrawable ` for the background. .. index:: pair: function; hasBackground .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a0b464ffa470f64e831325457c8868cc1: .. ref-code-block:: cpp :class: doxyrest-title-code-block bool hasBackground() const Checks if the node has a background drawable. .. rubric:: Returns: True if a background drawable exists, false otherwise. .. index:: pair: function; getForeground .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ae880b6d9e0484489b7899169ee6ebdfe: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`UINodeDrawable`* getForeground() const Gets the foreground drawable. Returns the foreground drawable object, creating it if it doesn't exist. .. rubric:: Returns: Pointer to the :ref:`UINodeDrawable ` for the foreground. .. index:: pair: function; hasForeground .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a5d1632fff5facfb81868c8524fb07e32: .. ref-code-block:: cpp :class: doxyrest-title-code-block bool hasForeground() const Checks if the node has a foreground drawable. .. rubric:: Returns: True if a foreground drawable exists, false otherwise. .. index:: pair: function; getBorder .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ac89e70495f500d502d043fab3ca63e56: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`UIBorderDrawable`* getBorder() const Gets the border drawable. Returns the border drawable object, creating it if it doesn't exist. .. rubric:: Returns: Pointer to the :ref:`UIBorderDrawable ` for the border. .. index:: pair: function; setThemeByName .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1afc92206a3adc4bea96fcd63c8019c0e9: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setThemeByName(const std::string& Theme) Sets the theme by name. Applies a theme to this node by looking up the theme by its name from the :ref:`UIThemeManager `. The theme will control the visual appearance. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - Theme - The name of the theme to apply. .. index:: pair: function; setTheme .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a6c2668d99a04ad909a7814dec43f9b8c: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void setTheme(:ref:`UITheme`* Theme) Sets the theme for this node. Applies the specified :ref:`UITheme ` to this node, affecting its visual appearance through skins and styles. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - Theme - Pointer to the :ref:`UITheme ` to apply. .. index:: pair: function; setThemeSkin .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a72089979139feb4a5210a22a022cd290: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual UINode* setThemeSkin(:ref:`UITheme`* Theme, const std::string& skinName) Sets the theme skin with an explicit theme. Applies a specific skin from the specified theme to this node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - Theme - Pointer to the :ref:`UITheme ` to use. * - skinName - Name of the skin to apply from the theme. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setThemeSkin .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1acedf9ea63d9106f9dccb254dc561b4ea: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual UINode* setThemeSkin(const std::string& skinName) Sets the theme skin using the default theme. Applies a specific skin from the default theme to this node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - skinName - Name of the skin to apply. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setThemeToChildren .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a6cc7ed52e43aa34cb975c865a0a1e1a8: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setThemeToChildren(:ref:`UITheme`* Theme) Sets the theme for all children recursively. Applies the specified theme to this node and all its descendants. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - Theme - Pointer to the :ref:`UITheme ` to apply to children. .. index:: pair: function; getSkin .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a724ae349551780315c53214f538a2cbf: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`UISkin`* getSkin() const Gets the current skin. Returns the :ref:`UISkin ` object currently applied to this node, or nullptr if none. .. rubric:: Returns: Pointer to the :ref:`UISkin ` or nullptr. .. index:: pair: function; setSkin .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a3946ca26ef3fc1bbd13a3ad61737034c: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual UINode* setSkin(const :ref:`UISkin`& Skin) Sets the skin from a :ref:`UISkin ` reference. Applies the specified skin to this node. The skin is copied. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - Skin - Reference to the :ref:`UISkin ` to apply. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setSkin .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a3d96da610b9ce5ec8126049e0fdf88ca: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setSkin(:ref:`UISkin`* skin) Sets the skin from a :ref:`UISkin ` pointer. Applies the specified skin to this node without copying. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - skin - Pointer to the :ref:`UISkin ` to apply. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; setSkinColor .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a64bc176236cfd5f5c83931beb9118101: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setSkinColor(const :ref:`Color`& color) Sets the skin color tint. Applies a color tint to the skin/sprite. This multiplies with the skin's colors. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - color - The tint color to apply. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; getSkinColor .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ab44a7c7e81aee4a8bae61ad7a148bb69: .. ref-code-block:: cpp :class: doxyrest-title-code-block const :ref:`Color`& getSkinColor() const Gets the current skin color tint. Returns the color tint currently applied to the skin. .. rubric:: Returns: The skin color as a const Color reference. .. index:: pair: function; removeSkin .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1adac9987e39966dc84c0c55f6e15f5195: .. ref-code-block:: cpp :class: doxyrest-title-code-block void removeSkin() Removes the current skin. Deletes and removes the skin from this node, reverting to no custom skin. .. index:: pair: function; pushState .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1aff17d20ae8b51d3c29d5f702fda4032d: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void pushState(const :ref:`Uint32`& State, bool emitEvent = true) Pushes a state onto the state stack. Adds a new state (like hover, pressed, focused) to the node. States can be combined and affect the skin rendering. If emitEvent is true, a state change event will be triggered. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - State - The state to push (use UIState::StateFlag\* values). * - emitEvent - Whether to emit a state change event (default: true). .. index:: pair: function; popState .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a51abbca2aee535cb4d62e070c9176b55: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void popState(const :ref:`Uint32`& State, bool emitEvent = true) Pops a state from the state stack. Removes a state from the node. This can revert visual changes from that state. If emitEvent is true, a state change event will be triggered. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - State - The state to pop. * - emitEvent - Whether to emit a state change event (default: true). .. index:: pair: function; getSkinSize .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ab9ba8c49ee2ba544f1ff1f8c43213dba: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Sizef` getSkinSize(const :ref:`Uint32`& state = :ref:`UIState::StateFlagNormal`) const Gets the current skin size for a specific state. Returns the size of the current skin at the specified state. Useful for determining the preferred size of a skinned node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - state - The state flag (default: :ref:`UIState::StateFlagNormal `). .. rubric:: Returns: The skin size as a Sizef. .. index:: pair: function; applyDefaultTheme .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a6c2680cf76825bca0122a3b7641c7eb9: .. ref-code-block:: cpp :class: doxyrest-title-code-block void applyDefaultTheme() Applies the default theme to this node. Requests the :ref:`UIThemeManager ` to apply the default theme to this node, setting up default skins and styles. .. index:: pair: function; getWindowContainer .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a916c42e9ad1de44afac0e8eb1cfdb754: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Node`* getWindowContainer() const Gets the window container node. Finds and returns the container node of the window that contains this node, or the root if not in a window. .. rubric:: Returns: Pointer to the window container node or the scene node. .. index:: pair: function; isTabFocusable .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a7a941cac2985b2e1f6e10af807dfe6c7: .. ref-code-block:: cpp :class: doxyrest-title-code-block bool isTabFocusable() const Checks if this node is tab focusable. Determines whether this node can receive focus via Tab key navigation. .. rubric:: Returns: True if the node is tab focusable, false otherwise. .. index:: pair: function; isDragging .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a1f6150f8b7c0930b37354fea7679a7a4: .. ref-code-block:: cpp :class: doxyrest-title-code-block bool isDragging() const Checks if the node is currently being dragged. .. rubric:: Returns: True if the node is in a drag operation, false otherwise. .. index:: pair: function; setDragging .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1afab922fbb2abd9896cf069baf5512478: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setDragging(bool dragging, bool emitDropEvent = true) Sets or clears the dragging state. Changes whether the node is considered to be dragging. If emitDropEvent is true and ending the drag, a drop event will be sent to the node under the cursor. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - dragging - True to start dragging, false to stop. * - emitDropEvent - Whether to emit a drop event when stopping (default: true). .. index:: pair: function; startDragging .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a7d921c2acc18bef721c1e044f5e0d75f: .. ref-code-block:: cpp :class: doxyrest-title-code-block void startDragging(const :ref:`Vector2f`& position) Starts a drag operation from a specific position. Begins dragging this node, recording the starting position for drag calculations. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - position - The starting position of the drag in dp. .. index:: pair: function; ownsChildPosition .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a97e33d3c4b52a55ad98a698bb64e7b1e: .. ref-code-block:: cpp :class: doxyrest-title-code-block bool ownsChildPosition() const Checks if this node owns its children's positions. Determines whether this node is responsible for positioning its children (as opposed to children positioning themselves). .. rubric:: Returns: True if children positions are owned, false otherwise. .. index:: pair: function; getDragPoint .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a7c805152801f73a8623610af2827ff56: .. ref-code-block:: cpp :class: doxyrest-title-code-block const :ref:`Vector2f`& getDragPoint() const Gets the current drag point. Returns the point where dragging started or the current drag position. .. rubric:: Returns: The drag point as a Vector2f in dp. .. index:: pair: function; setDragPoint .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a0146e3d7195f7156f26e0a259f63ca05: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setDragPoint(const :ref:`Vector2f`& Point) Sets the drag point. Sets the reference point used during dragging operations. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - Point - The new drag point in dp. .. index:: pair: function; isDragEnabled .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a9a959856500a41f3f4a74a995e3950ce: .. ref-code-block:: cpp :class: doxyrest-title-code-block bool isDragEnabled() const Checks if dragging is enabled for this node. Determines whether this node can be dragged by the user. .. rubric:: Returns: True if dragging is enabled, false otherwise. .. index:: pair: function; setDragEnabled .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a2c6551ba0a1dafe0f1ca1deb5fa1acd0: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setDragEnabled(const bool& enable) Enables or disables dragging. Controls whether this node can be dragged by the user. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - enable - True to enable dragging, false to disable. .. index:: pair: function; setDragButton .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ade01ff14e37b856b49f0ddc65ed12814: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setDragButton(const :ref:`Uint32`& Button) Sets which mouse button initiates dragging. Specifies which mouse button (left, right, middle) should be used to initiate dragging on this node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - Button - The mouse button mask (EE_BUTTON\_\* constants). .. index:: pair: function; getDragButton .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a51f60dcbbfef93d25ead7e31cb77dab9: .. ref-code-block:: cpp :class: doxyrest-title-code-block const :ref:`Uint32`& getDragButton() const Gets the mouse button that initiates dragging. Returns which mouse button is configured to start dragging. .. rubric:: Returns: The mouse button mask. .. index:: pair: function; setFocus .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a017536f090bfb53d1b1db9d099ce9004: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual :ref:`Node`* setFocus(:ref:`NodeFocusReason` reason = NodeFocusReason::Unknown) Requests focus for this node. Attempts to give this node input focus. The focus change may be denied depending on node state and focus policies. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - reason - The reason for the focus request (default: Unknown). .. rubric:: Returns: Pointer to this node if focus was granted, nullptr otherwise. .. index:: pair: function; getPropertyRelativeTargetContainerLength .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ad262e2c480f93383d87d05d496856fb1: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Float` getPropertyRelativeTargetContainerLength(const :ref:`CSS::PropertyRelativeTarget`& relativeTarget, const :ref:`Float`& defaultValue = 0, const :ref:`Uint32`& propertyIndex = 0) const Gets a property's value relative to a container length. Evaluates a :ref:`CSS ` property that has a relative target (like percentage or viewport units) and converts it to an absolute length based on the appropriate container dimensions. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - relativeTarget - The relative target container (width, height, etc.). * - defaultValue - The default value if the property cannot be evaluated. * - propertyIndex - The property index for multi-value properties (default: 0). .. rubric:: Returns: The computed length in pixels. .. index:: pair: function; convertLength .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a96a80fea20dad77258e4ad755e7985c4: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual :ref:`Float` convertLength(const :ref:`CSS::StyleSheetLength`& length, const :ref:`Float`& containerLength) const Converts a :ref:`CSS ` length to pixels. Parses and converts a CSS-style length value (with units like px, dp, %, em, rem, etc.) to an absolute pixel value based on the container length and current context. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - length - The :ref:`CSS ` length to convert. * - containerLength - The reference container length in pixels. .. rubric:: Returns: The computed length in pixels. .. index:: pair: function; convertLengthAsDp .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a0178b0222ad0ed39bfd470de3c8b8667: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Float` convertLengthAsDp(const :ref:`CSS::StyleSheetLength`& length, const :ref:`Float`& containerLength) const Converts a :ref:`CSS ` length to density-independent pixels (dp). Similar to convertLength but returns the result in dp units instead of pixels. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - length - The :ref:`CSS ` length to convert. * - containerLength - The reference container length in pixels. .. rubric:: Returns: The computed length in dp. .. index:: pair: function; lengthFromValue .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a6f48c7d75d6357871160b2c0420dfe3d: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Float` lengthFromValue(const std::string& value, const :ref:`CSS::PropertyRelativeTarget`& relativeTarget, const :ref:`Float`& defaultValue = 0, const :ref:`Uint32`& propertyIndex = 0) const Evaluates a :ref:`CSS ` length string to a pixel value. Parses a string containing a :ref:`CSS ` length value and converts it to pixels using the specified relative target for percentage/relative units. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - value - The :ref:`CSS ` length string (e.g., "10px", "50%", "1em"). * - relativeTarget - The relative target for relative units. * - defaultValue - The default value if parsing fails (default: 0). * - propertyIndex - The property index for multi-value properties (default: 0). .. rubric:: Returns: The computed length in pixels. .. index:: pair: function; lengthFromValue .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1aeaed79773835bdbe8e7d7a13a9dd140a: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Float` lengthFromValue(const :ref:`CSS::StyleSheetProperty`& property, const :ref:`Float`& defaultValue = 0) Evaluates a :ref:`CSS ` property to a pixel value. Convenience method that extracts the value from a StyleSheetProperty and converts it to pixels. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - property - The StyleSheetProperty containing the value to evaluate. * - defaultValue - The default value if the property is not set (default: 0). .. rubric:: Returns: The computed length in pixels. .. index:: pair: function; lengthFromValueAsDp .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a24322f215984c9cf9f550bf856f9bcbc: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Float` lengthFromValueAsDp(const std::string& value, const :ref:`CSS::PropertyRelativeTarget`& relativeTarget, const :ref:`Float`& defaultValue = 0, const :ref:`Uint32`& propertyIndex = 0) const Evaluates a :ref:`CSS ` length string to a dp value. Similar to lengthFromValue but returns the result in dp units. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - value - The :ref:`CSS ` length string. * - relativeTarget - The relative target for relative units. * - defaultValue - The default value if parsing fails (default: 0). * - propertyIndex - The property index for multi-value properties (default: 0). .. rubric:: Returns: The computed length in dp. .. index:: pair: function; lengthFromValueAsDp .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a4ee4ad46d4cf202384da4f639ed82545: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Float` lengthFromValueAsDp(const :ref:`CSS::StyleSheetProperty`& property, const :ref:`Float`& defaultValue = 0) const Evaluates a :ref:`CSS ` property to a dp value. Convenience method that extracts the value from a StyleSheetProperty and converts it to dp. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - property - The StyleSheetProperty containing the value to evaluate. * - defaultValue - The default value if the property is not set (default: 0). .. rubric:: Returns: The computed length in dp. .. index:: pair: function; getUISceneNode .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a8e6dc3e2c8c1aa61a24d365e05bd01c3: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`UISceneNode`* getUISceneNode() const Gets the :ref:`UISceneNode ` that contains this node. Returns the :ref:`UI ` scene node which is the root of the :ref:`UI ` rendering hierarchy that this node belongs to. .. rubric:: Returns: Pointer to the :ref:`UISceneNode ` or nullptr. .. index:: pair: function; getInput .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a202cfec92bde9915adb087a0fc2a2c53: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Input`* getInput() const Gets the input manager. Returns the Input object used for handling keyboard and mouse input from the window associated with this :ref:`UI ` node. .. rubric:: Returns: Pointer to the Input object. .. index:: pair: function; setMinWidth .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a7044e996e085747d570e37bc7b6bbed4: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setMinWidth(const :ref:`Float`& width) Sets the minimum width constraint. Sets the minimum width that this node can be sized to. The node will not shrink below this width during layout. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - width - The minimum width in dp. .. index:: pair: function; setMinHeight .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a5666162bfad1a4ac86bd57d2cedde8e7: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setMinHeight(const :ref:`Float`& height) Sets the minimum height constraint. Sets the minimum height that this node can be sized to. The node will not shrink below this height during layout. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - height - The minimum height in dp. .. index:: pair: function; setMinSize .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a4ba710ccee4c8b9cdc29e923c072dee9: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setMinSize(const :ref:`Sizef`& size) Sets both minimum width and height constraints. Sets the minimum size constraints for this node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - size - The minimum size in dp. .. index:: pair: function; getCurMinSize .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a33c2f9c7baabc5e19220eef5f0fd0f46: .. ref-code-block:: cpp :class: doxyrest-title-code-block const :ref:`Sizef`& getCurMinSize() const Gets the current minimum size. Returns the minimum size constraints currently set on this node. .. rubric:: Returns: The minimum size as a Sizef in dp. .. index:: pair: function; getLocalDpBounds .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a1e354199b26e653e0c7da420cd514e6b: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Rectf` getLocalDpBounds() const Gets the local bounds in density-independent pixels. Returns the rectangle representing the node's local coordinate space (0,0 to width,height) in dp units. .. rubric:: Returns: The local bounds as a Rectf. .. index:: pair: function; nodeDraw .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a95d3563bd64e8e7aeb57a0fcf8ffd1fc: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void nodeDraw() Virtual method for custom node drawing. Override this method to implement custom drawing for the node. This is called after background and before foreground/border. Default implementation does nothing. .. index:: pair: function; clearForeground .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1aab634275c503d0e3b77fdea136f99514: .. ref-code-block:: cpp :class: doxyrest-title-code-block void clearForeground() Clears the foreground drawable. Deletes and removes the foreground drawable from this node. .. index:: pair: function; clearBackground .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a20ee113f42fe57166e9ab842a81bd68d: .. ref-code-block:: cpp :class: doxyrest-title-code-block void clearBackground() Clears the background drawable. Deletes and removes the background drawable from this node. .. index:: pair: function; getClipType .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1abe13fa78aa3bceeca7b3bc1de3a0816b: .. ref-code-block:: cpp :class: doxyrest-title-code-block const :ref:`ClipType`& getClipType() const Gets the current clipping type. Returns what type of clipping is applied to this node's content. .. rubric:: Returns: The current ClipType. .. index:: pair: function; setClipType .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a371e348f87f204ba0a2b07aabf4a51b2: .. ref-code-block:: cpp :class: doxyrest-title-code-block UINode* setClipType(const :ref:`ClipType`& clipType) Sets the clipping type. Controls how the node's content is clipped to its bounds or padding. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - clipType - The clipping type to apply. .. rubric:: Returns: Pointer to this node for method chaining. .. index:: pair: function; hasBorder .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ae1f13f51ea4cef9306ecf9035e430338: .. ref-code-block:: cpp :class: doxyrest-title-code-block bool hasBorder() const Checks if the node has a border. .. rubric:: Returns: True if border is enabled, false otherwise. .. index:: pair: function; getPixelsPadding .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ac7f686bd648c904ffcd80d21cc4064a4: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual const :ref:`Rectf`& getPixelsPadding() const Gets the padding in actual pixels. Returns the padding values in pixel units. For :ref:`UINode ` this returns a zero-sized rect as padding is typically managed by :ref:`UIWidget `. .. rubric:: Returns: The padding as a Rectf in pixels. .. index:: pair: function; getMinWidthEq .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a66000422fba9601589f46fae4501ff52: .. ref-code-block:: cpp :class: doxyrest-title-code-block const std::string& getMinWidthEq() const Gets the minimum width equation. Returns the CSS-style expression that defines the minimum width, if one was set (e.g., "50%", "100px"). .. rubric:: Returns: The minimum width equation string. .. index:: pair: function; setMinSizeEq .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ad445df0fc09352218665849ab5fa92ff: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setMinSizeEq(const std::string& minWidthEq, const std::string& minHeightEq) Sets both minimum width and height equations. Sets dynamic minimum size constraints using CSS-style expressions. These are evaluated during layout to determine the minimum size. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - minWidthEq - The minimum width expression (e.g., "50%"). * - minHeightEq - The minimum height expression. .. index:: pair: function; setMinWidthEq .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a10488c973aac41a57442dcd5c13c315e: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setMinWidthEq(const std::string& minWidthEq) Sets the minimum width equation. Sets a dynamic minimum width constraint using a CSS-style expression. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - minWidthEq - The minimum width expression. .. index:: pair: function; getMinHeightEq .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1afa8a5f8bd09e1e8745af8bdc783ede16: .. ref-code-block:: cpp :class: doxyrest-title-code-block const std::string& getMinHeightEq() const Gets the minimum height equation. Returns the CSS-style expression for minimum height. .. rubric:: Returns: The minimum height equation string. .. index:: pair: function; setMinHeightEq .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a9fade4d86580cef7e64bbd98b22f98fc: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setMinHeightEq(const std::string& minHeightEq) Sets the minimum height equation. Sets a dynamic minimum height constraint using a CSS-style expression. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - minHeightEq - The minimum height expression. .. index:: pair: function; getMaxWidthEq .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1aeda59915f502e7c761b7a66886349aee: .. ref-code-block:: cpp :class: doxyrest-title-code-block const std::string& getMaxWidthEq() const Gets the maximum width equation. Returns the CSS-style expression that defines the maximum width. .. rubric:: Returns: The maximum width equation string. .. index:: pair: function; setMaxSizeEq .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a20320e5726c7dbe9d56c49f3fe922bac: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setMaxSizeEq(const std::string& maxWidthEq, const std::string& maxHeightEq) Sets both maximum width and height equations. Sets dynamic maximum size constraints using CSS-style expressions. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - maxWidthEq - The maximum width expression. * - maxHeightEq - The maximum height expression. .. index:: pair: function; setMaxWidthEq .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a956b6eaf177b6f42ea2a59ab8728f30b: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setMaxWidthEq(const std::string& maxWidthEq) Sets the maximum width equation. Sets a dynamic maximum width constraint using a CSS-style expression. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - maxWidthEq - The maximum width expression. .. index:: pair: function; getMaxHeightEq .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a7796f6289ee84b9e8d170095e911b004: .. ref-code-block:: cpp :class: doxyrest-title-code-block const std::string& getMaxHeightEq() const Gets the maximum height equation. Returns the CSS-style expression for maximum height. .. rubric:: Returns: The maximum height equation string. .. index:: pair: function; setMaxHeightEq .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a3fe16686e36b0b7d23d794f8cb432459: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setMaxHeightEq(const std::string& maxHeightEq) Sets the maximum height equation. Sets a dynamic maximum height constraint using a CSS-style expression. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - maxHeightEq - The maximum height expression. .. index:: pair: function; getMinSize .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a8c3a36398f04dc6992203575e9b0ae79: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Sizef` getMinSize() const Gets the computed minimum size in dp. Evaluates any minimum size equations and returns the actual minimum size that should be enforced during layout. .. rubric:: Returns: The computed minimum size in dp. .. index:: pair: function; getMaxSize .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1acd59b3a64812845bafa1c289a352e37b: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Sizef` getMaxSize() const Gets the computed maximum size in dp. Evaluates any maximum size equations and returns the actual maximum size that should be enforced during layout. .. rubric:: Returns: The computed maximum size in dp. .. index:: pair: function; getMinSizePx .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a7d515015ede75ebb6d64c4bdeb2b3cf0: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Sizef` getMinSizePx() const Gets the computed minimum size in pixels. Similar to :ref:`getMinSize() ` but returns the result in pixel units. .. rubric:: Returns: The computed minimum size in pixels. .. index:: pair: function; getMaxSizePx .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1ab54107fd34f4daeb27905586b04214f5: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Sizef` getMaxSizePx() const Gets the computed maximum size in pixels. Similar to :ref:`getMaxSize() ` but returns the result in pixel units. .. rubric:: Returns: The computed maximum size in pixels. .. index:: pair: function; fitMinMaxSizeDp .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a0d68d0d811aa3659694bdc5a5d5e5537: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Sizef` fitMinMaxSizeDp(const :ref:`Sizef`& size) const Fits a size to the minimum and maximum constraints in dp. Takes a proposed size and adjusts it to fall within the minimum and maximum size constraints, accounting for equations. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - size - The proposed size in dp. .. rubric:: Returns: The adjusted size that satisfies min/max constraints in dp. .. index:: pair: function; fitMinMaxSizePx .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a5c6a725ab1004235c8f4d9e8d3ce3e17: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Sizef` fitMinMaxSizePx(const :ref:`Sizef`& size) const Fits a size to the minimum and maximum constraints in pixels. Similar to fitMinMaxSizeDp but operates on pixel values. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - size - The proposed size in pixels. .. rubric:: Returns: The adjusted size that satisfies min/max constraints in pixels. .. index:: pair: function; isScrollable .. _doxid-class_e_e_1_1_u_i_1_1_u_i_node_1a4536b8b9ed7d3bec7f668ceb6704df51: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual bool isScrollable() const Checks if the node is scrollable. Determines whether this node supports scrolling behavior. .. rubric:: Returns: True if the node is scrollable, false otherwise.