.. 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: .. 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* :target:`New`(); virtual void :target:`worldToNodeTranslation`(:ref:`Vector2f`& position) const; virtual void :target:`nodeToWorldTranslation`(:ref:`Vector2f`& position) const; virtual void :target:`worldToNode`(:ref:`Vector2i`& pos) const; virtual void :target:`nodeToWorld`(:ref:`Vector2i`& pos) const; virtual void :target:`worldToNode`(:ref:`Vector2f`& pos) const; virtual void :target:`nodeToWorld`(:ref:`Vector2f`& pos) const; virtual :ref:`Uint32` :target:`getType`() const; virtual bool :target:`isType`(const :ref:`Uint32`& type) const; virtual void :target:`setPosition`(const :ref:`Vector2f`& Pos); virtual :ref:`Node`* :target:`setPosition`(const :ref:`Float`& x, const :ref:`Float`& y); UINode* :target:`setPixelsPosition`(const :ref:`Vector2f`& position); UINode* :target:`setPixelsPosition`(const :ref:`Float`& x, const :ref:`Float`& y); virtual const :ref:`Vector2f`& :target:`getPosition`() const; const :ref:`Vector2f`& :target:`getPixelsPosition`() const; virtual :ref:`Node`* :target:`setSize`(const :ref:`Sizef`& size); virtual :ref:`Node`* :target:`setSize`(const :ref:`Float`& Width, const :ref:`Float`& Height); UINode* :target:`setPixelsSize`(const :ref:`Sizef`& size); UINode* :target:`setPixelsSize`(const :ref:`Float`& x, const :ref:`Float`& y); virtual const :ref:`Sizef`& :target:`getSize`() const; :ref:`Rect` :target:`getRect`() const; :ref:`Rectf` :target:`getRectBox`() const; virtual void :target:`draw`(); :ref:`Uint32` :target:`getHorizontalAlign`() const; UINode* :target:`setHorizontalAlign`(:ref:`Uint32` halign); :ref:`Uint32` :target:`getVerticalAlign`() const; UINode* :target:`setVerticalAlign`(:ref:`Uint32` valign); UINode* :target:`setGravity`(:ref:`Uint32` hvalign); :ref:`UINodeDrawable`* :target:`setBackgroundFillEnabled`(bool enabled); UINode* :target:`setBackgroundDrawable`(:ref:`Drawable`* drawable, bool ownIt = false, int index = 0); UINode* :target:`setBackgroundDrawable`(const std::string& drawable, int index); UINode* :target:`setBackgroundColor`(const :ref:`Color`& color); UINode* :target:`setBackgroundTint`(const :ref:`Color`& color, int index); UINode* :target:`setBackgroundPositionX`(const std::string& positionX, int index = 0); UINode* :target:`setBackgroundPositionY`(const std::string& positionY, int index = 0); UINode* :target:`setBackgroundRepeat`(const std::string& repeatRule, int index = 0); UINode* :target:`setBackgroundSize`(const std::string& size, int index = 0); :ref:`Color` :target:`getBackgroundColor`() const; :ref:`Color` :target:`getBackgroundTint`(int index = 0) const; UINode* :target:`setBorderRadius`(const unsigned int& corners); UINode* :target:`setTopLeftRadius`(const std::string& radius); UINode* :target:`setTopRightRadius`(const std::string& radius); UINode* :target:`setBottomLeftRadius`(const std::string& radius); UINode* :target:`setBottomRightRadius`(const std::string& radius); :ref:`Uint32` :target:`getBorderRadius`() const; :ref:`UINodeDrawable`* :target:`setForegroundFillEnabled`(bool enabled); UINode* :target:`setForegroundDrawable`(:ref:`Drawable`* drawable, bool ownIt = false, int index = 0); UINode* :target:`setForegroundDrawable`(const std::string& drawable, int index = 0); UINode* :target:`setForegroundColor`(const :ref:`Color`& color); UINode* :target:`setForegroundTint`(const :ref:`Color`& color, int index); UINode* :target:`setForegroundPositionX`(const std::string& positionX, int index = 0); UINode* :target:`setForegroundPositionY`(const std::string& positionY, int index = 0); UINode* :target:`setForegroundRepeat`(const std::string& repeatRule, int index = 0); UINode* :target:`setForegroundSize`(const std::string& size, int index = 0); :ref:`Color` :target:`getForegroundColor`() const; :ref:`Color` :target:`getForegroundTint`(int index) const; UINode* :target:`setForegroundRadius`(const unsigned int& corners); :ref:`Uint32` :target:`getForegroundRadius`() const; :ref:`UIBorderDrawable`* :target:`setBorderEnabled`(bool enabled) const; UINode* :target:`setBorderColor`(const :ref:`Color`& color); :ref:`Color` :target:`getBorderColor`(); UINode* :target:`setBorderWidth`(const unsigned int& width); :ref:`Float` :target:`getBorderWidth`() const; const :ref:`Uint32`& :target:`getFlags`() const; virtual UINode* :target:`setFlags`(const :ref:`Uint32`& flags); virtual UINode* :target:`unsetFlags`(const :ref:`Uint32`& flags); virtual UINode* :target:`resetFlags`(:ref:`Uint32` newFlags = 0); :ref:`UINodeDrawable`* :target:`getBackground`() const; bool :target:`hasBackground`() const; :ref:`UINodeDrawable`* :target:`getForeground`() const; bool :target:`hasForeground`() const; :ref:`UIBorderDrawable`* :target:`getBorder`() const; void :target:`setThemeByName`(const std::string& Theme); virtual void :target:`setTheme`(:ref:`UITheme`* Theme); virtual UINode* :target:`setThemeSkin`(:ref:`UITheme`* Theme, const std::string& skinName); virtual UINode* :target:`setThemeSkin`(const std::string& skinName); void :target:`setThemeToChilds`(:ref:`UITheme`* Theme); :ref:`UISkin`* :target:`getSkin`() const; virtual UINode* :target:`setSkin`(const :ref:`UISkin`& Skin); UINode* :target:`setSkin`(:ref:`UISkin`* skin); UINode* :target:`setSkinColor`(const :ref:`Color`& color); const :ref:`Color`& :target:`getSkinColor`() const; void :target:`removeSkin`(); virtual void :target:`pushState`(const :ref:`Uint32`& State, bool emitEvent = true); virtual void :target:`popState`(const :ref:`Uint32`& State, bool emitEvent = true); :ref:`Sizef` :target:`getSkinSize`(const :ref:`Uint32`& state = :ref:`UIState::StateFlagNormal`) const; void :target:`applyDefaultTheme`(); :ref:`Node`* :target:`getWindowContainer`() const; bool :target:`isTabFocusable`() const; bool :target:`isDragging`() const; void :target:`setDragging`(const bool& dragging); void :target:`startDragging`(const :ref:`Vector2f`& position); bool :target:`ownsChildPosition`() const; const :ref:`Vector2f`& :target:`getDragPoint`() const; void :target:`setDragPoint`(const :ref:`Vector2f`& Point); bool :target:`isDragEnabled`() const; void :target:`setDragEnabled`(const bool& enable); void :target:`setDragButton`(const :ref:`Uint32`& Button); const :ref:`Uint32`& :target:`getDragButton`() const; virtual :ref:`Node`* :target:`setFocus`(); :ref:`Float` :target:`getPropertyRelativeTargetContainerLength`(const :ref:`CSS::PropertyRelativeTarget`& relativeTarget, const :ref:`Float`& defaultValue = 0, const :ref:`Uint32`& propertyIndex = 0) const; virtual :ref:`Float` :target:`convertLength`(const :ref:`CSS::StyleSheetLength`& length, const :ref:`Float`& containerLength) const; :ref:`Float` :target:`convertLengthAsDp`(const :ref:`CSS::StyleSheetLength`& length, const :ref:`Float`& containerLength) const; :ref:`Float` :target:`lengthFromValue`(const std::string& value, const :ref:`CSS::PropertyRelativeTarget`& relativeTarget, const :ref:`Float`& defaultValue = 0, const :ref:`Uint32`& propertyIndex = 0) const; :ref:`Float` :target:`lengthFromValue`(const :ref:`CSS::StyleSheetProperty`& property, const :ref:`Float`& defaultValue = 0); :ref:`Float` :target:`lengthFromValueAsDp`(const std::string& value, const :ref:`CSS::PropertyRelativeTarget`& relativeTarget, const :ref:`Float`& defaultValue = 0, const :ref:`Uint32`& propertyIndex = 0) const; :ref:`Float` :target:`lengthFromValueAsDp`(const :ref:`CSS::StyleSheetProperty`& property, const :ref:`Float`& defaultValue = 0) const; :ref:`UISceneNode`* :target:`getUISceneNode`() const; void :target:`setMinWidth`(const :ref:`Float`& width); void :target:`setMinHeight`(const :ref:`Float`& height); void :target:`setMinSize`(const :ref:`Sizef`& size); const :ref:`Sizef`& :target:`getCurMinSize`() const; :ref:`Rectf` :target:`getLocalDpBounds`() const; virtual void :target:`nodeDraw`(); void :target:`clearForeground`(); void :target:`clearBackground`(); const :ref:`ClipType`& :target:`getClipType`() const; UINode* :target:`setClipType`(const :ref:`ClipType`& clipType); bool :target:`hasBorder`() const; virtual const :ref:`Rectf`& :target:`getPixelsPadding`() const; const std::string& :target:`getMinWidthEq`() const; void :target:`setMinSizeEq`(const std::string& minWidthEq, const std::string& minHeightEq); void :target:`setMinWidthEq`(const std::string& minWidthEq); const std::string& :target:`getMinHeightEq`() const; void :target:`setMinHeightEq`(const std::string& minHeightEq); const std::string& :target:`getMaxWidthEq`() const; void :target:`setMaxSizeEq`(const std::string& maxWidthEq, const std::string& maxHeightEq); void :target:`setMaxWidthEq`(const std::string& maxWidthEq); const std::string& :target:`getMaxHeightEq`() const; void :target:`setMaxHeightEq`(const std::string& maxHeightEq); :ref:`Sizef` :target:`getMinSize`() const; :ref:`Sizef` :target:`getMaxSize`() const; :ref:`Sizef` :target:`getMinSizePx`() const; :ref:`Sizef` :target:`getMaxSizePx`() const; :ref:`Sizef` :target:`fitMinMaxSizeDp`(const :ref:`Sizef`& size) const; :ref:`Sizef` :target:`fitMinMaxSizePx`(const :ref:`Sizef`& size) const; virtual bool :target:`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:`setChildsVisibility`(bool visible, bool emitEventNotification = true); bool :ref:`isVisible`() const; bool :ref:`isHided`() 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:`isMouseOverMeOrChilds`() 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); 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:`childsCloseAll`(); 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:`setRotationOriginPointX`(const std::string& xEq); void :ref:`setRotationOriginPointY`(const std::string& yEq); :ref:`Vector2f` :ref:`getRotationCenter`() const; 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 = OriginPoint::OriginCenter); const :ref:`OriginPoint`& :ref:`getScaleOriginPoint`() const; void :ref:`setScaleOriginPoint`(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:`setChildsAlpha`(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:`String::HashType`& tag); std::vector<:ref:`Action`*> :ref:`getActions`(); std::vector<:ref:`Action`*> :ref:`getActionsByTag`(const :ref:`Uint32`& 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:`Node`* :ref:`getFirstWidget`() const; :ref:`Node`* :ref:`getParentWidget`() const; void :ref:`enableReportSizeChangeToChilds`(); void :ref:`disableReportSizeChangeToChilds`(); bool :ref:`reportSizeChangeToChilds`() 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:`Uint32`& uniqueIdentifier = 0); void :ref:`setTimeout`(:ref:`Actions::Runnable::RunnableFunc` runnable, const :ref:`Time`& delay = Seconds(0), const :ref:`Uint32`& uniqueIdentifier = 0); void :ref:`debounce`(:ref:`Actions::Runnable::RunnableFunc` runnable, const :ref:`Time`& delay, const :ref:`Uint32`& uniqueIdentifier); void :ref:`setInterval`(:ref:`Actions::Runnable::RunnableFunc` runnable, const :ref:`Time`& interval, const :ref:`Uint32`& uniqueIdentifier = 0); bool :ref:`isChild`(:ref:`Node`* child) const; bool :ref:`inParentTreeOf`(:ref:`Node`* child) 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;