X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fintegration-api%2Fscene.h;h=5258eeccbbfbd5e842e0dfd940346130a05089d8;hb=b067b6f30c7b8cfdaea9c39f7d2375ccb4e7fa81;hp=dcc95b331ab240772ff7d2c27a3a44635b9289b7;hpb=bf6fc85100d083e6b80714eb4d4269d661580396;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/integration-api/scene.h b/dali/integration-api/scene.h index dcc95b3..5258eec 100755 --- a/dali/integration-api/scene.h +++ b/dali/integration-api/scene.h @@ -2,7 +2,7 @@ #define DALI_SCENE_H /* - * Copyright (c) 2019 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 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. @@ -41,7 +41,6 @@ namespace Internal DALI_INTERNAL namespace Integration { -class RenderSurface; struct Event; /** @@ -55,17 +54,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] size The size of the set surface for this scene * * @return a handle to a newly allocated Dali resource. */ - static Scene New( const Size& size ); + static Scene New( Size size ); /** * @brief Downcast an Object handle to Scene handle. @@ -195,23 +195,19 @@ public: Layer GetLayer( uint32_t depth ) const; /** - * @brief Binds the rendering surface to the scene - * - * @return The root layer - */ - void SetSurface( Integration::RenderSurface& surface ); - - /** * @brief Informs the scene that the set surface has been resized. + * + * @param[in] width The new width of the set surface + * @param[in] height The new height of the set surface + * @param[in] orientation The orientation of the surface + * @param[in] forceUpdate The flag to update force */ - void SurfaceResized(); + void SurfaceResized( float width, float height, int orientation, bool forceUpdate ); /** - * @brief Gets the rendering surface bound to the scene - * - * @return The render surface + * @brief Informs the scene that the surface has been replaced. */ - Integration::RenderSurface* GetSurface() const; + void SurfaceReplaced(); /** * @brief Discards this Scene from the Core. @@ -254,6 +250,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). *