Add VisualBase::GetType()
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / visuals / visual-base-impl.h
index 4839551..6105867 100644 (file)
@@ -47,7 +47,7 @@ namespace Internal
 namespace Visual
 {
 
-class ResourceObserver;
+class EventObserver;
 
 using FittingMode = DevelVisual::FittingMode;
 
@@ -227,16 +227,15 @@ public:
                         Internal::TransitionData::Animator& animator );
 
   /**
-   * @brief Add an observer to watch for when the Visuals resources are loaded.
+   * @brief Add an observer to watch for when the Visuals have events to notify
    * Currently only supports a single observer
-   *
    */
-  void AddResourceObserver( Visual::ResourceObserver& observer );
+  void AddEventObserver( Visual::EventObserver& observer );
 
   /**
    * @brief Remove an observer
    */
-  void RemoveResourceObserver( Visual::ResourceObserver& observer );
+  void RemoveEventObserver( Visual::EventObserver& observer );
 
   /**
    * @brief Called when the visuals resources are loaded / ready
@@ -260,14 +259,36 @@ public:
    */
   FittingMode GetFittingMode() const;
 
+  /**
+   * @brief Get the actual Visual Object.
+   * @return The actual visual object
+   * @note Should be overridden by deriving controls if they are acting as a proxy to other visual objects.
+   */
+  virtual Base& GetVisualObject();
+
+  /**
+   * @brief Query whether resources requires to be loaded synchronously.
+   * @return Returns true if synchronous resource loading is required, false otherwise.
+   */
+  bool IsSynchronousLoadingRequired() const;
+
+  /**
+   * @brief Get the type of this visual.
+   *
+   * @return The the type of this visual.
+   */
+  Toolkit::Visual::Type GetType() const;
+
  protected:
 
   /**
    * @brief Constructor.
    *
    * @param[in] factoryCache A pointer pointing to the VisualFactoryCache object
+   * @param[in] fittingMode The value that determines how the visual should be fit to the view
+   * @param[in] type The type of the this visual
    */
-  Base( VisualFactoryCache& factoryCache, FittingMode fittingMode );
+  Base( VisualFactoryCache& factoryCache, FittingMode fittingMode, Toolkit::Visual::Type type );
 
   /**
    * @brief A reference counted object may only be deleted by calling Unreference().
@@ -338,6 +359,13 @@ protected:
    */
   bool IsOnStage() const;
 
+  /**
+   * @brief Query whether the corners of the visual requires to be rounded.
+   *
+   * @return Returns true if the rounded corner is required, false otherwise.
+   */
+  bool IsRoundedCornerRequired() const;
+
 private:
 
   /**