diff options
author | crupest <crupest@outlook.com> | 2019-04-02 21:05:27 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2019-04-02 21:05:27 +0800 |
commit | 1e0a77c9fd9ffe1423b2e02c989a15071d3205a4 (patch) | |
tree | b29055e214d495e55b3780947ddf9890701d3e68 | |
parent | 4ea8be24492f58564ff1b1efe9f7c4673078bcbc (diff) | |
download | cru-1e0a77c9fd9ffe1423b2e02c989a15071d3205a4.tar.gz cru-1e0a77c9fd9ffe1423b2e02c989a15071d3205a4.tar.bz2 cru-1e0a77c9fd9ffe1423b2e02c989a15071d3205a4.zip |
...
-rw-r--r-- | include/cru/ui/render/window_render_object.hpp | 4 | ||||
-rw-r--r-- | src/ui/render/window_render_object.cpp | 17 |
2 files changed, 10 insertions, 11 deletions
diff --git a/include/cru/ui/render/window_render_object.hpp b/include/cru/ui/render/window_render_object.hpp index 63eb8588..e0a7c74e 100644 --- a/include/cru/ui/render/window_render_object.hpp +++ b/include/cru/ui/render/window_render_object.hpp @@ -1,6 +1,4 @@ #pragma once -#include "pre.hpp" - #include "render_object.hpp" namespace cru::ui { @@ -19,7 +17,7 @@ class WindowRenderObject : public RenderObject { void MeasureAndLayout(); - void Draw(ID2D1RenderTarget* render_target) override; + void Draw(platform::Painter* painter) override; RenderObject* HitTest(const Point& point) override; diff --git a/src/ui/render/window_render_object.cpp b/src/ui/render/window_render_object.cpp index 44c3c426..ca1ab707 100644 --- a/src/ui/render/window_render_object.cpp +++ b/src/ui/render/window_render_object.cpp @@ -1,20 +1,21 @@ -#include "window_render_object.hpp" +#include "cru/ui/render/window_render_object.hpp" -#include "graph/graph_util.hpp" -#include "ui/window.hpp" +#include "cru/platform/painter_util.hpp" + +#include <cassert> namespace cru::ui::render { void WindowRenderObject::MeasureAndLayout() { const auto client_size = window_->GetClientSize(); Measure(client_size); - Layout(Rect{Point::Zero(), client_size}); + Layout(Rect{Point{}, client_size}); } -void WindowRenderObject::Draw(ID2D1RenderTarget* render_target) { +void WindowRenderObject::Draw(platform::Painter* painter) { if (const auto child = GetChild()) { auto offset = child->GetOffset(); - graph::WithTransform(render_target, - D2D1::Matrix3x2F::Translation(offset.x, offset.y), + platform::util::WithTransform(painter, + platform::Matrix::Translation(offset.x, offset.y), [child](auto rt) { child->Draw(rt); }); } } @@ -28,7 +29,7 @@ RenderObject* WindowRenderObject::HitTest(const Point& point) { return result; } } - return Rect{Point::Zero(), GetSize()}.IsPointInside(point) ? this : nullptr; + return Rect{Point{}, GetSize()}.IsPointInside(point) ? this : nullptr; } void WindowRenderObject::OnAddChild(RenderObject* new_child, int position) { |