From 623a1840c18a43007e6af59719002b0bd921d703 Mon Sep 17 00:00:00 2001 From: skyjake Date: Sun, 9 Jun 2013 18:46:54 +0300 Subject: [PATCH] Refactor|libdeng2|RuleRectangle: No need to have a public Clock observer --- .../include/de/widgets/rulerectangle.h | 5 +--- .../libdeng2/src/widgets/rulerectangle.cpp | 26 ++++++++++--------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/doomsday/libdeng2/include/de/widgets/rulerectangle.h b/doomsday/libdeng2/include/de/widgets/rulerectangle.h index 3ce0ea9372..bc434fa044 100644 --- a/doomsday/libdeng2/include/de/widgets/rulerectangle.h +++ b/doomsday/libdeng2/include/de/widgets/rulerectangle.h @@ -39,7 +39,7 @@ namespace de { * * @ingroup widgets */ -class DENG2_PUBLIC RuleRectangle : DENG2_OBSERVES(Clock, TimeChange) +class DENG2_PUBLIC RuleRectangle { public: RuleRectangle(); @@ -100,9 +100,6 @@ class DENG2_PUBLIC RuleRectangle : DENG2_OBSERVES(Clock, TimeChange) */ Rectanglei recti() const; -protected: - void timeChanged(Clock const &); - private: DENG2_PRIVATE(d) }; diff --git a/doomsday/libdeng2/src/widgets/rulerectangle.cpp b/doomsday/libdeng2/src/widgets/rulerectangle.cpp index fe1543bee8..bbe170d9ef 100644 --- a/doomsday/libdeng2/src/widgets/rulerectangle.cpp +++ b/doomsday/libdeng2/src/widgets/rulerectangle.cpp @@ -24,7 +24,9 @@ namespace de { -DENG2_PIMPL_NOREF(RuleRectangle), public DelegateRule::ISource +DENG2_PIMPL_NOREF(RuleRectangle), +DENG2_OBSERVES(Clock, TimeChange), +public DelegateRule::ISource { // Internal identifiers for the output rules. enum OutputIds @@ -316,6 +318,16 @@ DENG2_PIMPL_NOREF(RuleRectangle), public DelegateRule::ISource break; } } + + void timeChanged(Clock const &clock) + { + invalidateOutputs(); + + if(normalizedAnchorPoint.done()) + { + clock.audienceForTimeChange -= this; + } + } }; RuleRectangle::RuleRectangle() : d(new Instance) @@ -405,17 +417,7 @@ void RuleRectangle::setAnchorPoint(Vector2f const &normalizedPoint, TimeDelta co if(transition > 0.0) { // Animation started, keep an eye on the clock until it ends. - Clock::appClock().audienceForTimeChange += this; - } -} - -void RuleRectangle::timeChanged(Clock const &clock) -{ - d->invalidateOutputs(); - - if(d->normalizedAnchorPoint.done()) - { - clock.audienceForTimeChange -= this; + Clock::appClock().audienceForTimeChange += d; } }