Merge "Use Renderer::BlendMode::USE_ACTOR_OPACITY instead to use depth write mode...
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / devel-api / text / spans / italic-span.h
1 #ifndef DALI_TOOLKIT_TEXT_ITALICSPAN_H
2 #define DALI_TOOLKIT_TEXT_ITALICSPAN_H
3
4 /*
5  * Copyright (c) 2022 Samsung Electronics Co., Ltd.
6  *
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
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
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.
18  *
19  */
20
21 // INTERNAL INCLUDES
22 #include <dali-toolkit/devel-api/text/spans/base-span.h>
23
24 namespace Dali
25 {
26 namespace Toolkit
27 {
28 namespace Text
29 {
30 namespace Internal DALI_INTERNAL
31 {
32 class ItalicSpan;
33 }
34
35 /**
36  * @brief ItalicSpan is a handle to an object that specifies the Italic font for range of characters.
37  */
38 class DALI_TOOLKIT_API ItalicSpan : public BaseSpan
39 {
40 public:
41   /**
42    * @brief Create an Initialized ItalicSpan.
43    *
44    * @return A handle to a newly allocated Dali resource.
45    */
46   static ItalicSpan New();
47
48   /**
49    * @brief Creates an uninitialized ItalicSpan handle.
50    *
51    * Calling member functions with an uninitialized ItalicSpan handle is not allowed.
52    */
53   ItalicSpan();
54
55   /**
56    * @brief Copy constructor.
57    * @param[in] rhs A reference to the copied handle.
58    */
59   ItalicSpan(const ItalicSpan& rhs);
60
61   /**
62    * @brief Move constructor.
63    * @param rhs A reference to the handle to move.
64    */
65   ItalicSpan(ItalicSpan&& rhs);
66
67   /**
68    * @brief Assignment operator.
69    * @param[in] rhs A reference to the copied handle
70    * @return A reference to this
71    */
72   ItalicSpan& operator=(const ItalicSpan& rhs);
73
74    /**
75    * @brief Move assignment operator.
76    * @param[in] rhs A reference to the moved handle.
77    * @return A reference to this.
78    */
79   ItalicSpan& operator=(ItalicSpan&& rhs);
80
81   /**
82    * @brief Non virtual destructor.
83    */
84   ~ItalicSpan();
85
86   /**
87    * @brief Downcasts to a ItalicSpan handle.
88    * If handle is not a ItalicSpan, the returned handle is left uninitialized.
89    *
90    * @param[in] handle  Handle to an object.
91    * @return ItalicSpan handle or an uninitialized handle.
92    */
93   static ItalicSpan DownCast(BaseHandle handle);
94
95   // Not intended for application developers.
96   /**
97    * @brief This constructor is used internally to Create an initialized ItalicSpan handle.
98    *
99    * @param[in] italicSpan Pointer to internal ItalicSpan.
100    */
101   explicit DALI_INTERNAL ItalicSpan(Internal::ItalicSpan* italicSpan);
102
103 };
104
105 }// namespace Text
106
107 } // namespace Toolkit
108
109 } // namespace Dali
110
111 #endif //DALI_TOOLKIT_TEXT_ITALICSPAN_H