Add CanvasView::New() API that can be created without viewbox.
[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()
55 {
56   CanvasView canvasView = Internal::CanvasView::New(Vector2::ZERO);
57   return canvasView;
58 }
59
60 CanvasView CanvasView::New(const Vector2& viewBox)
61 {
62   CanvasView canvasView = Internal::CanvasView::New(viewBox);
63   return canvasView;
64 }
65
66 CanvasView CanvasView::DownCast(BaseHandle handle)
67 {
68   return Control::DownCast<CanvasView, Internal::CanvasView>(handle);
69 }
70
71 void CanvasView::AddDrawable(Dali::CanvasRenderer::Drawable& drawable)
72 {
73   Dali::Toolkit::GetImpl(*this).AddDrawable(drawable);
74 }
75
76 CanvasView::CanvasView(Internal::CanvasView& implementation)
77 : Control(implementation)
78 {
79 }
80
81 CanvasView::CanvasView(Dali::Internal::CustomActor* internal)
82 : Control(internal)
83 {
84   VerifyCustomActorPointer<Internal::CanvasView>(internal);
85 }
86
87 } // namespace Toolkit
88
89 } // namespace Dali