Merge "Fixed the ItemView already scrolled to end 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 /**
36  * @brief ImageVisual is to render an image into the control's quad.
37  * @SINCE_1_1.45
38  */
39 namespace ImageVisual
40 {
41
42 /**
43  * @brief ImageVisual Property
44  * @SINCE_1_1.45
45  */
46 namespace Property
47 {
48
49 /**
50  * @brief ImageVisual Property
51  * @SINCE_1_1.45
52  */
53 enum
54 {
55   /**
56    * @brief The URL of the image.
57    * @details Name "url", type Property::STRING.
58    * @SINCE_1_1.45
59    * @note Mandatory.
60    */
61   URL = VISUAL_PROPERTY_START_INDEX,
62
63   /**
64    * @brief Fitting options, used when resizing images to fit desired dimensions.
65    * @details Name "fittingMode", type Dali::FittingMode (Property::INTEGER) or Property::STRING.
66    * @SINCE_1_1.45
67    * @note Optional. If not supplied, default is FittingMode::SHRINK_TO_FIT.
68    * @note For Normal Quad images only.
69    * @see Dali::FittingMode
70    */
71   FITTING_MODE,
72
73   /**
74    * @brief Filtering options, used when resizing images to sample original pixels.
75    * @details Name "samplingMode", type Dali::SamplingMode (Property::INTEGER) or Property::STRING.
76    * @SINCE_1_1.45
77    * @note Optional. If not supplied, default is SamplingMode::BOX.
78    * @note For Normal Quad images only.
79    * @see Dali::SamplingMode
80    */
81   SAMPLING_MODE,
82
83   /**
84    * @brief The desired image width.
85    * @details Name "desiredWidth", type Property::INTEGER.
86    * @SINCE_1_1.45
87    * @note Optional. If not specified, the actual image width is used.
88    * @note For Normal Quad images only.
89    */
90   DESIRED_WIDTH,
91
92   /**
93    * @brief The desired image height.
94    * @details Name "desiredHeight", type Property::INTEGER.
95    * @SINCE_1_1.45
96    * @note Optional. If not specified, the actual image height is used.
97    * @note For Normal Quad images only.
98    */
99   DESIRED_HEIGHT,
100
101   /**
102    * @brief Whether to load the image synchronously.
103    * @details Name "synchronousLoading", type Property::BOOLEAN.
104    * @SINCE_1_1.45
105    * @note Optional. If not specified, the default is false, i.e. the image is loaded asynchronously.
106    * @note For Normal Quad images only.
107    */
108   SYNCHRONOUS_LOADING,
109
110   /**
111    * @brief If true, only draws the borders.
112    * @details Name "borderOnly", type Property::BOOLEAN.
113    * @SINCE_1_1.45
114    * @note Optional. If not specified, the default is false.
115    * @note For N-Patch images only.
116    */
117   BORDER_ONLY,
118
119   /**
120    * @brief The image area to be displayed.
121    * @details Name "pixelArea", type Property::VECTOR4.
122    *          It is a rectangular area.
123    *          The first two elements indicate the top-left position of the area, and the last two elements are the area width and height respectively.
124    * @SINCE_1_2.1
125    * @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.
126    * @note For Normal Quad images only.
127    */
128   PIXEL_AREA,
129
130   /**
131    * @brief The wrap mode for u coordinate.
132    * @details Name "wrapModeU", type Dali::WrapMode::Type (Property::INTEGER) or Property::STRING
133    *          It decides how the texture should be sampled when the u coordinate exceeds the range of 0.0 to 1.0.
134    * @SINCE_1_2.1
135    * @note Optional. If not specified, the default is CLAMP.
136    * @note For Normal QUAD image only.
137    */
138   WRAP_MODE_U,
139
140   /**
141    * @brief The wrap mode for v coordinate.
142    * @details Name "wrapModeV", type Dali::WrapMode::Type (Property::INTEGER) or Property::STRING
143    *          it decides how the texture should be sampled when the v coordinate exceeds the range of 0.0 to 1.0.
144    * @SINCE_1_2.1
145    * @note Optional. If not specified, the default is CLAMP.
146    * @note For Normal QUAD image only.
147    */
148   WRAP_MODE_V,
149 };
150
151 } // namespace Property
152
153 } // namespace ImageVisual
154
155 /**
156  * @}
157  */
158
159 } // namespace Toolkit
160
161 } // namespace Dali
162
163 #endif // DALI_TOOLKIT_IMAGE_VISUAL_PROPERTIES_H