*
* @return a handle to a newly allocated Dali resource.
*/
- static Scene New(Size size, int orientation = 0);
+ static Scene New(Size size, int32_t orientation = 0);
/**
* @brief Downcast an Object handle to Scene handle.
*
* @note A callback of the following type may be used:
* @code
- * void MyFunction( int frameId );
+ * void MyFunction( int32_t frameId );
* @endcode
* This callback will be deleted once it is called.
*
*
* @note A callback of the following type may be used:
* @code
- * void MyFunction( int frameId );
+ * void MyFunction( int32_t frameId );
* @endcode
* This callback will be deleted once it is called.
*
* @param[in] height The height of rotated surface
* @param[in] orientation The orientation of rotated surface
*/
- void SurfaceRotated(float width, float height, int orientation);
+ void SurfaceRotated(float width, float height, int32_t orientation);
+
+ /**
+ * @brief Gets the current surface orientation. It gets the value from the scene object.
+ *
+ * @return The current surface orientation.
+ */
+ int32_t GetCurrentSurfaceOrientation() const;
+
+ /**
+ * @brief Gets the current surface rectangle. It gets the value from the scene object.
+ *
+ * @return The current surface rectangle
+ */
+ const Rect<int32_t>& GetCurrentSurfaceRect() const;
/**
* Query wheter the surface rect is changed or not.
bool IsSurfaceRectChanged() const;
/**
+ * @brief Send message to acknowledge for completing window rotation with current window orientation.
+ *
+ * If this function is called, the message is sent to render thread, then mSurfaceRectChanged in scene-graph-scene is set with true.
+ * After that, render thread checks whether window rotation event is received, mSurfaceRectChanged and the neccessary flag are set.
+ * If they are all true, rotation done function is called to complete window rotation.
+ */
+ void SetRotationCompletedAcknowledgement();
+
+ /**
+ * @brief Query wheter is set to acknowledge for completing surface rotation.
+ * @return true it should be acknowledged.
+ *
+ * If SetRotationCompletedAcknowledgement() is called and the related message is received to scene-graph-scene,
+ * then mSurfaceRectChanged in scene-graph-scene is set with true.
+ *
+ * When this function is called, the mSurfaceRectChanged in scene-graph-scene is return.
+ * Then, the flag will be reset.
+ *
+ * @note This function should be not called the application's main thread.
+ * Because this function should be called in windwow surface's postrender() function to complete window rotation manually.
+ */
+ bool IsRotationCompletedAcknowledgementSet() const;
+
+ /**
* @brief This signal is emitted just after the event processing is finished.
*
* @return The signal to connect to