- struct ActorObserver : public ProxyObject::Observer
- {
- public:
-
- // Construction & Destruction
-
- /**
- * Constructor.
- */
- ActorObserver();
-
- /**
- * Non virtual destructor
- */
- ~ActorObserver();
-
- // Methods
-
- /**
- * Return the stored Actor pointer.
- * @return The Actor pointer.
- */
- Actor* GetActor();
-
- /**
- * Assignment operator.
- * This disconnects the required signals from the currently set actor and connects to the required
- * signals for the the actor specified (if set).
- */
- void SetActor( Actor* actor );
-
- /**
- * Resets the set actor and disconnects any connected signals.
- */
- void ResetActor();
-
- private:
-
- // Undefined
- ActorObserver( const ActorObserver& );
- ActorObserver& operator=( const ActorObserver& );
-
- private:
-
- /**
- * This will never get called as we do not observe objects that have not been added to the scene.
- * @param[in] proxy The proxy object.
- * @see ProxyObject::Observer::SceneObjectAdded()
- */
- virtual void SceneObjectAdded(ProxyObject& proxy) { }
-
- /**
- * This will be called when the actor is removed from the stage, we should clear and stop
- * observing it.
- * @param[in] proxy The proxy object.
- * @see ProxyObject::Observer::SceneObjectRemoved()
- */
- virtual void SceneObjectRemoved(ProxyObject& proxy);
-
- /**
- * This will be called when the actor is destroyed. We should clear the actor.
- * No need to stop observing as the object is being destroyed anyway.
- * @see ProxyObject::Observer::ProxyDestroyed()
- */
- virtual void ProxyDestroyed(ProxyObject& proxy);
-
- private:
- Actor* mActor; ///< Raw pointer to an Actor.
- bool mActorDisconnected; ///< Indicates whether the actor has been disconnected from the scene
- };
-
- Stage& mStage; ///< Used to deliver touch events
- ActorObserver mLastPrimaryHitActor; ///< Stores the last primary point hit actor
- ActorObserver mLastConsumedActor; ///< Stores the last consumed actor
- Dali::RenderTask mLastRenderTask; ///< The RenderTask used for the last hit actor
+ void OnObservedActorDisconnected(Actor* actor);
+
+ ActorObserver mLastPrimaryHitActor; ///< Stores the last primary point hit actor
+ ActorObserver mLastConsumedActor; ///< Stores the last consumed actor
+ ActorObserver mCapturingTouchActor; ///< Stored the actor that captures touch
+ ActorObserver mTouchDownConsumedActor; ///< Stores the touch-down consumed actor
+ RenderTaskPtr mLastRenderTask; ///< The RenderTask used for the last hit actor
+ PointState::Type mLastPrimaryPointState; ///< Stores the last primary point state