return GetImplementation(*this).Close();
}
+bool CanvasRenderer::Shape::ResetPath()
+{
+ return GetImplementation(*this).ResetPath();
+}
+
bool CanvasRenderer::Shape::SetFillColor(Vector4 color)
{
return GetImplementation(*this).SetFillColor(color);
bool Close();
/**
+ * @brief Reset the added path(rect, circle, path, etc...) information.
+ * Color and Stroke information are keeped.
+ * @return Returns True when it's successful. False otherwise.
+ */
+ bool ResetPath();
+
+ /**
* @brief Set the color to use for filling the path.
* @param[in] color The color value.
* @return Returns True when it's successful. False otherwise.
#define DALI_INTEGRATION_ADAPTOR_H
/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2021 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
/**
* @brief Register a processor implementing the Integration::Processor interface with dali-core.
* @param[in] processor the Processor to register
+ * @param[in] postProcessor set this processor required to be called after size negotiation. Default is false.
* @note using this api does not maintain the processor's lifecycle, must be done elsewhere.
*/
- void RegisterProcessor(Integration::Processor& processor);
+ void RegisterProcessor(Integration::Processor& processor, bool postProcessor = false);
/**
* @brief Unregister a previously registered processor from dali-core.
* @param[in] processor the Processor to unregister
+ * @param[in] postProcessor True if the processor to be unregister is for post processor.
*/
- void UnregisterProcessor(Integration::Processor& processor);
+ void UnregisterProcessor(Integration::Processor& processor, bool postProcessor = false);
/**
* @brief Get the list of windows created.
return *mEnvironmentOptions;
}
-void Adaptor::RegisterProcessor(Integration::Processor& processor)
+void Adaptor::RegisterProcessor(Integration::Processor& processor, bool postProcessor)
{
- GetCore().RegisterProcessor(processor);
+ GetCore().RegisterProcessor(processor, postProcessor);
}
-void Adaptor::UnregisterProcessor(Integration::Processor& processor)
+void Adaptor::UnregisterProcessor(Integration::Processor& processor, bool postProcessor)
{
- GetCore().UnregisterProcessor(processor);
+ GetCore().UnregisterProcessor(processor, postProcessor);
}
bool Adaptor::IsMultipleWindowSupported() const
/**
* @copydoc Dali::Adaptor::RegisterProcessor
*/
- void RegisterProcessor(Integration::Processor& processor);
+ void RegisterProcessor(Integration::Processor& processor, bool postProcessor);
/**
* @coydoc Dali::Adaptor::UnregisterProcessor
*/
- void UnregisterProcessor(Integration::Processor& processor);
+ void UnregisterProcessor(Integration::Processor& processor, bool postProcessor);
/**
* Check MultipleWindow is supported
return mImpl->GetLogFactory();
}
-void Adaptor::RegisterProcessor(Integration::Processor& processor)
+void Adaptor::RegisterProcessor(Integration::Processor& processor, bool postProcessor)
{
- mImpl->RegisterProcessor(processor);
+ mImpl->RegisterProcessor(processor, postProcessor);
}
-void Adaptor::UnregisterProcessor(Integration::Processor& processor)
+void Adaptor::UnregisterProcessor(Integration::Processor& processor, bool postProcessor)
{
- mImpl->UnregisterProcessor(processor);
+ mImpl->UnregisterProcessor(processor, postProcessor);
}
Dali::WindowContainer Adaptor::GetWindows() const
return false;
}
+bool Shape::ResetPath()
+{
+ return false;
+}
+
bool Shape::SetFillColor(Vector4 color)
{
return false;
virtual bool AddCubicTo(Vector2 controlPoint1, Vector2 controlPoint2, Vector2 endPoint);
/**
- * @copydoc Dali::CanvasRenderer::Shape::AddClose
+ * @copydoc Dali::CanvasRenderer::Shape::Close
*/
virtual bool Close();
/**
+ * @copydoc Dali::CanvasRenderer::Shape::ResetPath
+ */
+ virtual bool ResetPath();
+
+ /**
* @copydoc Dali::CanvasRenderer::Shape::SetFillColor
*/
virtual bool SetFillColor(Vector4 color);
return true;
}
+bool ShapeTizen::ResetPath()
+{
+#ifdef THORVG_SUPPORT
+ if(!mTvgShape)
+ {
+ DALI_LOG_ERROR("Shape is null\n");
+ return false;
+ }
+
+ if(static_cast<tvg::Shape*>(mTvgShape)->reset() != tvg::Result::Success)
+ {
+ DALI_LOG_ERROR("reset() fail.\n");
+ return false;
+ }
+ Drawable::SetChanged(true);
+ return true;
+#else
+ return false;
+#endif
+}
+
bool ShapeTizen::SetFillColor(Vector4 color)
{
if(!mTvgShape)
bool Close() override;
/**
+ * @copydoc Dali::CanvasRenderer::Shape::ResetPath
+ */
+ bool ResetPath() override;
+
+ /**
* @copydoc Dali::CanvasRenderer::Shape::SetFillColor
*/
bool SetFillColor(Vector4 color) override;
#endif
}
+bool ShapeUbuntu::ResetPath()
+{
+#ifdef THORVG_SUPPORT
+ if(!mTvgShape)
+ {
+ DALI_LOG_ERROR("Shape is null\n");
+ return false;
+ }
+
+ if(static_cast<tvg::Shape*>(mTvgShape)->reset() != tvg::Result::Success)
+ {
+ DALI_LOG_ERROR("reset() fail.\n");
+ return false;
+ }
+ Drawable::SetChanged(true);
+ return true;
+#else
+ return false;
+#endif
+}
+
bool ShapeUbuntu::SetFillColor(Vector4 color)
{
#ifdef THORVG_SUPPORT
bool Close() override;
/**
+ * @copydoc Dali::CanvasRenderer::Shape::ResetPath
+ */
+ bool ResetPath() override;
+
+ /**
* @copydoc Dali::CanvasRenderer::Shape::SetFillColor
*/
bool SetFillColor(Vector4 color) override;