2 * Copyright (c) 2021 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 #include <dali/devel-api/adaptor-framework/canvas-renderer-shape.h>
22 #include <dali/internal/canvas-renderer/common/canvas-renderer-impl.h>
23 #include <dali/internal/canvas-renderer/common/shape-factory.h>
24 #include <dali/internal/canvas-renderer/common/shape-impl.h>
28 CanvasRenderer::Shape CanvasRenderer::Shape::New()
30 return Shape(Internal::Adaptor::ShapeFactory::New());
33 CanvasRenderer::Shape::Shape()
37 CanvasRenderer::Shape::~Shape()
41 CanvasRenderer::Shape::Shape(Internal::Adaptor::Shape* impl)
42 : CanvasRenderer::Drawable(impl)
46 bool CanvasRenderer::Shape::AddRect(Rect<float> rect, Vector2 roundedCorner)
48 return GetImplementation(*this).AddRect(rect, roundedCorner);
51 bool CanvasRenderer::Shape::AddCircle(Vector2 center, Vector2 radius)
53 return GetImplementation(*this).AddCircle(center, radius);
56 bool CanvasRenderer::Shape::AddArc(Vector2 center, float radius, float startAngle, float sweep, bool pie)
58 return GetImplementation(*this).AddArc(center, radius, startAngle, sweep, pie);
61 bool CanvasRenderer::Shape::AddMoveTo(Vector2 point)
63 return GetImplementation(*this).AddMoveTo(point);
66 bool CanvasRenderer::Shape::AddLineTo(Vector2 line)
68 return GetImplementation(*this).AddLineTo(line);
71 bool CanvasRenderer::Shape::AddCubicTo(Vector2 controlPoint1, Vector2 controlPoint2, Vector2 endPoint)
73 return GetImplementation(*this).AddCubicTo(controlPoint1, controlPoint2, endPoint);
76 bool CanvasRenderer::Shape::Close()
78 return GetImplementation(*this).Close();
81 bool CanvasRenderer::Shape::SetFillColor(Vector4 color)
83 return GetImplementation(*this).SetFillColor(color);
86 Vector4 CanvasRenderer::Shape::GetFillColor() const
88 return GetImplementation(*this).GetFillColor();
91 bool CanvasRenderer::Shape::SetFillRule(CanvasRenderer::Shape::FillRule rule)
93 return GetImplementation(*this).SetFillRule(rule);
96 CanvasRenderer::Shape::FillRule CanvasRenderer::Shape::GetFillRule() const
98 return GetImplementation(*this).GetFillRule();
101 bool CanvasRenderer::Shape::SetStrokeWidth(float width)
103 return GetImplementation(*this).SetStrokeWidth(width);
106 float CanvasRenderer::Shape::GetStrokeWidth() const
108 return GetImplementation(*this).GetStrokeWidth();
111 bool CanvasRenderer::Shape::SetStrokeColor(Vector4 color)
113 return GetImplementation(*this).SetStrokeColor(color);
116 Vector4 CanvasRenderer::Shape::GetStrokeColor() const
118 return GetImplementation(*this).GetStrokeColor();
121 bool CanvasRenderer::Shape::SetStrokeDash(const Dali::Vector<float>& dashPattern)
123 return GetImplementation(*this).SetStrokeDash(dashPattern);
126 Dali::Vector<float> CanvasRenderer::Shape::GetStrokeDash() const
128 return GetImplementation(*this).GetStrokeDash();
131 bool CanvasRenderer::Shape::SetStrokeCap(CanvasRenderer::Shape::StrokeCap cap)
133 return GetImplementation(*this).SetStrokeCap(cap);
136 CanvasRenderer::Shape::StrokeCap CanvasRenderer::Shape::GetStrokeCap() const
138 return GetImplementation(*this).GetStrokeCap();
141 bool CanvasRenderer::Shape::SetStrokeJoin(CanvasRenderer::Shape::StrokeJoin join)
143 return GetImplementation(*this).SetStrokeJoin(join);
146 CanvasRenderer::Shape::StrokeJoin CanvasRenderer::Shape::GetStrokeJoin() const
148 return GetImplementation(*this).GetStrokeJoin();