propagate unhandled key( DALI_KEY_SEARCH )
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / devel-api / visuals / image-visual-properties-devel.h
1 #ifndef DALI_TOOLKIT_DEVEL_API_VISUALS_IMAGE_VISUAL_PROPERTIES_DEVEL_H
2 #define DALI_TOOLKIT_DEVEL_API_VISUALS_IMAGE_VISUAL_PROPERTIES_DEVEL_H
3
4 /*
5  * Copyright (c) 2017 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/visuals/image-visual-properties.h>
23
24 namespace Dali
25 {
26
27 namespace Toolkit
28 {
29
30 namespace DevelImageVisual
31 {
32
33
34 /**
35  * @brief The policy determining when a image is deleted from the cache in relation to the ImageVisual lifetime.
36  * @note If the texture is being shared by another visual it persist if still required.
37  */
38 namespace ReleasePolicy
39 {
40
41 /**
42  * @brief The available named elements that define the ReleasePolicy.
43  */
44 enum Type
45 {
46   DETACHED = 0,  ///<  Image deleted from cache when ImageVisual detached from stage.
47   DESTROYED,     ///<  Image deleted from cache when ImageVisual destroyed.
48   NEVER          ///<  Image is never deleted, will survive the lifetime of the application.
49 };
50
51 } // namespace ReleasePolicy;
52
53 namespace Property
54 {
55
56 enum Type
57 {
58   URL                 = Dali::Toolkit::ImageVisual::Property::URL,
59   FITTING_MODE        = Dali::Toolkit::ImageVisual::Property::FITTING_MODE,
60   SAMPLING_MODE       = Dali::Toolkit::ImageVisual::Property::SAMPLING_MODE,
61   DESIRED_WIDTH       = Dali::Toolkit::ImageVisual::Property::DESIRED_WIDTH,
62   DESIRED_HEIGHT      = Dali::Toolkit::ImageVisual::Property::DESIRED_HEIGHT,
63   SYNCHRONOUS_LOADING = Dali::Toolkit::ImageVisual::Property::SYNCHRONOUS_LOADING,
64   BORDER_ONLY         = Dali::Toolkit::ImageVisual::Property::BORDER_ONLY,
65   PIXEL_AREA          = Dali::Toolkit::ImageVisual::Property::PIXEL_AREA,
66   WRAP_MODE_U         = Dali::Toolkit::ImageVisual::Property::WRAP_MODE_U,
67   WRAP_MODE_V         = Dali::Toolkit::ImageVisual::Property::WRAP_MODE_V,
68   BORDER              = Dali::Toolkit::ImageVisual::Property::BORDER,
69   ATLASING            = Dali::Toolkit::ImageVisual::Property::ATLASING,
70   ALPHA_MASK_URL      = Dali::Toolkit::ImageVisual::Property::ALPHA_MASK_URL,
71   BATCH_SIZE          = Dali::Toolkit::ImageVisual::Property::BATCH_SIZE,
72   CACHE_SIZE          = Dali::Toolkit::ImageVisual::Property::CACHE_SIZE,
73   FRAME_DELAY         = Dali::Toolkit::ImageVisual::Property::FRAME_DELAY,
74   MASK_CONTENT_SCALE  = Dali::Toolkit::ImageVisual::Property::MASK_CONTENT_SCALE,
75   CROP_TO_MASK        = Dali::Toolkit::ImageVisual::Property::CROP_TO_MASK,
76
77   /**
78    * @brief The policy to determine when an image should no longer be cached.
79    * @details Name "releasePolicy", Type ReleasePolicy::Type (Property::INTEGER) or Property::STRING
80    * @note Default ReleasePolicy::DESTROYED
81    * @see ReleasePolicy::Type
82    */
83   RELEASE_POLICY = CROP_TO_MASK + 2,
84 };
85
86 } //namespace Property
87
88 } // namespace DevelImageVisual
89
90 } // namespace Toolkit
91
92 } // namespace Dali
93
94 #endif // DALI_TOOLKIT_DEVEL_API_VISUALS_IMAGE_VISUAL_PROPERTIES_DEVEL_H