X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fintegration-api%2Fscene.h;h=0d8d0445a9714b7d92f25819351c64e010efd2df;hb=6015fb49e97568a7c1c664d103527a61a484d58a;hp=0e4dbbda4d130ef5cab121469a0af650b87ed477;hpb=9782dbc189818145d565164c78c09269348c0e77;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/integration-api/scene.h b/dali/integration-api/scene.h index 0e4dbbd..0d8d044 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( bool forceUpdate ); + + /** * @brief Gets the rendering surface bound to the scene * * @return The render surface @@ -234,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). *