From 39bf94e506c30a07720a0ef66809dea3331de727 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Tue, 22 Jun 2021 11:46:42 +0900 Subject: [PATCH] common scene: code refactoring. keep it clean and less LOC. --- src/lib/tvgScene.cpp | 2 +- src/lib/tvgSceneImpl.h | 16 +++++----------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/lib/tvgScene.cpp b/src/lib/tvgScene.cpp index afe67d19..20821211 100644 --- a/src/lib/tvgScene.cpp +++ b/src/lib/tvgScene.cpp @@ -67,4 +67,4 @@ Result Scene::clear(bool free) noexcept pImpl->clear(free); return Result::Success; -} +} \ No newline at end of file diff --git a/src/lib/tvgSceneImpl.h b/src/lib/tvgSceneImpl.h index 9c6c56f3..89c24d67 100644 --- a/src/lib/tvgSceneImpl.h +++ b/src/lib/tvgSceneImpl.h @@ -172,19 +172,13 @@ struct Scene::Impl void clear(bool free) { - //Clear render target before drawing - if (renderer && renderer->clear()) { - for (auto paint = paints.data; paint < (paints.data + paints.count); ++paint) { - (*paint)->pImpl->dispose(*renderer); - } + auto dispose = renderer ? true : false; + + for (auto paint = paints.data; paint < (paints.data + paints.count); ++paint) { + if (dispose) (*paint)->pImpl->dispose(*renderer); + if (free) delete(*paint); renderer = nullptr; } - //free paints - if (free) { - for (auto paint = paints.data; paint < (paints.data + paints.count); ++paint) { - delete(*paint); - } - } paints.clear(); } };