Add GetVisualProperty to Control
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / visuals / image / image-visual.h
index ea46680..9ae50df 100644 (file)
@@ -22,9 +22,7 @@
 #include <memory>
 
 #include <dali/public-api/common/intrusive-ptr.h>
-#include <dali/public-api/images/image.h>
 #include <dali/public-api/images/image-operations.h>
-#include <dali/public-api/images/resource-image.h>
 #include <dali/public-api/object/weak-handle.h>
 
 // INTERNAL INCLUDES
@@ -158,15 +156,6 @@ public:
                              FittingMode::Type fittingMode = FittingMode::DEFAULT,
                              Dali::SamplingMode::Type samplingMode = SamplingMode::BOX_THEN_LINEAR );
 
-  /**
-   * @brief Create a new image visual with an Image type.
-   *
-   * @param[in] factoryCache The VisualFactoryCache object
-   * @param[in] shaderFactory The ImageVisualShaderFactory object
-   * @param[in] image The image to use
-   */
-  static ImageVisualPtr New( VisualFactoryCache& factoryCache, ImageVisualShaderFactory& shaderFactory, const Image& image );
-
 public:  // from Visual
 
   /**
@@ -211,15 +200,6 @@ protected:
                Dali::SamplingMode::Type samplingMode );
 
   /**
-   * @brief Constructor with an Image type.
-   *
-   * @param[in] factoryCache The VisualFactoryCache object
-   * @param[in] shaderFactory The ImageVisualShaderFactory object
-   * @param[in] image The image to use
-   */
-  ImageVisual( VisualFactoryCache& factoryCache, ImageVisualShaderFactory& shaderFactory, const Image& image );
-
-  /**
    * @brief A reference counted object may only be deleted by calling Unreference().
    */
   virtual ~ImageVisual();
@@ -230,14 +210,14 @@ protected:
   void DoSetProperties( const Property::Map& propertyMap ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOnStage
+   * @copydoc Visual::Base::DoSetOnScene
    */
-  void DoSetOnStage( Actor& actor ) override;
+  void DoSetOnScene( Actor& actor ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOffStage
+   * @copydoc Visual::Base::DoSetOffScene
    */
-  void DoSetOffStage( Actor& actor ) override;
+  void DoSetOffScene( Actor& actor ) override;
 
   /**
    * @copydoc Visual::Base::OnSetTransform
@@ -249,6 +229,11 @@ protected:
    */
   bool IsResourceReady() const override;
 
+  /**
+   * @copydoc Visual::Base::UpdateShader
+   */
+  void UpdateShader() override;
+
 public:
 
   /**
@@ -284,13 +269,6 @@ private:
   void AllocateMaskData();
 
   /**
-   * @brief Applies the image to the texture set used for this renderer
-   *
-   * @param[in] image The Image to apply to the texture set used for this renderer
-   */
-  void ApplyImageToSampler( const Image& image );
-
-  /**
    * @brief Load the texture, will try to atlas unless unable or param set to false.
    * @param[in, out] atlasing flag if the image has been put in a atlas (true), passing false will not atlas even if possible.
    * @param[out] atlasRect if atlasing is used this the texture area of the image in the atlas.
@@ -312,31 +290,12 @@ private:
   void InitializeRenderer();
 
   /**
-   * @brief Initializes the Dali::Renderer from an image handle
-   *
-   * @param[in] image The image handle to intialize this ImageVisual from
-   */
-  void InitializeRenderer( const Image& image );
-
-  /**
    * @brief Creates the Dali::Renderer (potentially from the renderer cache), initializing it
    * @param[in] textures to use
    */
   void CreateRenderer( TextureSet& textures );
 
   /**
-   * @brief Creates the Dali::Renderer for NativeImage with custom sampler type and prefix, initializing it
-   * @param NativeImageRenderer
-   */
-  void CreateNativeImageRenderer( NativeImage& nativeImage );
-
-  /**
-   * @brief Query whether resources requires to be loaded synchronously.
-   * @return Returns true if synchronous resource loading is required, false otherwise.
-   */
-  bool IsSynchronousResourceLoading() const;
-
-  /**
    * Creates the texture set and adds the texture to it
    * @param[out] textureRect The texture area of the texture in the atlas.
    * @param[in] url The URL of the image resource to use.
@@ -364,9 +323,14 @@ private:
    */
   void DoSetProperty( Property::Index index, const Property::Value& value );
 
+  /**
+   * @brief Get a shader for the current properties.
+   * @return The shader for the current properties.
+   */
+  Shader GetShader();
+
 private:
 
-  Image mImage;
   Vector4 mPixelArea;
   WeakHandle<Actor> mPlacementActor;
   VisualUrl mImageUrl;