Merge "Add CanvasView thread rasterization" into devel/master
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / devel-api / controls / canvas-view / canvas-view.cpp
1 /*
2  * Copyright (c) 2021 Samsung Electronics Co., Ltd.
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  *
16  */
17
18 // CLASS HEADER
19 #include <dali-toolkit/devel-api/controls/canvas-view/canvas-view.h>
20
21 // INTERNAL INCLUDES
22 #include <dali-toolkit/internal/controls/canvas-view/canvas-view-impl.h>
23
24 namespace Dali
25 {
26 namespace Toolkit
27 {
28 CanvasView::CanvasView()
29 {
30 }
31
32 CanvasView::CanvasView(const CanvasView& canvasView)
33 : Control(canvasView)
34 {
35 }
36
37 CanvasView::CanvasView(CanvasView&& rhs) = default;
38
39 CanvasView& CanvasView::operator=(const CanvasView& rhs)
40 {
41   if(&rhs != this)
42   {
43     Control::operator=(rhs);
44   }
45   return *this;
46 }
47
48 CanvasView& CanvasView::operator=(CanvasView&& rhs) = default;
49
50 CanvasView::~CanvasView()
51 {
52 }
53
54 CanvasView CanvasView::New(const Vector2& viewBox)
55 {
56   CanvasView canvasView = Internal::CanvasView::New(viewBox);
57   return canvasView;
58 }
59
60 CanvasView CanvasView::DownCast(BaseHandle handle)
61 {
62   return Control::DownCast<CanvasView, Internal::CanvasView>(handle);
63 }
64
65 void CanvasView::AddDrawable(Dali::CanvasRenderer::Drawable& drawable)
66 {
67   Dali::Toolkit::GetImpl(*this).AddDrawable(drawable);
68 }
69
70 CanvasView::CanvasView(Internal::CanvasView& implementation)
71 : Control(implementation)
72 {
73 }
74
75 CanvasView::CanvasView(Dali::Internal::CustomActor* internal)
76 : Control(internal)
77 {
78   VerifyCustomActorPointer<Internal::CanvasView>(internal);
79 }
80
81 } // namespace Toolkit
82
83 } // namespace Dali