X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fintegration-api%2Fscene.h;h=dca7cbca21434f604c36f7710a38a5342e042856;hb=ce74fc2afd318859452610424a04a8781e2a982a;hp=f1b3059a5c2206492160c272a36fbd5fa4a57a18;hpb=01e3acfab09737f49135fa314a03c2460bcf79dc;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/integration-api/scene.h b/dali/integration-api/scene.h index f1b3059..dca7cbc 100755 --- a/dali/integration-api/scene.h +++ b/dali/integration-api/scene.h @@ -21,6 +21,7 @@ // INTERNAL INCLUDES #include #include +#include namespace Dali { @@ -54,17 +55,18 @@ class DALI_CORE_API Scene : public BaseHandle public: typedef Signal< void () > EventProcessingFinishedSignalType; ///< Event Processing finished signal type typedef Signal< void (const Dali::KeyEvent&) > KeyEventSignalType; ///< Key event signal type + typedef Signal< bool (const Dali::KeyEvent&) > KeyEventGeneratedSignalType; ///< key event generated signal type typedef Signal< void (const Dali::TouchData&) > TouchSignalType; ///< Touch signal type typedef Signal< void (const Dali::WheelEvent&) > WheelEventSignalType; ///< Touched signal type /** * @brief Create an initialized Scene handle. * - * @param[in] size The size of the scene in pixels as a Vector + * @param[in] surface Binds this rendering surface to this scene * * @return a handle to a newly allocated Dali resource. */ - static Scene New( const Size& size ); + static Scene New( Integration::RenderSurface& surface ); /** * @brief Downcast an Object handle to Scene handle. @@ -149,6 +151,20 @@ public: Vector2 GetDpi() const; /** + * @brief Sets the background color. + * + * @param[in] color The new background color + */ + void SetBackgroundColor( const Vector4& color ); + + /** + * @brief Gets the background color of the render surface. + * + * @return The background color + */ + Vector4 GetBackgroundColor() const; + + /** * @brief Retrieves the list of render-tasks. * * @return A valid handle to a RenderTaskList @@ -187,6 +203,11 @@ public: void SetSurface( Integration::RenderSurface& surface ); /** + * @brief Informs the scene that the set surface has been resized. + */ + void SurfaceResized(); + + /** * @brief Gets the rendering surface bound to the scene * * @return The render surface @@ -194,6 +215,11 @@ public: Integration::RenderSurface* GetSurface() const; /** + * @brief Discards this Scene from the Core. + */ + void Discard(); + + /** * @brief Retrieve the Scene that the given actor belongs to. * @return The Scene. */ @@ -229,6 +255,22 @@ public: KeyEventSignalType& KeyEventSignal(); /** + * @brief The user would connect to this signal to get a KeyEvent when KeyEvent is generated. + * + * If the control already consumed key event, KeyEventProcessor do not need to Emit keyEvent. + * Therefore, KeyinputManager first checks whether KeyEvent is generated as KeyEventGeneratedSignal. + * After that keyEventProcessor must invoke KeyEvent only if KeyEventGeneratedSignal () is not consumed. + * + * A callback of the following type may be connected: + * @code + * bool YourCallbackName(const KeyEvent& event); + * @endcode + * + * @return The return is true if KeyEvent is consumed, otherwise false. + */ + KeyEventGeneratedSignalType& KeyEventGeneratedSignal(); + + /** * @brief This signal is emitted when the screen is touched and when the touch ends * (i.e. the down & up touch events only). *