Merge "[3.0] Added sibling order property to Actor" into tizen_3.0
[platform/core/uifw/dali-core.git] / dali / integration-api / core.h
index 2a2fbb0..19693d8 100644 (file)
@@ -49,19 +49,18 @@ struct TouchData;
 /**
  * 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
+  LOADING_RESOURCES       = 1<<3, ///< - Resources are being loaded
+  MONITORING_PERFORMANCE  = 1<<4, ///< - The --enable-performance-monitor option is being used
+  RENDER_TASK_SYNC        = 1<<5  ///< - A render task is waiting for render sync
 };
+}
 
 /**
  * The status of the Core::Update operation.
@@ -120,8 +119,7 @@ public:
    * Constructor
    */
   RenderStatus()
-  : needsUpdate(false),
-    hasRendered(false)
+  : needsUpdate(false)
   {
   }
 
@@ -138,21 +136,9 @@ public:
    */
   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;
 };
 
 /**
@@ -269,6 +255,15 @@ public:
    */
   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
 
   /**
@@ -303,6 +298,11 @@ public:
   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.
@@ -318,15 +318,6 @@ public:
   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