/**
* The reasons why further updates are required.
*/
-namespace KeepUpdating DALI_IMPORT_API
+namespace KeepUpdating
{
- extern const unsigned int NOT_REQUESTED; ///< Zero means that no further updates are required
-
- // Bit-field values
- extern const unsigned int STAGE_KEEP_RENDERING; ///< 0x01 - Stage::KeepRendering() is being used
- extern const unsigned int INCOMING_MESSAGES; ///< 0x02 - Event-thread is sending messages to update-thread
- extern const unsigned int ANIMATIONS_RUNNING; ///< 0x04 - Animations are ongoing
- extern const unsigned int DYNAMICS_CHANGED; ///< 0x08 - A dynamics simulation is running
- extern const unsigned int LOADING_RESOURCES; ///< 0x10 - Resources are being loaded
- extern const unsigned int MONITORING_PERFORMANCE; ///< 0x20 - The --enable-performance-monitor option is being used
- extern const unsigned int RENDER_TASK_SYNC; ///< 0x40 - A render task is waiting for render sync
+enum Reasons
+{
+ 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
};
+}
/**
* The status of the Core::Update operation.
* 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