New with additional behavior flag for some Controls
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / controls / text-controls / text-label.cpp
1 /*
2  * Copyright (c) 2022 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/public-api/controls/text-controls/text-label.h>
20
21 // INTERNAL INCLUDES
22 #include <dali-toolkit/internal/controls/text-controls/text-label-impl.h>
23
24 namespace Dali
25 {
26 namespace Toolkit
27 {
28 TextLabel TextLabel::New()
29 {
30   return Internal::TextLabel::New();
31 }
32
33 TextLabel TextLabel::New(const std::string& text)
34 {
35   TextLabel label = Internal::TextLabel::New();
36   label.SetProperty(TextLabel::Property::TEXT, text);
37
38   return label;
39 }
40
41 TextLabel TextLabel::New(ControlBehaviour additionalBehaviour)
42 {
43   return Internal::TextLabel::New(static_cast<Toolkit::Internal::Control::ControlBehaviour>(additionalBehaviour));
44 }
45
46 TextLabel TextLabel::New(ControlBehaviour additionalBehaviour, const std::string& text)
47 {
48   TextLabel label = Internal::TextLabel::New(static_cast<Toolkit::Internal::Control::ControlBehaviour>(additionalBehaviour));
49   label.SetProperty(TextLabel::Property::TEXT, text);
50
51   return label;
52 }
53
54 TextLabel::TextLabel()
55 {
56 }
57
58 TextLabel::TextLabel(const TextLabel& handle) = default;
59
60 TextLabel::TextLabel(TextLabel&& rhs) = default;
61
62 TextLabel& TextLabel::operator=(const TextLabel& handle) = default;
63
64 TextLabel& TextLabel::operator=(TextLabel&& rhs) = default;
65
66 TextLabel::~TextLabel()
67 {
68 }
69
70 TextLabel TextLabel::DownCast(BaseHandle handle)
71 {
72   return Control::DownCast<TextLabel, Internal::TextLabel>(handle);
73 }
74
75 TextLabel::TextLabel(Internal::TextLabel& implementation)
76 : Control(implementation)
77 {
78 }
79
80 TextLabel::TextLabel(Dali::Internal::CustomActor* internal)
81 : Control(internal)
82 {
83   VerifyCustomActorPointer<Internal::TextLabel>(internal);
84 }
85
86 } // namespace Toolkit
87
88 } // namespace Dali