[Tizen] Implement partial update
[platform/core/uifw/dali-core.git] / dali / devel-api / actors / actor-devel.h
old mode 100644 (file)
new mode 100755 (executable)
index 879742d..af3d4c5
@@ -2,7 +2,7 @@
 #define DALI_ACTOR_DEVEL_H
 
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 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.
@@ -20,6 +20,7 @@
 
 // INTERNAL INCLUDES
 #include <dali/public-api/actors/actor.h>
+#include <dali/public-api/math/rect.h>
 
 namespace Dali
 {
@@ -73,7 +74,7 @@ enum Type
   INHERIT_ORIENTATION         = Dali::Actor::Property::INHERIT_ORIENTATION,
   INHERIT_SCALE               = Dali::Actor::Property::INHERIT_SCALE,
   COLOR_MODE                  = Dali::Actor::Property::COLOR_MODE,
-  POSITION_INHERITANCE        = Dali::Actor::Property::POSITION_INHERITANCE,
+  RESERVED_PROPERTY_01        = Dali::Actor::Property::RESERVED_PROPERTY_01,
   DRAW_MODE                   = Dali::Actor::Property::DRAW_MODE,
   SIZE_MODE_FACTOR            = Dali::Actor::Property::SIZE_MODE_FACTOR,
   WIDTH_RESIZE_POLICY         = Dali::Actor::Property::WIDTH_RESIZE_POLICY,
@@ -108,6 +109,7 @@ enum Type
    * @brief Returns the screen position of the Actor
    * @details Name "screenPosition", type Property::VECTOR2. Read-only
    * @note This assumes default camera and default render-task and the Z position is ZERO.
+   * @note The last known frame is used for the calculation. May not match a position value just set.
    */
   SCREEN_POSITION = INHERIT_LAYOUT_DIRECTION + 3,
 
@@ -119,6 +121,20 @@ enum Type
    * @note Setting this to false will allow scaling or rotation around the anchor-point without affecting the actor's position.
    */
   POSITION_USES_ANCHOR_POINT = INHERIT_LAYOUT_DIRECTION + 4,
+
+  /**
+   * @brief Returns whether the actor is culled or not.
+   * @details Name "culled", type Property::BOOLEAN. Read-only
+   * @note True means that the actor is out of the view frustum.
+   */
+  CULLED = INHERIT_LAYOUT_DIRECTION + 5,
+
+  /**
+   * @brief Sets the update size hint of the actor.
+   * @details Name "updateSizeHint", type Property::VECTOR2.
+   * @note When this value is set, the update area is determined by this value when a partial update.
+   */
+  UPDATE_SIZE_HINT = INHERIT_LAYOUT_DIRECTION + 6,
 };
 
 } // namespace Property
@@ -152,6 +168,14 @@ typedef Signal< void ( Actor, bool, VisibilityChange::Type ) > VisibilityChanged
  */
 DALI_CORE_API VisibilityChangedSignalType& VisibilityChangedSignal( Actor actor );
 
+/**
+ * Calculates screen position and size.
+ *
+ * @return pair of two values, position of top-left corner on screen and size respectively.
+ */
+DALI_CORE_API Rect<> CalculateScreenExtents( Actor actor );
+
+
 
 typedef Signal< void (Actor) > ChildChangedSignalType; ///< Called when the actor has a child added or removed