diff options
| author | Yuqian Yang <crupest@crupest.life> | 2025-11-17 12:54:55 +0800 |
|---|---|---|
| committer | Yuqian Yang <crupest@crupest.life> | 2025-11-17 12:54:55 +0800 |
| commit | 0f8f98b9005803ab154b43dcad0db1f292072a4d (patch) | |
| tree | 0a43d5a9c4e3b747ad955fc30a143aa07ab5888d /src/ui/host/LayoutPaintCycler.cpp | |
| parent | b68f9f52a3ecdd8e379dd60ac1c1366e76695464 (diff) | |
| download | cru-0f8f98b9005803ab154b43dcad0db1f292072a4d.tar.gz cru-0f8f98b9005803ab154b43dcad0db1f292072a4d.tar.bz2 cru-0f8f98b9005803ab154b43dcad0db1f292072a4d.zip | |
Refactor window host.
Diffstat (limited to 'src/ui/host/LayoutPaintCycler.cpp')
| -rw-r--r-- | src/ui/host/LayoutPaintCycler.cpp | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/src/ui/host/LayoutPaintCycler.cpp b/src/ui/host/LayoutPaintCycler.cpp deleted file mode 100644 index 7f8523d4..00000000 --- a/src/ui/host/LayoutPaintCycler.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#include "cru/ui/host/LayoutPaintCycler.h" -#include <chrono> - -#include "../Helper.h" -#include "cru/ui/Base.h" -#include "cru/ui/host/WindowHost.h" - -namespace cru::ui::host { -LayoutPaintCycler::LayoutPaintCycler(WindowHost* host) : host_(host) { - timer_canceler_ = GetUiApplication()->SetInterval( - std::chrono::duration_cast<std::chrono::milliseconds>( - this->cycle_threshold_), - [this] { OnCycle(); }); -} - -LayoutPaintCycler::~LayoutPaintCycler() = default; - -void LayoutPaintCycler::InvalidateLayout() { layout_dirty_ = true; } - -void LayoutPaintCycler::InvalidatePaint() { paint_dirty_ = true; } - -void LayoutPaintCycler::OnCycle() { - last_cycle_time_ = std::chrono::steady_clock::now(); - if (layout_dirty_) { - host_->Relayout(); - host_->Repaint(); - } else { - if (paint_dirty_) { - host_->Repaint(); - } - } - layout_dirty_ = false; - paint_dirty_ = false; -} -} // namespace cru::ui::host |
