aboutsummaryrefslogtreecommitdiff
path: root/src/ui/render/RenderObject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/render/RenderObject.cpp')
-rw-r--r--src/ui/render/RenderObject.cpp27
1 files changed, 13 insertions, 14 deletions
diff --git a/src/ui/render/RenderObject.cpp b/src/ui/render/RenderObject.cpp
index d999be7b..8bd85784 100644
--- a/src/ui/render/RenderObject.cpp
+++ b/src/ui/render/RenderObject.cpp
@@ -9,6 +9,8 @@
namespace cru::ui::render {
const BoxConstraint BoxConstraint::kNotLimit{Size::kMax, Size::kZero};
+RenderObject::RenderObject(std::string name) : name_(std::move(name)) {}
+
RenderObject::~RenderObject() { DestroyEvent_.Raise(this); }
void RenderObject::SetParent(RenderObject* new_parent) {
@@ -29,9 +31,9 @@ void RenderObject::SetAttachedControl(controls::Control* new_control) {
OnAttachedControlChanged(old_control, new_control);
}
-Point RenderObject::GetTotalOffset() const {
+Point RenderObject::GetTotalOffset() {
Point result{};
- const RenderObject* render_object = this;
+ RenderObject* render_object = this;
while (render_object != nullptr) {
const auto o = render_object->GetOffset();
@@ -43,7 +45,7 @@ Point RenderObject::GetTotalOffset() const {
return result;
}
-Point RenderObject::FromRootToContent(const Point& point) const {
+Point RenderObject::FromRootToContent(const Point& point) {
const auto offset = GetTotalOffset();
const auto rect = GetContentRect();
return Point{point.x - (offset.x + rect.left),
@@ -86,7 +88,7 @@ void RenderObject::SetMaxSize1(const Size& max_size) {
}
BoxConstraint RenderObject::CalculateMergedConstraint(
- const BoxConstraint& constraint) const {
+ const BoxConstraint& constraint) {
auto result = constraint;
if (max_size_.width >= constraint.min.width &&
max_size_.width < constraint.max.width) {
@@ -157,11 +159,9 @@ void RenderObject::Layout(const Point& offset) {
OnLayoutCore();
}
-Thickness RenderObject::GetTotalSpaceThickness() const {
- return margin_ + padding_;
-}
+Thickness RenderObject::GetTotalSpaceThickness() { return margin_ + padding_; }
-Thickness RenderObject::GetInnerSpaceThickness() const { return padding_; }
+Thickness RenderObject::GetInnerSpaceThickness() { return padding_; }
Size RenderObject::OnMeasureCore(const MeasureRequirement& requirement,
const MeasureSize& preferred_size) {
@@ -244,7 +244,7 @@ Size RenderObject::OnMeasureContent1(const BoxConstraint& constraint) {
throw Exception("Not implemented.");
}
-Rect RenderObject::GetPaddingRect() const {
+Rect RenderObject::GetPaddingRect() {
const auto size = GetDesiredSize();
Rect rect{Point{}, size};
rect = rect.Shrink(GetMargin());
@@ -255,7 +255,7 @@ Rect RenderObject::GetPaddingRect() const {
return rect;
}
-Rect RenderObject::GetContentRect() const {
+Rect RenderObject::GetContentRect() {
const auto size = GetDesiredSize();
Rect rect{Point{}, size};
rect = rect.Shrink(GetMargin());
@@ -286,12 +286,11 @@ void RenderObject::InvalidatePaint() {
}
}
-std::string kUnamedName("UNNAMED");
-std::string RenderObject::GetName() const { return kUnamedName; }
+std::string RenderObject::GetName() { return name_; }
-std::string RenderObject::GetDebugPathInTree() const {
+std::string RenderObject::GetDebugPathInTree() {
std::vector<std::string> chain;
- const RenderObject* parent = this;
+ RenderObject* parent = this;
while (parent != nullptr) {
chain.push_back(parent->GetName());
parent = parent->GetParent();