1 #ifndef DALI_TOOLKIT_TEXT_MARKUP_PROCESSOR_UNDERLINE_H
2 #define DALI_TOOLKIT_TEXT_MARKUP_PROCESSOR_UNDERLINE_H
5 * Copyright (c) 2022 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
29 struct UnderlinedCharacterRun;
32 * @brief Fill the underlined character run with the type attribute value.
34 * @param[in] attribute the type attribute.
35 * @param[out] underlinedCharacterRun The underlined character run
37 void ProcessTypeAttribute(const Attribute& attribute, UnderlinedCharacterRun& underlinedCharacterRun);
40 * @brief Fill the underlined character run with the dash-gap attribute value.
42 * @param[in] attribute the dash-gap attribute.
43 * @param[out] underlinedCharacterRun The underlined character run
45 void ProcessDashGapAttribute(const Attribute& attribute, UnderlinedCharacterRun& underlinedCharacterRun);
48 * @brief Fill the underlined character run with the dash-width attribute value.
50 * @param[in] attribute the dash-width attribute.
51 * @param[out] underlinedCharacterRun The underlined character run
53 void ProcessDashWidthAttribute(const Attribute& attribute, UnderlinedCharacterRun& underlinedCharacterRun);
56 * @brief Fill the underlined character run with the height attribute value.
58 * @param[in] attribute the height attribute.
59 * @param[out] underlinedCharacterRun The underlined character run
61 void ProcessHeightAttribute(const Attribute& attribute, UnderlinedCharacterRun& underlinedCharacterRun);
64 * @brief Fill the underlined character run with the color attribute value.
66 * @param[in] attribute the color attribute.
67 * @param[out] underlinedCharacterRun The underlined character run
69 void ProcessColorAttribute(const Attribute& attribute, UnderlinedCharacterRun& underlinedCharacterRun);
72 * @brief Retrieves the underline run info from the tag and sets it to the underline run.
74 * @param[in] tag The underline tag and its attributes.
75 * @param[in,out] underlinedCharacterRun The underlined character run
77 void ProcessUnderlineTag(const Tag& tag, UnderlinedCharacterRun& underlinedCharacterRun);
81 } // namespace Toolkit
85 #endif // DALI_TOOLKIT_TEXT_MARKUP_PROCESSOR_UNDERLINE_H