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-toolkit/internal/text/text-enumerations-impl.h>
22 #include <dali/devel-api/scripting/enum-helper.h>
25 #include <dali-toolkit/public-api/text/text-enumerations.h>
35 DALI_ENUM_TO_STRING_TABLE_BEGIN(HORIZONTAL_ALIGNMENT_TYPE)
36 DALI_ENUM_TO_STRING_WITH_SCOPE(Toolkit::Text::HorizontalAlignment, BEGIN)
37 DALI_ENUM_TO_STRING_WITH_SCOPE(Toolkit::Text::HorizontalAlignment, CENTER)
38 DALI_ENUM_TO_STRING_WITH_SCOPE(Toolkit::Text::HorizontalAlignment, END)
39 DALI_ENUM_TO_STRING_TABLE_END(HORIZONTAL_ALIGNMENT_TYPE)
41 DALI_ENUM_TO_STRING_TABLE_BEGIN(VERTICAL_ALIGNMENT_TYPE)
42 DALI_ENUM_TO_STRING_WITH_SCOPE(Toolkit::Text::VerticalAlignment, TOP)
43 DALI_ENUM_TO_STRING_WITH_SCOPE(Toolkit::Text::VerticalAlignment, CENTER)
44 DALI_ENUM_TO_STRING_WITH_SCOPE(Toolkit::Text::VerticalAlignment, BOTTOM)
45 DALI_ENUM_TO_STRING_TABLE_END(VERTICAL_ALIGNMENT_TYPE)
47 DALI_ENUM_TO_STRING_TABLE_BEGIN(LINE_WRAP_MODE)
48 DALI_ENUM_TO_STRING_WITH_SCOPE(Toolkit::Text::LineWrap, WORD)
49 DALI_ENUM_TO_STRING_WITH_SCOPE(Toolkit::Text::LineWrap, CHARACTER)
50 DALI_ENUM_TO_STRING_TABLE_END(LINE_WRAP_MODE)
52 DALI_ENUM_TO_STRING_TABLE_BEGIN(ELLIPSIS_POSITION_TYPE)
53 DALI_ENUM_TO_STRING_WITH_SCOPE(Toolkit::DevelText::EllipsisPosition, END)
54 DALI_ENUM_TO_STRING_WITH_SCOPE(Toolkit::DevelText::EllipsisPosition, START)
55 DALI_ENUM_TO_STRING_WITH_SCOPE(Toolkit::DevelText::EllipsisPosition, MIDDLE)
56 DALI_ENUM_TO_STRING_TABLE_END(ELLIPSIS_POSITION_TYPE)
58 DALI_ENUM_TO_STRING_TABLE_BEGIN(UNDERLINE_TYPE)
59 DALI_ENUM_TO_STRING_WITH_SCOPE(Toolkit::Text::Underline::Type, SOLID)
60 DALI_ENUM_TO_STRING_WITH_SCOPE(Toolkit::Text::Underline::Type, DASHED)
61 DALI_ENUM_TO_STRING_WITH_SCOPE(Toolkit::Text::Underline::Type, DOUBLE)
62 DALI_ENUM_TO_STRING_TABLE_END(UNDERLINE_TYPE)
65 bool GetHorizontalAlignmentEnumeration(const Property::Value& propertyValue, Toolkit::Text::HorizontalAlignment::Type& alignment)
67 return Scripting::GetEnumerationProperty(propertyValue, HORIZONTAL_ALIGNMENT_TYPE_TABLE, HORIZONTAL_ALIGNMENT_TYPE_TABLE_COUNT, alignment);
70 bool GetVerticalAlignmentEnumeration(const Property::Value& propertyValue, Toolkit::Text::VerticalAlignment::Type& alignment)
72 return Scripting::GetEnumerationProperty(propertyValue, VERTICAL_ALIGNMENT_TYPE_TABLE, VERTICAL_ALIGNMENT_TYPE_TABLE_COUNT, alignment);
75 bool GetLineWrapModeEnumeration(const Property::Value& propertyValue, Toolkit::Text::LineWrap::Mode& lineWrapMode)
77 return Scripting::GetEnumerationProperty(propertyValue, LINE_WRAP_MODE_TABLE, LINE_WRAP_MODE_TABLE_COUNT, lineWrapMode);
80 const char* GetHorizontalAlignmentString(const Toolkit::Text::HorizontalAlignment::Type& alignment)
82 return Scripting::GetLinearEnumerationName<Toolkit::Text::HorizontalAlignment::Type>(alignment,
83 HORIZONTAL_ALIGNMENT_TYPE_TABLE,
84 HORIZONTAL_ALIGNMENT_TYPE_TABLE_COUNT);
87 const char* GetVerticalAlignmentString(const Toolkit::Text::VerticalAlignment::Type& alignment)
89 return Scripting::GetLinearEnumerationName<Toolkit::Text::VerticalAlignment::Type>(alignment,
90 VERTICAL_ALIGNMENT_TYPE_TABLE,
91 VERTICAL_ALIGNMENT_TYPE_TABLE_COUNT);
94 bool GetEllipsisPositionTypeEnumeration(const Property::Value& propertyValue, Toolkit::DevelText::EllipsisPosition::Type& ellipsisPositionType)
96 return Scripting::GetEnumerationProperty(propertyValue, ELLIPSIS_POSITION_TYPE_TABLE, ELLIPSIS_POSITION_TYPE_TABLE_COUNT, ellipsisPositionType);
99 const char* GetUnderlineTypeToString(const Toolkit::Text::Underline::Type& type)
101 return Scripting::GetLinearEnumerationName<Toolkit::Text::Underline::Type>(type,
102 UNDERLINE_TYPE_TABLE,
103 UNDERLINE_TYPE_TABLE_COUNT);
108 } // namespace Toolkit