From 9c552215ab54e5372ef54b1b324d0505a1b19315 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Mon, 12 Jul 2021 18:42:52 +0300 Subject: [PATCH] Added ability to pass animation type to SlideWrap. --- ui/wrap/slide_wrap.cpp | 7 ++++--- ui/wrap/slide_wrap.h | 10 +++++++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ui/wrap/slide_wrap.cpp b/ui/wrap/slide_wrap.cpp index cfc8f4c..8075c5b 100644 --- a/ui/wrap/slide_wrap.cpp +++ b/ui/wrap/slide_wrap.cpp @@ -80,11 +80,12 @@ SlideWrap *SlideWrap::finishAnimating() { } SlideWrap *SlideWrap::toggleOn( - rpl::producer &&shown) { + rpl::producer &&shown, + anim::type animated) { std::move( shown - ) | rpl::start_with_next([this](bool shown) { - toggle(shown, anim::type::normal); + ) | rpl::start_with_next([=](bool shown) { + toggle(shown, animated); }, lifetime()); finishAnimating(); return this; diff --git a/ui/wrap/slide_wrap.h b/ui/wrap/slide_wrap.h index 32d4475..d972d7f 100644 --- a/ui/wrap/slide_wrap.h +++ b/ui/wrap/slide_wrap.h @@ -39,7 +39,9 @@ public: return toggle(false, animated); } SlideWrap *finishAnimating(); - SlideWrap *toggleOn(rpl::producer &&shown); + SlideWrap *toggleOn( + rpl::producer &&shown, + anim::type animated = anim::type::normal); bool animating() const { return _animation.animating(); @@ -104,8 +106,10 @@ public: SlideWrap *finishAnimating() { return chain(Parent::finishAnimating()); } - SlideWrap *toggleOn(rpl::producer &&shown) { - return chain(Parent::toggleOn(std::move(shown))); + SlideWrap *toggleOn( + rpl::producer &&shown, + anim::type animated = anim::type::normal) { + return chain(Parent::toggleOn(std::move(shown), animated)); } private: