Merge "Change adding focus indicator logic" into devel/master
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / visuals / image-visual-properties.h
1 #ifndef DALI_TOOLKIT_IMAGE_VISUAL_PROPERTIES_H
2 #define DALI_TOOLKIT_IMAGE_VISUAL_PROPERTIES_H
3
4 /*
5  * Copyright (c) 2016 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/public-api/toolkit-property-index-ranges.h>
23
24 namespace Dali
25 {
26
27 namespace Toolkit
28 {
29
30 /**
31  * @addtogroup dali_toolkit_visuals
32  * @{
33  */
34
35 namespace ImageVisual
36 {
37
38 namespace Property
39 {
40
41 enum
42 {
43   /**
44    * @brief The URL of the image.
45    * @details Name "url", type Property::STRING.
46    * @SINCE_1_1.45
47    * @note Mandatory.
48    */
49   URL = VISUAL_PROPERTY_START_INDEX,
50
51   /**
52    * @brief Fitting options, used when resizing images to fit desired dimensions.
53    * @details Name "fittingMode", type Dali::FittingMode (Property::INTEGER) or Property::STRING.
54    * @SINCE_1_1.45
55    * @note Optional. If not supplied, default is FittingMode::SHRINK_TO_FIT.
56    * @note For Normal Quad images only.
57    * @see Dali::FittingMode
58    */
59   FITTING_MODE,
60
61   /**
62    * @brief Filtering options, used when resizing images to sample original pixels.
63    * @details Name "samplingMode", type Dali::SamplingMode (Property::INTEGER) or Property::STRING.
64    * @SINCE_1_1.45
65    * @note Optional. If not supplied, default is SamplingMode::BOX.
66    * @note For Normal Quad images only.
67    * @see Dali::SamplingMode
68    */
69   SAMPLING_MODE,
70
71   /**
72    * @brief The desired image width.
73    * @details Name "desiredWidth", type Property::INTEGER.
74    * @SINCE_1_1.45
75    * @note Optional. If not specified, the actual image width is used.
76    * @note For Normal Quad images only.
77    */
78   DESIRED_WIDTH,
79
80   /**
81    * @brief The desired image height.
82    * @details Name "desiredHeight", type Property::INTEGER.
83    * @SINCE_1_1.45
84    * @note Optional. If not specified, the actual image height is used.
85    * @note For Normal Quad images only.
86    */
87   DESIRED_HEIGHT,
88
89   /**
90    * @brief Whether to load the image synchronously.
91    * @details Name "synchronousLoading", type Property::BOOLEAN.
92    * @SINCE_1_1.45
93    * @note Optional. If not specified, the default is false, i.e. the image is loaded asynchronously.
94    * @note For Normal Quad images only.
95    */
96   SYNCHRONOUS_LOADING,
97
98   /**
99    * @brief If true, only draws the borders.
100    * @details Name "borderOnly", type Property::BOOLEAN.
101    * @SINCE_1_1.45
102    * @note Optional. If not specified, the default is false.
103    * @note For N-Patch images only.
104    */
105   BORDER_ONLY,
106
107   /**
108    * @brief The image area to be displayed.
109    * @details Name "pixelArea", type Property::VECTOR4.
110    *          It is a rectangular area.
111    *          The first two elements indicate the top-left position of the area, and the last two elements are the area width and height respectively.
112    * @SINCE_1_2.1
113    * @note Optional. If not specified, the default value is [0.0, 0.0, 1.0, 1.0], i.e. the entire area of the image.
114    * @note For Normal Quad images only.
115    */
116   PIXEL_AREA,
117
118   /**
119    * @brief The wrap mode for u coordinate.
120    * @details Name "wrapModeU", type Dali::WrapMode::Type (Property::INTEGER) or Property::STRING
121    *          It decides how the texture should be sampled when the u coordinate exceeds the range of 0.0 to 1.0.
122    * @SINCE_1_2.1
123    * @note Optional. If not specified, the default is CLAMP.
124    * @note For Normal QUAD image only.
125    */
126   WRAP_MODE_U,
127
128   /**
129    * @brief The wrap mode for v coordinate.
130    * @details Name "wrapModeV", type Dali::WrapMode::Type (Property::INTEGER) or Property::STRING
131    *          it decides how the texture should be sampled when the v coordinate exceeds the range of 0.0 to 1.0.
132    * @SINCE_1_2.1
133    * @note Optional. If not specified, the default is CLAMP.
134    * @note For Normal QUAD image only.
135    */
136   WRAP_MODE_V,
137 };
138
139 } // namespace Property
140
141 } // namespace ImageVisual
142
143 /**
144  * @}
145  */
146
147 } // namespace Toolkit
148
149 } // namespace Dali
150
151 #endif // DALI_TOOLKIT_IMAGE_VISUAL_PROPERTIES_H