return GetImplementation(*this).Rasterize();
}
+bool CanvasRenderer::RemoveDrawable(Drawable& drawable)
+{
+ return GetImplementation(*this).RemoveDrawable(drawable);
+}
+
bool CanvasRenderer::SetSize(const Vector2& size)
{
return GetImplementation(*this).SetSize(size);
bool AddDrawable(Drawable& drawable);
/**
+ * @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 Returns the PixelBuffer, which is the Render buffer of Canvas.
*
* @return Returns the pixel buffer.
return false;
}
+bool CanvasRenderer::RemoveDrawable(Dali::CanvasRenderer::Drawable& drawable)
+{
+ return false;
+}
+
bool CanvasRenderer::SetSize(const Vector2& size)
{
return false;
virtual bool Rasterize();
/**
+ * @copydoc Dali::CanvasRenderer::RemoveDrawable()
+ */
+ virtual bool RemoveDrawable(Dali::CanvasRenderer::Drawable& drawable);
+
+ /**
* @copydoc Dali::CanvasRenderer::SetSize()
*/
virtual bool SetSize(const Vector2& size);
return false;
}
+bool CanvasRendererGeneric::RemoveDrawable(Dali::CanvasRenderer::Drawable& drawable)
+{
+ return false;
+}
+
bool CanvasRendererGeneric::SetSize(const Vector2& size)
{
return false;
virtual bool Rasterize();
/**
+ * @copydoc Dali::CanvasRenderer::RemoveDrawable()
+ */
+ bool RemoveDrawable(Dali::CanvasRenderer::Drawable& drawable) override;
+
+ /**
* @copydoc Dali::CanvasRenderer::SetSize()
*/
bool SetSize(const Vector2& size) override;
#endif
}
+bool CanvasRendererTizen::RemoveDrawable(Dali::CanvasRenderer::Drawable& drawable)
+{
+#ifdef THORVG_SUPPORT
+ DrawableGroup::DrawableVector::iterator it = std::find(mDrawables.begin(), mDrawables.end(), drawable);
+ if(it != mDrawables.end())
+ {
+ Internal::Adaptor::Drawable& drawableImpl = GetImplementation(drawable);
+ drawableImpl.SetAdded(false);
+
+ mDrawables.erase(it);
+ mChanged = true;
+
+ return true;
+ }
+
+#endif
+ return false;
+}
+
bool CanvasRendererTizen::SetSize(const Vector2& size)
{
if(size.width < 1.0f || size.height < 1.0f)
bool Rasterize() override;
/**
+ * @copydoc Dali::CanvasRenderer::RemoveDrawable()
+ */
+ bool RemoveDrawable(Dali::CanvasRenderer::Drawable& drawable) override;
+
+ /**
* @copydoc Dali::CanvasRenderer::SetSize()
*/
bool SetSize(const Vector2& size) override;
#endif
}
+bool CanvasRendererUbuntu::RemoveDrawable(Dali::CanvasRenderer::Drawable& drawable)
+{
+#ifdef THORVG_SUPPORT
+ DrawableGroup::DrawableVector::iterator it = std::find(mDrawables.begin(), mDrawables.end(), drawable);
+ if(it != mDrawables.end())
+ {
+ Internal::Adaptor::Drawable& drawableImpl = GetImplementation(drawable);
+ drawableImpl.SetAdded(false);
+
+ mDrawables.erase(it);
+ mChanged = true;
+
+ return true;
+ }
+
+#endif
+ return false;
+}
+
bool CanvasRendererUbuntu::SetSize(const Vector2& size)
{
if(size.width < 1.0f || size.height < 1.0f)
bool Rasterize() override;
/**
+ * @copydoc Dali::CanvasRenderer::RemoveDrawable()
+ */
+ bool RemoveDrawable(Dali::CanvasRenderer::Drawable& drawable) override;
+
+ /**
* @copydoc Dali::CanvasRenderer::SetSize()
*/
bool SetSize(const Vector2& size) override;