{
class Actor;
-class KeyEvent;
+struct KeyEvent;
class Layer;
class RenderTaskList;
class TouchData;
-class WheelEvent;
+struct WheelEvent;
namespace Internal DALI_INTERNAL
{
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
* @pre The actor has been initialized.
* @pre The actor does not have a parent.
*/
- void Add(Actor& actor);
+ void Add(Actor actor);
/**
* @brief Removes a child Actor from the Scene.
* @param[in] actor The child
* @pre The actor has been added to the stage.
*/
- void Remove(Actor& actor);
+ void Remove(Actor actor);
/**
* @brief Returns the size of the Scene in pixels as a Vector.
Integration::RenderSurface* GetSurface() const;
/**
+ * @brief Retrieve the Scene that the given actor belongs to.
+ * @return The Scene.
+ */
+ static Integration::Scene Get( Actor actor );
+
+ /**
* This function is called when an event is queued.
* @param[in] event A event to queue.
*/
KeyEventSignalType& KeyEventSignal();
/**
+ * @brief The user would connect to this signal to get a KeyEvent when KeyEvent is generated.
+ *
+ * @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).
*