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::AddPath(PathCommands& pathCommand)
78 return GetImplementation(*this).AddPath(pathCommand);
81 bool CanvasRenderer::Shape::Close()
83 return GetImplementation(*this).Close();
86 bool CanvasRenderer::Shape::ResetPath()
88 return GetImplementation(*this).ResetPath();
91 bool CanvasRenderer::Shape::SetFillColor(Vector4 color)
93 return GetImplementation(*this).SetFillColor(color);
96 Vector4 CanvasRenderer::Shape::GetFillColor() const
98 return GetImplementation(*this).GetFillColor();
101 bool CanvasRenderer::Shape::SetFillGradient(CanvasRenderer::Gradient& gradient)
103 return GetImplementation(*this).SetFillGradient(gradient);
106 CanvasRenderer::Gradient CanvasRenderer::Shape::GetFillGradient() const
108 return GetImplementation(*this).GetFillGradient();
111 bool CanvasRenderer::Shape::SetFillRule(CanvasRenderer::Shape::FillRule rule)
113 return GetImplementation(*this).SetFillRule(rule);
116 CanvasRenderer::Shape::FillRule CanvasRenderer::Shape::GetFillRule() const
118 return GetImplementation(*this).GetFillRule();
121 bool CanvasRenderer::Shape::SetStrokeWidth(float width)
123 return GetImplementation(*this).SetStrokeWidth(width);
126 float CanvasRenderer::Shape::GetStrokeWidth() const
128 return GetImplementation(*this).GetStrokeWidth();
131 bool CanvasRenderer::Shape::SetStrokeColor(Vector4 color)
133 return GetImplementation(*this).SetStrokeColor(color);
136 Vector4 CanvasRenderer::Shape::GetStrokeColor() const
138 return GetImplementation(*this).GetStrokeColor();
141 bool CanvasRenderer::Shape::SetStrokeGradient(CanvasRenderer::Gradient& gradient)
143 return GetImplementation(*this).SetStrokeGradient(gradient);
146 CanvasRenderer::Gradient CanvasRenderer::Shape::GetStrokeGradient() const
148 return GetImplementation(*this).GetStrokeGradient();
151 bool CanvasRenderer::Shape::SetStrokeDash(const Dali::Vector<float>& dashPattern)
153 return GetImplementation(*this).SetStrokeDash(dashPattern);
156 Dali::Vector<float> CanvasRenderer::Shape::GetStrokeDash() const
158 return GetImplementation(*this).GetStrokeDash();
161 bool CanvasRenderer::Shape::SetStrokeCap(CanvasRenderer::Shape::StrokeCap cap)
163 return GetImplementation(*this).SetStrokeCap(cap);
166 CanvasRenderer::Shape::StrokeCap CanvasRenderer::Shape::GetStrokeCap() const
168 return GetImplementation(*this).GetStrokeCap();
171 bool CanvasRenderer::Shape::SetStrokeJoin(CanvasRenderer::Shape::StrokeJoin join)
173 return GetImplementation(*this).SetStrokeJoin(join);
176 CanvasRenderer::Shape::StrokeJoin CanvasRenderer::Shape::GetStrokeJoin() const
178 return GetImplementation(*this).GetStrokeJoin();