{
enum Reasons
{
- NOT_REQUESTED = 0x00, ///< Zero means that no further updates are required
- STAGE_KEEP_RENDERING = 0x01, ///< - Stage::KeepRendering() is being used
- INCOMING_MESSAGES = 0x02, ///< - Event-thread is sending messages to update-thread
- ANIMATIONS_RUNNING = 0x04, ///< - Animations are ongoing
- DYNAMICS_CHANGED = 0x08, ///< - A dynamics simulation is running
- LOADING_RESOURCES = 0x10, ///< - Resources are being loaded
- MONITORING_PERFORMANCE = 0x20, ///< - The --enable-performance-monitor option is being used
- RENDER_TASK_SYNC = 0x40 ///< - A render task is waiting for render sync
+ NOT_REQUESTED = 0, ///< Zero means that no further updates are required
+ STAGE_KEEP_RENDERING = 1<<1, ///< - Stage::KeepRendering() is being used
+ ANIMATIONS_RUNNING = 1<<2, ///< - Animations are ongoing
+ MONITORING_PERFORMANCE = 1<<3, ///< - The --enable-performance-monitor option is being used
+ RENDER_TASK_SYNC = 1<<4 ///< - A render task is waiting for render sync
};
}
* Constructor
*/
RenderStatus()
- : needsUpdate(false),
- hasRendered(false)
+ : needsUpdate(false)
{
}
*/
bool NeedsUpdate() { return needsUpdate; }
- /**
- * Set whether there were new render instructions.
- */
- void SetHasRendered(bool rendered) { hasRendered = rendered; }
-
- /**
- * Query whether there were new render instructions.
- * @return true if there were render instructions
- */
- bool HasRendered() { return hasRendered; }
-
private:
bool needsUpdate;
- bool hasRendered;
};
/**
*/
void SurfaceResized(unsigned int width, unsigned int height);
+ /**
+ * Notify the Core about the top margin size.
+ * Available stage size is reduced by this size.
+ * The stage is located below the size at the top of the display
+ * It is mainly useful for indicator in mobile device
+ * @param[in] margin margin size
+ */
+ void SetTopMargin( unsigned int margin );
+
// Core setters
/**
void Resume();
/**
+ * Notify Core that the scene has been created.
+ */
+ void SceneCreated();
+
+ /**
* Queue an event with Core.
* Pre-processing of events may be beneficial e.g. a series of motion events could be throttled, so that only the last event is queued.
* Multi-threading note: this method should be called from the main thread.
void ProcessEvents();
/**
- * Update external raw touch data in core.
- * The core will use the touch data to generate Dali Touch/Gesture events for applications to use
- * in the update thread.
- * @param[in] touch The raw touch data.
- * @note This can be called from either the event thread OR a dedicated touch thread.
- */
- void UpdateTouchData(const TouchData& touch);
-
- /**
* The Core::Update() method prepares a frame for rendering. This method determines how many frames
* may be prepared, ahead of the rendering.
* For example if the maximum update count is 2, then Core::Update() for frame N+1 may be processed