// EXTERNAL INCLUDES
#include <dali/public-api/object/base-handle.h>
+#include <dali/public-api/rendering/texture.h>
// INTERNAL INCLUDES
-#include <dali/devel-api/adaptor-framework/pixel-buffer.h>
#include <dali/public-api/dali-adaptor-common.h>
namespace Dali
class Drawable;
class Shape;
class DrawableGroup;
+ class Picture;
+
+ class Gradient;
+ class LinearGradient;
+ class RadialGradient;
public:
/**
bool AddDrawable(Drawable& drawable);
/**
- * @brief Returns the PixelBuffer, which is the Render buffer of Canvas.
+ * @brief Remove drawable object to the CanvasView.
+ * This method is similar to deregistration. Freeing memory is not concerned for drawables being removed.
+ * @param[in] drawable the drawable object.
+ * @return Returns True when it's successful. False otherwise.
+ */
+ bool RemoveDrawable(Drawable& drawable);
+
+ /**
+ * @brief Remove all drawable objects added to the CanvasRenderer.
+ * @return Returns True when it's successful. False otherwise.
+ */
+ bool RemoveAllDrawables();
+
+ /**
+ * @brief Returns the rasterized texture.
*
- * @return Returns the pixel buffer.
+ * @return Returns the texture.
*/
- Devel::PixelBuffer GetPixelBuffer();
+ Dali::Texture GetRasterizedTexture();
/**
* @brief Draw drawables added to CanvasRenderer to inner buffer.
* @param[in] size The size of canvas buffer.
* @return Returns True when it's successful. False otherwise.
*/
- bool SetSize(const Vector2& size);
+ bool SetSize(Vector2 size);
/**
* @brief This is the size of the Buffer in the Canvas.
* @return Returns The size of canvas buffer.
*/
- const Vector2& GetSize();
+ Vector2 GetSize() const;
/**
* @brief This is the viewbox of the Canvas.