X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fevent%2Fevents%2Ftouch-event-processor.h;h=75849aecf850e26e08ca30de2fdc8bfd87967a65;hb=d7775bfee328210d5b7300caf0fccfc2ec3dc2e8;hp=9306e6fa8b071edf330c45e4d8ab0c827aa412e1;hpb=a6b549276b923900f5e3522808f6bfd7a459aa76;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/event/events/touch-event-processor.h b/dali/internal/event/events/touch-event-processor.h index 9306e6f..75849ae 100644 --- a/dali/internal/event/events/touch-event-processor.h +++ b/dali/internal/event/events/touch-event-processor.h @@ -2,7 +2,7 @@ #define DALI_INTERNAL_TOUCH_EVENT_PROCESSOR_H /* - * Copyright (c) 2020 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,10 +21,10 @@ // INTERNAL INCLUDES #include #include +#include namespace Dali { - class Actor; struct Vector2; struct Vector4; @@ -36,7 +36,6 @@ struct TouchEvent; namespace Internal { - class Actor; class Scene; struct ActorObserver; @@ -52,12 +51,11 @@ struct ActorObserver; class TouchEventProcessor { public: - /** * Create an event processor. * @param[in] scene The scene the event processor belongs to. */ - TouchEventProcessor( Scene& scene ); + TouchEventProcessor(Scene& scene); /** * Non-virtual destructor; TouchEventProcessor is not a base class @@ -67,11 +65,11 @@ public: /** * This function is called by the event processor whenever a touch event occurs. * @param[in] event The touch event that has occurred. + * @return true if consumed */ - void ProcessTouchEvent( const Integration::TouchEvent& event ); + bool ProcessTouchEvent(const Integration::TouchEvent& event); private: - // Undefined TouchEventProcessor(const TouchEventProcessor&); @@ -79,7 +77,6 @@ private: TouchEventProcessor& operator=(const TouchEventProcessor& rhs); private: - Scene& mScene; ///< Used to deliver touch events /** @@ -87,13 +84,20 @@ private: * * @param[in] actor The actor that has been disconnected. */ - void OnObservedActorDisconnected( Actor* 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 + /** + * Clears the value. + */ + void Clear(); + + 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 mOwnTouchActor; ///< Stored the actor that own 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 }; } // namespace Internal