60 virtual void Start()
override;
62 virtual void SetVisible(
bool visible)
override;
66 virtual void PrepareTick(std::vector<NodePtrWeak>& outTickNodes,
bool game,
bool recurse)
override;
67 virtual void Render()
override;
70 virtual bool IsWidget()
const override;
72 const Widget* GetParentWidget()
const;
73 Widget* GetChildWidget(int32_t index);
75 virtual void PreRender();
81 void SetWidth(
float width);
82 void SetHeight(
float height);
84 void SetXRatio(
float x);
85 void SetYRatio(
float y);
86 void SetWidthRatio(
float width);
87 void SetHeightRatio(
float height);
89 void SetLeftMargin(
float left);
90 void SetTopMargin(
float top);
91 void SetRightMargin(
float right);
92 void SetBottomMargin(
float bottom);
94 virtual void SetPosition(
float x,
float y);
95 virtual void SetDimensions(
float width,
float height);
96 void SetPosition(glm::vec2 position);
97 void SetDimensions(glm::vec2 dimensions);
98 void SetRect(
float x,
float y,
float width,
float height);
99 void SetRect(glm::vec2 position, glm::vec2 dimensions);
100 void SetRect(
Rect rect);
102 void SetRatios(
float x,
float y,
float width,
float height);
103 void SetMargins(
float left,
float top,
float right,
float bottom);
108 void SetOffset(
float x,
float y);
109 glm::vec2 GetOffset()
const;
114 void SetSize(
float x,
float y);
115 glm::vec2 GetSize()
const;
121 inline bool StretchX()
const {
return AnchorStretchesX(mAnchorMode); }
122 inline bool StretchY()
const {
return AnchorStretchesY(mAnchorMode); }
123 glm::vec2 GetAnchorRatio()
const;
124 void SetFullScreen();
130 float GetWidth()
const;
131 float GetHeight()
const;
133 glm::vec2 GetPosition()
const;
134 glm::vec2 GetDimensions()
const;
138 void FitInsideParent();
140 float GetParentWidth()
const;
141 float GetParentHeight()
const;
143 virtual void SetColor(glm::vec4 color);
144 glm::vec4 GetColor()
const;
146 void SetOpacity(uint8_t opacity);
147 uint8_t GetOpacity()
const;
149 void SetOpacityFloat(
float opacity);
150 float GetOpacityFloat()
const;
152 virtual bool ShouldHandleInput();
154 virtual void MarkDirty();
156 bool IsDirty()
const;
158 static float InterfaceToNormalized(
float interfaceCoord,
float interfaceSize);
159 static bool IsMouseInside(
Rect rect);
161 bool ContainsMouse(
bool testScissor =
true)
const;
162 virtual bool ContainsPoint(int32_t x, int32_t y);
163 void MoveToMousePosition();
165 const glm::mat3& GetTransform();
166 void SetRotation(
float degrees);
167 float GetRotation()
const;
169 void SetPivot(glm::vec2 pivot);
170 glm::vec2 GetPivot()
const;
172 void SetScale(glm::vec2 scale);
173 glm::vec2 GetScale()
const;
176 bool IsScissorEnabled()
const;
177 void EnableScissor(
bool enable);
178 Rect GetScissorRect()
const;
180 void SetUseGameResolution(
bool use);
181 bool GetUseGameResolution()
const;
184 void SetTooltipName(
const std::string& name);
185 const std::string& GetTooltipName()
const;
186 void SetTooltipDescription(
const std::string& description);
187 const std::string& GetTooltipDescription()
const;
188 bool HasTooltip()
const;
193 static const char* sAnchorModeStrings[];
199 float PixelsToRatioX(
float x)
const;
200 float PixelsToRatioY(
float y)
const;
201 float RatioToPixelsX(
float x)
const;
202 float RatioToPixelsY(
float y)
const;
221 bool mUseGameResolution =
false;
229 bool mDirty[MAX_FRAMES] = {};