/**
* @copydoc Dali::Integration::Scene::New
*/
- static ScenePtr New( const Size& size );
+ static ScenePtr New( Integration::RenderSurface& surface );
/**
* virtual destructor
void SetSurface( Integration::RenderSurface& surface );
/**
+ * Notify the surface has been resized.
+ */
+ void SurfaceResized( bool forceUpdate );
+
+ /**
+ * Notify the surface has been deleted.
+ */
+ void SurfaceDeleted();
+
+ /**
+ * @copydoc Dali::Integration::Scene::Discard
+ */
+ void Discard();
+
+ /**
* Retrieve the render surface the scene is binded to.
* @return The render surface.
*/
void RebuildDepthTree();
/**
- * @brief Sets the background color of the render surface.
+ * @brief Sets the background color of the render surface.
* @param[in] color The new background color
*/
- void SetBackgroundColor(Vector4 color);
+ void SetBackgroundColor( const Vector4& color );
/**
* @brief Gets the background color of the render surface.
void EmitKeyEventSignal(const KeyEvent& event);
/**
+ * Used by the KeyEventProcessor to emit KeyEventGenerated signals.
+ * @param[in] event The key event.
+ * @return The return is true if KeyEvent is consumed, otherwise false.
+ */
+ bool EmitKeyEventGeneratedSignal(const KeyEvent& event);
+
+ /**
* Emits the event processing finished signal.
*
* @see Dali::Scene::SignalEventProcessingFinished()
*/
Integration::Scene::KeyEventSignalType& KeyEventSignal();
+ /**
+ * @copydoc Integration::Scene::KeyEventGeneratedSignal()
+ */
+ Integration::Scene::KeyEventGeneratedSignalType& KeyEventGeneratedSignal();
+
/**
* @copydoc Integration::Scene::SignalEventProcessingFinished()
*/
private:
// Constructor
- Scene( const Size& size );
+ Scene();
/**
* Second-phase constructor.
*/
- void Initialize();
+ void Initialize( Integration::RenderSurface& surface );
// Undefined
Scene(const Scene&) = delete;
private:
Integration::RenderSurface* mSurface;
- // The scene-size may be different with the surface-size
Size mSize;
- Size mSurfaceSize;
Vector2 mDpi;
+ Vector4 mBackgroundColor;
+
+ // The SurfaceOrientation
+ int mSurfaceOrientation;
+
LayerPtr mRootLayer;
// Ordered list of currently on-stage layers
// The key event signal
Integration::Scene::KeyEventSignalType mKeyEventSignal;
+ Integration::Scene::KeyEventGeneratedSignalType mKeyEventGeneratedSignal;
// The event processing finished signal
Integration::Scene::EventProcessingFinishedSignalType mEventProcessingFinishedSignal;