namespace Internal
{
+class ImageAtlasManager;
+typedef IntrusivePtr<ImageAtlasManager> ImageAtlasManagerPtr;
+
/**
* Caches shaders and geometries. Owned by VisualFactory.
*/
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
*/
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:
/**
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.
HashVector mRendererHashes;
CachedRenderers mRenderers;
- Renderer mDebugRenderer;
+ Renderer mWireframeRenderer;
+ ImageAtlasManagerPtr mAtlasManager;
SvgRasterizeThread* mSvgRasterizeThread;
};