[ATSPI] Add CalculateScreenExtents function
[platform/core/uifw/dali-core.git] / dali / internal / event / actors / actor-impl.h
index 8533e0a..53fe06a 100755 (executable)
@@ -54,6 +54,7 @@ class ActorGestureData;
 class Animation;
 class RenderTask;
 class Renderer;
+class Scene;
 
 typedef std::vector< ActorPtr > ActorContainer;
 typedef ActorContainer::iterator ActorIter;
@@ -249,6 +250,13 @@ public:
   }
 
   /**
+   * Calculates screen position and size.
+   *
+   * @return pair of two values, position of top-left corner on screen and size respectively.
+   */
+  Rect<> CalculateScreenExtents( ) const;
+
+  /**
    * Sets the size of an actor.
    * This does not interfere with the actors scale factor.
    * @param [in] width  The new width.
@@ -469,16 +477,6 @@ public:
   const Vector3& GetCurrentWorldPosition() const;
 
   /**
-   * @copydoc Dali::Actor::SetPositionInheritanceMode()
-   */
-  void SetPositionInheritanceMode( PositionInheritanceMode mode );
-
-  /**
-   * @copydoc Dali::Actor::GetPositionInheritanceMode()
-   */
-  PositionInheritanceMode GetPositionInheritanceMode() const;
-
-  /**
    * @copydoc Dali::Actor::SetInheritPosition()
    */
   void SetInheritPosition( bool inherit );
@@ -1715,6 +1713,20 @@ public:
    */
   void LowerBelow( Internal::Actor& target );
 
+public:
+
+  /**
+   * Sets the scene which this actor is added to.
+   * @param[in] scene The scene
+   */
+  void SetScene( Scene& scene );
+
+  /**
+   * Gets the scene which this actor is added to.
+   * @return The scene
+   */
+  Scene& GetScene() const;
+
 private:
 
   struct SendMessage
@@ -1923,6 +1935,8 @@ private:
 
 protected:
 
+  Scene* mScene;                  ///< The scene the actor is added to
+
   Actor* mParent;                 ///< Each actor (except the root) can have one parent
   ActorContainer* mChildren;      ///< Container of referenced actors, lazily initialized
   RendererContainer* mRenderers;   ///< Renderer container
@@ -1978,7 +1992,6 @@ protected:
   bool mInheritLayoutDirection                     : 1; ///< Whether the actor inherits the layout direction from parent.
   LayoutDirection::Type mLayoutDirection           : 2; ///< Layout direction, Left to Right or Right to Left.
   DrawMode::Type mDrawMode                         : 3; ///< Cached: How the actor and its children should be drawn
-  PositionInheritanceMode mPositionInheritanceMode : 3; ///< Cached: Determines how position is inherited
   ColorMode mColorMode                             : 3; ///< Cached: Determines whether mWorldColor is inherited
   ClippingMode::Type mClippingMode                 : 3; ///< Cached: Determines which clipping mode (if any) to use.