Stop using ImageActor in PageTurnView
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / controls / page-turn-view / page-factory.h
index c0d09a2..16bfdca 100644 (file)
@@ -28,93 +28,54 @@ namespace Toolkit
 {
 
 /**
- * PageFactory is an abstract interface for providing image actors to PageTurnView
- * Each image actor is identified by a unique ID, and has a linear order from 0 to GetNumberOfPages()-1
+ * @brief PageFactory is an abstract interface for providing image actors to PageTurnView
+ * Each page is identified by a unique ID, and has a linear order from 0 to GetNumberOfPages()-1
+ *
+ * @SINCE_1_1.4
  */
 class DALI_IMPORT_API PageFactory
 {
 public:
-  // Property Names
-  static const std::string ACTOR_HITTABLE; ///< name "actor-hittable", type bool
-
-public:
-
-  /**
-   * Constructor
-   * By default, the off screen rendering is disabled
-   * Is off screen rendering is required to create the page image,
-   * call EnableOffscreenRendering() before pass it as parameter to the PageTurnView
-   */
-  PageFactory();
-
-  /**
-   * Virtual destructor
-   */
-  virtual ~PageFactory();
 
-  /**
-   * Enable the off screen rendering to create the page image from actor tree
-   */
-  void EnableOffscreenRendering( );
+  class Extension; ///< Forward declare future extension interface
 
   /**
-   * Query whether offscreen rendering is needed to create the page image
-   * @return
+   * @brief Virtual destructor
+   * @SINCE_1_1.4
    */
-  bool IsOffscreenRenderingNeeded();
+  virtual ~PageFactory(){};
 
   /**
-   * Query the number of pages available from the factory.
+   * @brief Query the number of pages available from the factory.
+   *
    * The maximum available page has an ID of GetNumberOfPages()-1.
+   * @SINCE_1_1.4
+   * @return The page count.
    */
   virtual unsigned int GetNumberOfPages() = 0;
 
   /**
-   * Create an actor to represent the page content.
+   * @brief Create an actor to represent the page content.
+   * @SINCE_1_1.30
+   *
+   * If no valid image provided, a broken image is displayed.
+   * For double-sided page( PageTurnLandscapeView ), the left half of image is used as page front side, and the right half as page back side.
+   *
    * @param[in] pageId The ID of the page to create.
    * @return An actor, or an uninitialized pointer if the ID is out of range.
    */
-  virtual Actor NewPage( unsigned int pageId ) = 0;
-
-public: //Signal
-  /**
-   * Signal type for notification
-   */
-  typedef Signal< void ( int ) > RefreshSignal;
+  virtual Image NewPage( unsigned int pageId ) = 0;
 
   /**
-   * Signal emitted when the Actor tree is ready for rendering into the page image.
-   * The signal is connected to the page refresh function inside PageTurnView.
+   * @brief Retrieve the extension for this factory
+   * @SINCE_1_1.30
+   *
+   * @return The extension if available, NULL otherwise.
    */
-  RefreshSignal& PageRefreshSignal();
-
-  /**
-   * Emit the page ready singal. The PageTurn view will be notified to refresh the given page accordingly.
-   * @param[in] pageId the index of the page which is ready for refreshing.
-   */
-  void EmitPageRefreshSignal( int pageId );
-
-protected:
-
-  /**
-   * Sets whether an actor should be hittable for the PageTurnView::GetHitActor().
-   * It is useful when a sub-tree should be hit instead of the 'leaf' actor in the actor tree.
-   * By default, actors are not hittable for PageTurnView::GetHitActor()
-   * @param[in] actor The actor to be set with the hittablity
-   * @param[in] hittable True to be hittable, false otherwise.
-   */
-  void SetActorHittability( Actor actor, bool hittable );
-
-  /**
-   * Query whether an actor is hittable for the PageTurnView::GetHitActor().
-   */
-  bool GetActorHittability( Actor actor );
-
-private:
-
-  bool mNeedOffscreenRendering;
-
-  RefreshSignal mPageRefreshSignal;
+  virtual Extension* GetExtension()
+  {
+    return NULL;
+  }
 };
 
 } // namespace Toolkit