X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Fpublic-api%2Fvisuals%2Fimage-visual-properties.h;h=29b940974da7ad38e7b5648c732e366c1575ce7b;hp=8eff9faf8662664fa2340b54e0687933dd5acb50;hb=ba1c6fea08ea39ca92356ae4b39a952919398e7e;hpb=44bb6ae11e1c189104d9a8c9881bd5e524b398c0 diff --git a/dali-toolkit/public-api/visuals/image-visual-properties.h b/dali-toolkit/public-api/visuals/image-visual-properties.h index 8eff9fa..29b9409 100644 --- a/dali-toolkit/public-api/visuals/image-visual-properties.h +++ b/dali-toolkit/public-api/visuals/image-visual-properties.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_IMAGE_VISUAL_PROPERTIES_H /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,10 +23,8 @@ namespace Dali { - namespace Toolkit { - /** * @addtogroup dali_toolkit_visuals * @{ @@ -38,23 +36,21 @@ namespace Toolkit */ namespace ImageVisual { - /** - * @brief ImageVisual Property + * @brief ImageVisual Property. * @SINCE_1_1.45 */ namespace Property { - /** - * @brief ImageVisual Property + * @brief Enumeration for the instance of properties belonging to the ImageVisual. * @SINCE_1_1.45 */ enum { /** * @brief The URL of the image. - * @details Name "url", type Property::STRING or Property::ARRAY of Property::STRING + * @details Name "url", type Property::STRING or Property::ARRAY of Property::STRING. * @note The array form is used for generating animated image visuals. * @note The number of threads used for local and remote image loading can be controlled by the * environment variables DALI_TEXTURE_LOCAL_THREADS and DALI_TEXTURE_REMOTE_THREADS respectively. @@ -133,7 +129,7 @@ enum /** * @brief The wrap mode for u coordinate. - * @details Name "wrapModeU", type Dali::WrapMode::Type (Property::INTEGER) or Property::STRING + * @details Name "wrapModeU", type Dali::WrapMode::Type (Property::INTEGER) or Property::STRING. * It decides how the texture should be sampled when the u coordinate exceeds the range of 0.0 to 1.0. * @SINCE_1_2.1 * @note Optional. If not specified, the default is CLAMP. @@ -143,17 +139,167 @@ enum /** * @brief The wrap mode for v coordinate. - * @details Name "wrapModeV", type Dali::WrapMode::Type (Property::INTEGER) or Property::STRING + * @details Name "wrapModeV", type Dali::WrapMode::Type (Property::INTEGER) or Property::STRING. * it decides how the texture should be sampled when the v coordinate exceeds the range of 0.0 to 1.0. * @SINCE_1_2.1 * @note Optional. If not specified, the default is CLAMP. * @note For Normal QUAD image only. */ WRAP_MODE_V, + + /** + * @brief The border of the image. + * @details Name "border", type Property::RECTANGLE or Property::VECTOR4. + * The border of the image in the order: left, right, bottom, top. + * @SINCE_1_2.60 + * @note Optional. + * @note For N-Patch images only. + */ + BORDER, + + /** + * @brief Whether to use the texture atlas + * @details Name "atlasing", type Property::BOOLEAN. + * @SINCE_1_2.60 + * @note Optional. By default atlasing is off. + */ + ATLASING, + + /** + * @brief URL of a masking image + * @details Name "alphaMaskUrl", type Property::STRING, URL of image to apply as + * a mask after image loading. If set after the main URL has finished loading, this + * may necessitate a re-load of the main image. The alpha mask image will be scaled + * on load to match the size of the main image, then applied to the pixel data + * before uploading to GL. + * @SINCE_1_2.60 + * @note Optional. + */ + ALPHA_MASK_URL, + + /** + * @brief Defines the batch size for pre-loading images in the AnimatedImageVisual + * @details Name "batchSize", type Property::INTEGER, number of images to pre-load + * before starting to play. Default value: 2 + * @SINCE_1_2.60 + * @note Optional. + * @note Minimum supported value is 2. + */ + BATCH_SIZE, + + /** + * @brief Defines the cache size for loading images in the AnimatedImageVisual + * @details Name "cacheSize", type Property::INTEGER, number of images to keep + * cached ahead during playback. Default value: 2 + * + * @SINCE_1_2.60 + * @note Optional. + * @note Minimum supported value is 2. + * @note, cacheSize should be >= batchSize. + * If it isn't, then the cache will automatically be changed to batchSize. + * @note, because of the defaults, it is expected that the application developer + * tune the batch and cache sizes to their particular use case. + */ + CACHE_SIZE, + + /** + * @brief The number of milliseconds between each frame in the AnimatedImageVisual + * @details Name "frameDelay", type Property::INTEGER, The number of milliseconds between each frame. + * @SINCE_1_2.60 + * @note Optional. + * @note This is only used when multiple URLs are provided. + */ + FRAME_DELAY, + + /** + * @brief The scale factor to apply to the content image before masking + * @details Name "maskContentScale", type Property::FLOAT, The scale factor + * to apply to the content before masking. Note, scaled images are cropped to + * the same size as the alpha mask. + * @SINCE_1_2.60 + * @note Optional. + */ + MASK_CONTENT_SCALE, + + /** + * @brief Whether to crop image to mask or scale mask to fit image + * @details Name "cropToMask", type Property::BOOLEAN, True if the image should + * be cropped to match the mask size, or false if the image should remain the same size. + * @SINCE_1_2.60 + * @note Optional, Default true + * @note If this is false, then the mask is scaled to fit the image before being applied. + */ + CROP_TO_MASK, + + /** + * @brief The policy to determine when an image should be loaded. + * @details Name "loadPolicy", Type LoadPolicy::Type (Property::INTEGER)or Property::STRING. + * @SINCE_1_3_5 + * @note Default LoadPolicy::ATTACHED + * @see LoadPolicy::Type + */ + + LOAD_POLICY, + + /** + * @brief The policy to determine when an image should no longer be cached. + * @details Name "releasePolicy", Type ReleasePolicy::Type (Property::INTEGER) or Property::STRING + * @SINCE_1_3_5 + * @note Default ReleasePolicy::DESTROYED + * @see ReleasePolicy::Type + */ + RELEASE_POLICY, + + /** + * @brief Determines if image orientation should be corrected so the image displays as it was intended. + * @details Name "orientationCorrection", Type Property::BOOLEAN, if true the image's orientation will be corrected. + * @SINCE_1_3_5 + * @note Default true + */ + ORIENTATION_CORRECTION, + }; } // namespace Property +/** + * @brief The policy determining if the image is loaded when the visual is staged or created. + * @SINCE_1_3_5 + */ +namespace LoadPolicy +{ +/** + * @brief The available named elements that define the LoadPolicy. + * @SINCE_1_3_5 + */ +enum Type +{ + IMMEDIATE = 0, ///< The image is loaded when the ImageVisual is created. + ATTACHED ///< The image is loaded when the ImageVisual is attached to the stage. +}; + +} // namespace LoadPolicy + +/** + * @brief The policy determining when a image is deleted from the cache in relation to the ImageVisual lifetime. + * @SINCE_1_3_5 + * @note If the texture is being shared by another visual it persist if still required. + */ +namespace ReleasePolicy +{ +/** + * @brief The available named elements that define the ReleasePolicy. + * @SINCE_1_3_5 + */ +enum Type +{ + DETACHED = 0, ///< Image deleted from cache when ImageVisual detached from stage. + DESTROYED, ///< Image deleted from cache when ImageVisual destroyed. + NEVER ///< Image is never deleted, will survive the lifetime of the application. +}; + +} // namespace ReleasePolicy + } // namespace ImageVisual /**