Merge "Added code for stylable transitions" into devel/master
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / visuals / visual-factory-cache.h
index 488be15..cb1b890 100644 (file)
@@ -39,6 +39,9 @@ namespace Toolkit
 namespace Internal
 {
 
+class ImageAtlasManager;
+typedef IntrusivePtr<ImageAtlasManager> ImageAtlasManagerPtr;
+
 /**
  * Caches shaders and geometries. Owned by VisualFactory.
  */
@@ -59,6 +62,9 @@ public:
     GRADIENT_SHADER_RADIAL_USER_SPACE,
     GRADIENT_SHADER_RADIAL_BOUNDING_BOX,
     IMAGE_SHADER,
+    BATCH_IMAGE_SHADER,
+    IMAGE_SHADER_ATLAS_DEFAULT_WRAP,
+    IMAGE_SHADER_ATLAS_CUSTOM_WRAP,
     NINE_PATCH_SHADER,
     SVG_SHADER,
     SHADER_TYPE_MAX = SVG_SHADER
@@ -122,6 +128,19 @@ public:
    */
   static Geometry CreateGridGeometry( Uint16Pair gridSize );
 
+  /**
+   * Create the batchable geometry
+   * @param[in] texCoords The texture atlas rect coordinates
+   * @return The created batchable geometry
+   */
+  static Geometry CreateBatchQuadGeometry( Vector4 texCoords );
+
+  /**
+   * @brief Returns an image to be used when a visual has failed to correctly render
+   * @return The broken image handle.
+   */
+  static Image GetBrokenVisualImage();
+
 public:
 
   /**
@@ -152,14 +171,20 @@ public:
   bool CleanRendererCache( const std::string& key );
 
   /**
-   * @brief Cache the debug renderer
+   * @brief Cache the wireframe renderer
+   */
+  void CacheWireframeRenderer( Renderer& renderer );
+
+  /**
+   * @brief Request the wireframe renderer;
    */
-  void CacheDebugRenderer( Renderer& renderer );
+  Renderer GetWireframeRenderer();
 
   /**
-   * @brief Request the debug renderer;
+   * Get the image atlas manager.
+   * @return A pointer pointing to the atlas manager
    */
-  Renderer GetDebugRenderer();
+  ImageAtlasManagerPtr GetAtlasManager();
 
   /**
    * Get the SVG rasterization thread.
@@ -220,8 +245,9 @@ private:
   HashVector mRendererHashes;
   CachedRenderers mRenderers;
 
-  Renderer mDebugRenderer;
+  Renderer mWireframeRenderer;
 
+  ImageAtlasManagerPtr mAtlasManager;
   SvgRasterizeThread*  mSvgRasterizeThread;
 };