}
ShapeTizen::ShapeTizen()
+#ifdef THORVG_SUPPORT
: mTvgShape(nullptr)
+#endif
{
Initialize();
}
void ShapeTizen::Initialize()
{
+#ifdef THORVG_SUPPORT
mTvgShape = tvg::Shape::gen().release();
if(!mTvgShape)
{
Drawable::Create();
Drawable::SetObject(static_cast<void*>(mTvgShape));
+ Drawable::SetType(Drawable::Types::SHAPE);
+#endif
}
bool ShapeTizen::AddRect(Rect<float> rect, Vector2 roundedCorner)
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null [%p]\n", this);
return false;
}
Drawable::SetChanged(true);
return true;
+#else
+ return false;
+#endif
}
bool ShapeTizen::AddCircle(Vector2 center, Vector2 radius)
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null [%p]\n", this);
return false;
}
Drawable::SetChanged(true);
return true;
+#else
+ return false;
+#endif
}
bool ShapeTizen::AddArc(Vector2 center, float radius, float startAngle, float sweep, bool pie)
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null\n");
return false;
}
Drawable::SetChanged(true);
return true;
+#else
+ return false;
+#endif
}
bool ShapeTizen::AddMoveTo(Vector2 point)
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null\n");
return false;
}
Drawable::SetChanged(true);
return true;
+#else
+ return false;
+#endif
}
bool ShapeTizen::AddLineTo(Vector2 line)
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null\n");
return false;
}
Drawable::SetChanged(true);
return true;
+#else
+ return false;
+#endif
}
bool ShapeTizen::AddCubicTo(Vector2 controlPoint1, Vector2 controlPoint2, Vector2 endPoint)
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null\n");
return false;
}
Drawable::SetChanged(true);
return true;
+#else
+ return false;
+#endif
}
bool ShapeTizen::Close()
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null\n");
return false;
}
Drawable::SetChanged(true);
return true;
+#else
+ return false;
+#endif
+}
+
+bool ShapeTizen::ResetPath()
+{
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !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)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null [%p]\n", this);
return false;
}
Drawable::SetChanged(true);
return true;
+#else
+ return false;
+#endif
}
Vector4 ShapeTizen::GetFillColor() const
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null [%p]\n", this);
return Vector4(0, 0, 0, 0);
return Vector4(0, 0, 0, 0);
}
return Vector4(r / 255.f, g / 255.f, b / 255.f, a / 255.f);
+#else
+ return Vector4::ZERO;
+#endif
}
bool ShapeTizen::SetFillRule(Dali::CanvasRenderer::Shape::FillRule rule)
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null\n");
return false;
}
Drawable::SetChanged(true);
return true;
+#else
+ return false;
+#endif
}
Dali::CanvasRenderer::Shape::FillRule ShapeTizen::GetFillRule() const
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null\n");
return Dali::CanvasRenderer::Shape::FillRule::WINDING;
tvg::FillRule rule = static_cast<tvg::Shape*>(mTvgShape)->fillRule();
return static_cast<Dali::CanvasRenderer::Shape::FillRule>(rule);
+#endif
+ return Dali::CanvasRenderer::Shape::FillRule::WINDING;
}
bool ShapeTizen::SetStrokeWidth(float width)
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null\n");
return false;
}
Drawable::SetChanged(true);
return true;
+#else
+ return false;
+#endif
}
float ShapeTizen::GetStrokeWidth() const
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null\n");
return false;
}
return static_cast<tvg::Shape*>(mTvgShape)->strokeWidth();
+#else
+ return false;
+#endif
}
bool ShapeTizen::SetStrokeColor(Vector4 color)
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null\n");
return false;
}
Drawable::SetChanged(true);
return true;
+#else
+ return false;
+#endif
}
Vector4 ShapeTizen::GetStrokeColor() const
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null\n");
return Vector4(0, 0, 0, 0);
return Vector4(0, 0, 0, 0);
}
return Vector4(r / 255.f, g / 255.f, b / 255.f, a / 255.f);
+#else
+ return Vector4(0, 0, 0, 0);
+#endif
}
bool ShapeTizen::SetStrokeDash(const Dali::Vector<float> dashPattern)
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null\n");
return false;
}
Drawable::SetChanged(true);
return true;
+#else
+ return false;
+#endif
}
Dali::Vector<float> ShapeTizen::GetStrokeDash() const
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null\n");
return Vector<float>();
dashPattern.PushBack(tvgDashPattern[i]);
}
return dashPattern;
+#else
+ return Vector<float>();
+#endif
}
bool ShapeTizen::SetStrokeCap(Dali::CanvasRenderer::Shape::StrokeCap cap)
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null\n");
return false;
}
-
if(static_cast<tvg::Shape*>(mTvgShape)->stroke(static_cast<tvg::StrokeCap>(cap)) != tvg::Result::Success)
{
DALI_LOG_ERROR("SetStrokeCap fail.\n");
}
Drawable::SetChanged(true);
return true;
+#else
+ return false;
+#endif
}
Dali::CanvasRenderer::Shape::StrokeCap ShapeTizen::GetStrokeCap() const
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null\n");
return Dali::CanvasRenderer::Shape::StrokeCap::SQUARE;
tvg::StrokeCap cap = static_cast<tvg::Shape*>(mTvgShape)->strokeCap();
return static_cast<Dali::CanvasRenderer::Shape::StrokeCap>(cap);
+#endif
+ return Dali::CanvasRenderer::Shape::StrokeCap::SQUARE;
}
bool ShapeTizen::SetStrokeJoin(Dali::CanvasRenderer::Shape::StrokeJoin join)
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null\n");
return false;
}
Drawable::SetChanged(true);
return true;
+#else
+ return false;
+#endif
}
Dali::CanvasRenderer::Shape::StrokeJoin ShapeTizen::GetStrokeJoin() const
{
- if(!mTvgShape)
+#ifdef THORVG_SUPPORT
+ if(!Drawable::GetObject() || !mTvgShape)
{
DALI_LOG_ERROR("Shape is null\n");
return Dali::CanvasRenderer::Shape::StrokeJoin::BEVEL;
tvg::StrokeJoin join = static_cast<tvg::Shape*>(mTvgShape)->strokeJoin();
return static_cast<Dali::CanvasRenderer::Shape::StrokeJoin>(join);
+#endif
+ return Dali::CanvasRenderer::Shape::StrokeJoin::BEVEL;
}
} // namespace Adaptor