[dali_2.3.29] Merge branch 'devel/master'
[platform/core/uifw/dali-core.git] / dali / devel-api / actors / actor-devel.h
index 5120f54..ed0776d 100644 (file)
@@ -192,7 +192,21 @@ enum Type
    * @details Name "useTextureUpdateArea", type Property::BOOLEAN
    * @note Default is false. If this set true, the value of Actor::Property::UPDATE_AREA_HINT is ignored and we assume the sizes of the actor and the texture are same.
    */
-  USE_TEXTURE_UPDATE_AREA
+  USE_TEXTURE_UPDATE_AREA,
+
+  /**
+   * @brief Whether to send touch motion events or not.
+   * @details Name "dispatchTouchMotion", type Property::BOOLEAN
+   * @note Default is true.
+   */
+  DISPATCH_TOUCH_MOTION,
+
+  /**
+   * @brief Whether to send hover motion events or not.
+   * @details Name "dispatchHoverMotion", type Property::BOOLEAN
+   * @note Default is true.
+   */
+  DISPATCH_HOVER_MOTION
 };
 
 } // namespace Property
@@ -235,11 +249,10 @@ DALI_CORE_API Vector2 CalculateScreenPosition(Actor actor);
 
 /**
  * Calculates screen position and size.
- * TODO : The name of this API might be changed as "CalculateScreenExtents" after depended repo changed.
  *
  * @return pair of two values, position of top-left corner on screen and size respectively.
  */
-DALI_CORE_API Rect<> CalculateScreenExtentsAtEvent(Actor actor);
+DALI_CORE_API Rect<> CalculateScreenExtents(Actor actor);
 
 /**
  * Calculates screen position and size from the scene-graph values.
@@ -251,8 +264,6 @@ DALI_CORE_API Rect<> CalculateScreenExtentsAtEvent(Actor actor);
  */
 DALI_CORE_API Rect<> CalculateCurrentScreenExtents(Actor actor);
 
-DALI_CORE_API Rect<> CalculateScreenExtents(Actor actor); ///< TODO : Remove this API
-
 using ChildChangedSignalType = Signal<void(Actor)>; ///< Called when the actor has a child added or removed
 
 /**
@@ -495,6 +506,23 @@ DALI_CORE_API Vector4 GetWorldColor(Actor actor);
  */
 DALI_CORE_API void LookAt(Actor actor, Vector3 target, Vector3 up = Vector3::YAXIS, Vector3 localForward = Vector3::ZAXIS, Vector3 localUp = Vector3::YAXIS);
 
+/**
+ * Query whether the actor is actually hittable.  This method checks whether the actor is
+ * sensitive, has the visibility flag set to true and is not fully transparent.
+ *
+ * @param[in] actor The actor for whether is hittable or not
+ * @return true, if it can be hit, false otherwise.
+ */
+DALI_CORE_API bool IsHittable(Actor actor);
+
+/**
+ * Query whether the application or derived actor type requires touch events.
+ *
+ * @param[in] actor The actor for whether is required for touch event or not.
+ * @return True if touch events are required.
+ */
+DALI_CORE_API bool GetTouchRequired(Actor actor);
+
 } // namespace DevelActor
 
 } // namespace Dali