X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fevent%2Factors%2Flayer-impl.h;h=d65ee7c932d3b6dedc2fc611fbde65d34fefbf02;hb=a90430c985c5eaf80427628a12ace2cf70949f53;hp=0e97f3ae061738968b4304d2e07b11327d3a9895;hpb=7882128f66bc91dbca9573caddd312115be440c4;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/event/actors/layer-impl.h b/dali/internal/event/actors/layer-impl.h index 0e97f3a..d65ee7c 100644 --- a/dali/internal/event/actors/layer-impl.h +++ b/dali/internal/event/actors/layer-impl.h @@ -1,8 +1,8 @@ -#ifndef __DALI_INTERNAL_LAYER_H__ -#define __DALI_INTERNAL_LAYER_H__ +#ifndef DALI_INTERNAL_LAYER_H +#define DALI_INTERNAL_LAYER_H /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2024 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. @@ -19,30 +19,27 @@ */ // INTERNAL INCLUDES -#include -#include #include +#include +#include namespace Dali { - namespace Internal { - class LayerList; namespace SceneGraph { class UpdateManager; class Layer; -} +} // namespace SceneGraph -typedef Dali::ClippingBox ClippingBox; +using ClippingBox = Dali::ClippingBox; -class Layer : public Actor +class Layer : public Actor, public ConnectionTracker { public: - /** * @copydoc Dali::Layer::ZValue(const Vector3&, float) * @@ -69,16 +66,14 @@ public: /** * Create a new root layer; this is typically owned by the stage. * @param[in] layerList The layer will be added to this ordered list. - * @param[in] manager The update manager to install a root node with. - * @param[in] systemLevel True if using the SystemOverlay API; see Integration::GetSystemOverlay() for more details. * @return A smart-pointer to the newly allocated Actor. */ - static LayerPtr NewRoot( LayerList& layerList, SceneGraph::UpdateManager& manager, bool systemLevel ); + static LayerPtr NewRoot(LayerList& layerList); /** * @copydoc Dali::Internal::Actor::OnInitialize */ - void OnInitialize(); + void OnInitialize() override; /** * Query the current depth of the layer @@ -98,12 +93,12 @@ public: /** * @copydoc Dali::Layer::RaiseAbove */ - void RaiseAbove( const Internal::Layer& target ); + void RaiseAbove(const Internal::Layer& target); /** * @copydoc Dali::Layer::LowerBelow */ - void LowerBelow( const Internal::Layer& target ); + void LowerBelow(const Internal::Layer& target); /** * @copydoc Dali::Layer::RaiseToTop @@ -118,12 +113,12 @@ public: /** * @copydoc Dali::Layer::MoveAbove */ - void MoveAbove( const Internal::Layer& target ); + void MoveAbove(const Internal::Layer& target); /** * @copydoc Dali::Layer::MoveAbove */ - void MoveBelow( const Internal::Layer& target ); + void MoveBelow(const Internal::Layer& target); /** * @copydoc Dali::Layer::SetClipping() @@ -154,7 +149,7 @@ public: /** * @copydoc Dali::Layer::SetBehavior() */ - void SetBehavior( Dali::Layer::Behavior behavior ); + void SetBehavior(Dali::Layer::Behavior behavior); /** * @copydoc Dali::Layer::GetBehavior() @@ -167,7 +162,7 @@ public: /** * @copydoc Dali::Layer::SetDepthTestDisabled() */ - void SetDepthTestDisabled( bool disable ); + void SetDepthTestDisabled(bool disable); /** * @copydoc Dali::Layer::IsDepthTestDisabled() @@ -182,7 +177,7 @@ public: /** * @copydoc Dali::Layer::SetTouchConsumed() */ - void SetTouchConsumed( bool consume ); + void SetTouchConsumed(bool consume); /** * @copydoc Dali::Layer::IsTouchConsumed() @@ -192,7 +187,7 @@ public: /** * @copydoc Dali::Layer::SetHoverConsumed() */ - void SetHoverConsumed( bool consume ); + void SetHoverConsumed(bool consume); /** * @copydoc Dali::Layer::IsHoverConsumed() @@ -201,10 +196,10 @@ public: /** * Helper function to get the scene object. - * This should only be called by Stage + * * @return the scene object for the layer. */ - const SceneGraph::Layer& GetSceneLayerOnStage() const; + const SceneGraph::Layer& GetSceneGraphLayer() const; /** * @copydoc Dali::Internal::Actor::DoAction() @@ -213,101 +208,66 @@ public: public: // Default property extensions from Object /** - * @copydoc Dali::Internal::Object::GetDefaultPropertyCount() - */ - virtual unsigned int GetDefaultPropertyCount() const; - - /** - * @copydoc Dali::Internal::Object::GetDefaultPropertyIndices() - */ - virtual void GetDefaultPropertyIndices( Property::IndexContainer& indices ) const; - - /** - * @copydoc Dali::Internal::Object::GetDefaultPropertyName() - */ - virtual const char* GetDefaultPropertyName(Property::Index index) const; - - /** - * @copydoc Dali::Internal::Object::GetDefaultPropertyIndex() - */ - virtual Property::Index GetDefaultPropertyIndex(const std::string& name) const; - - /** - * @copydoc Dali::Internal::Object::IsDefaultPropertyWritable() - */ - virtual bool IsDefaultPropertyWritable(Property::Index index) const; - - /** - * @copydoc Dali::Internal::Object::IsDefaultPropertyAnimatable() - */ - virtual bool IsDefaultPropertyAnimatable(Property::Index index) const; - - /** - * @copydoc Dali::Internal::Object::IsDefaultPropertyAConstraintInput() - */ - virtual bool IsDefaultPropertyAConstraintInput( Property::Index index ) const; - - /** - * @copydoc Dali::Internal::Object::GetDefaultPropertyType() + * @copydoc Dali::Internal::Object::SetDefaultProperty() */ - virtual Property::Type GetDefaultPropertyType(Property::Index index) const; + void SetDefaultProperty(Property::Index index, const Property::Value& propertyValue) override; /** - * @copydoc Dali::Internal::Object::SetDefaultProperty() + * @copydoc Dali::Internal::Object::GetDefaultProperty() */ - virtual void SetDefaultProperty(Property::Index index, const Property::Value& propertyValue); + Property::Value GetDefaultProperty(Property::Index index) const override; /** * @copydoc Dali::Internal::Object::GetDefaultProperty() */ - virtual Property::Value GetDefaultProperty( Property::Index index ) const; + Property::Value GetDefaultPropertyCurrentValue(Property::Index index) const override; protected: - /** * Construct a new layer. * @param[in] type Either Actor::LAYER or Actor::ROOT_LAYER if this is the root actor. + * @param[in] layer the scene graph layer */ - Layer( Actor::DerivedType type ); + Layer(Actor::DerivedType type, const SceneGraph::Layer& layer); /** * A reference counted object may only be deleted by calling Unreference() */ - virtual ~Layer(); + ~Layer() override; private: // From Actor - - /** - * From Actor; create a node to represent the layer in the scene-graph. - * @return A newly allocated layer node. - */ - virtual SceneGraph::Node* CreateNode() const; - /** * From Actor. */ - virtual void OnStageConnectionInternal(); + void OnSceneConnectionInternal() override; /** * From Actor. */ - virtual void OnStageDisconnectionInternal(); + void OnSceneDisconnectionInternal() override; private: + /** + * @brief Callback when Layer is touched + * + * @param[in] actor Layer touched + * @param[in] touch Touch information + * @return True if the touch is consumed. + */ + bool OnTouched(Dali::Actor actor, const Dali::TouchEvent& touch); - LayerList* mLayerList; ///< Only valid when layer is on-stage + LayerList* mLayerList; ///< Only valid when layer is on-scene // These properties not animatable; the actor side has the most up-to-date values - ClippingBox mClippingBox; ///< The clipping box, in window coordinates - Dali::Layer::SortFunctionType mSortFunction; ///< Used to sort semi-transparent geometry + ClippingBox mClippingBox; ///< The clipping box, in window coordinates + Dali::Layer::SortFunctionType mSortFunction; ///< Used to sort semi-transparent geometry - Dali::Layer::Behavior mBehavior; ///< Behavior of the layer - - bool mIsClipping:1; ///< True when clipping is enabled - bool mDepthTestDisabled:1; ///< Whether depth test is disabled. - bool mTouchConsumed:1; ///< Whether we should consume touch (including gesture). - bool mHoverConsumed:1; ///< Whether we should consume hover. + Dali::Layer::Behavior mBehavior; ///< Behavior of the layer + bool mIsClipping : 1; ///< True when clipping is enabled + bool mDepthTestDisabled : 1; ///< Whether depth test is disabled. + bool mTouchConsumed : 1; ///< Whether we should consume touch (including gesture). + bool mHoverConsumed : 1; ///< Whether we should consume hover. }; } // namespace Internal @@ -334,5 +294,4 @@ inline const Internal::Layer& GetImplementation(const Dali::Layer& layer) } // namespace Dali - -#endif //__DALI_INTERNAL_LAYER_H__ +#endif // DALI_INTERNAL_LAYER_H