X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Fdevel-api%2Fvisuals%2Fimage-visual-properties-devel.h;h=1c5451142af4b027b7e4c610881a980b885b30eb;hp=e87af5d76a056cbd80f9bd04338c269c7d3125fc;hb=2c6a6697e24d39ef061f134b39f30acc5c47b0cb;hpb=2aab2479f7e6d127df4de063328570cc247ce6d4 diff --git a/dali-toolkit/devel-api/visuals/image-visual-properties-devel.h b/dali-toolkit/devel-api/visuals/image-visual-properties-devel.h index e87af5d..1c54511 100644 --- a/dali-toolkit/devel-api/visuals/image-visual-properties-devel.h +++ b/dali-toolkit/devel-api/visuals/image-visual-properties-devel.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_DEVEL_API_VISUALS_IMAGE_VISUAL_PROPERTIES_DEVEL_H /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 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. @@ -30,42 +30,6 @@ namespace Toolkit namespace DevelImageVisual { -/** - * @brief The policy determining if the image is loaded when the visual is staged or created. - */ -namespace LoadPolicy -{ - -/** - * @brief The available named elements that define the LoadPolicy. - */ -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. - * @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. - */ -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 Property { @@ -89,53 +53,139 @@ enum Type FRAME_DELAY = Dali::Toolkit::ImageVisual::Property::FRAME_DELAY, MASK_CONTENT_SCALE = Dali::Toolkit::ImageVisual::Property::MASK_CONTENT_SCALE, CROP_TO_MASK = Dali::Toolkit::ImageVisual::Property::CROP_TO_MASK, + LOAD_POLICY = Dali::Toolkit::ImageVisual::Property::LOAD_POLICY, + RELEASE_POLICY = Dali::Toolkit::ImageVisual::Property::RELEASE_POLICY, + ORIENTATION_CORRECTION = Dali::Toolkit::ImageVisual::Property::ORIENTATION_CORRECTION, /** - * @brief The policy to determine when an image should be loaded. - * @details Name "loadPolicy", Type LoadPolicy::Type (Property::INTEGER)or Property::STRING. - * @note Default LoadPolicy::ATTACHED - * @see LoadPolicy::Type + * @brief Overlays the auxiliary image on top of an NPatch image. + * + * The resulting visual image will be at least as large as the + * smallest possible n-patch or the auxiliary image, whichever is + * larger. + * + * @details Name "auxiliaryImage", Type Property::STRING, URL of the image. + * @note Default true */ - LOAD_POLICY = CROP_TO_MASK + 1, + AUXILIARY_IMAGE = ORIENTATION_CORRECTION + 1, /** - * @brief The policy to determine when an image should no longer be cached. - * @details Name "releasePolicy", Type ReleasePolicy::Type (Property::INTEGER) or Property::STRING - * @note Default ReleasePolicy::DESTROYED - * @see ReleasePolicy::Type + * @brief An alpha value for mixing between the masked main NPatch image and the auxiliary image + * @details Name "auxiliaryImageAlpha", Type Property::FLOAT, between 0 and 1 + * @note Default 0 */ - RELEASE_POLICY = CROP_TO_MASK + 2, + AUXILIARY_IMAGE_ALPHA = ORIENTATION_CORRECTION + 2, /** - * @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. - * @note Default true + * @brief The number of times the AnimatedImageVisual or AnimatedVectorImageVisual will be looped. + * @details Name "loopCount", type Property::INTEGER. + * @note For Animated images only. Default -1. if < 0, loop unlimited. else, loop loopCount times. */ - ORIENTATION_CORRECTION = CROP_TO_MASK + 3, + LOOP_COUNT = ORIENTATION_CORRECTION + 3, /** - * @brief Overlays the auxiliary iamge on top of an NPatch image. + * @brief The playing range the AnimatedVectorImageVisual will use. * - * The resulting visual image will be at least as large as the - * smallest possible n-patch or the auxiliary image, whichever is - * larger. + * Animation will play between the values specified. The array can only have two values, and more will be ignored. + * Both values should be between 0 and the total frame number, otherwise they will be ignored. + * If the range provided is not in proper order ( minimum, maximum ), it will be reordered. * - * @details Name "auxiliaryImage", Type Property::STRING, URL of the image. - * @note Default true + * @details Name "playRange", Type Property::ARRAY of Property::INTEGER + * @note Default 0 and the total frame number. */ - AUXILIARY_IMAGE = CROP_TO_MASK + 4, + PLAY_RANGE = ORIENTATION_CORRECTION + 4, /** - * @brief An alpha value for mixing between the masked main NPatch image and the auxiliary image - * @details Name "auxiliaryImageAlpha", Type Property::FLOAT, between 0 and 1 - * @note Default 0 + * @brief The playing state the AnimatedVectorImageVisual will use. + * @details Name "playState", Type PlayState::Type (Property::INTEGER) + * @note This property is read-only. */ - AUXILIARY_IMAGE_ALPHA = CROP_TO_MASK + 5, + PLAY_STATE = ORIENTATION_CORRECTION + 5, + /** + * @brief The current frame number the AnimatedVectorImageVisual will use. + * @details Name "currentFrameNumber", Type Property::INTEGER, between [0, the maximum frame number] or between the play range if specified + * @note This property is read-only. + */ + CURRENT_FRAME_NUMBER = ORIENTATION_CORRECTION + 6, + + /** + * @brief The total frame number the AnimatedVectorImageVisual will use. + * @details Name "totalFrameNumber", Type Property::INTEGER. + * @note This property is read-only. + */ + TOTAL_FRAME_NUMBER = ORIENTATION_CORRECTION + 7, + + /** + * @brief The stop behavior the AnimatedVectorImageVisual will use. + * @details Name "stopBehavior", Type StopBehavior::Type (Property::INTEGER) + * @note Default value is StopBehavior::CURRENT_FRAME. + */ + STOP_BEHAVIOR = ORIENTATION_CORRECTION + 8, + + /** + * @brief The looping mode the AnimatedVectorImageVisual will use. + * @details Name "loopingMode", Type LoopingMode::Type (Property::INTEGER) + * @note Default value is LoopingMode::RESTART. + */ + LOOPING_MODE = ORIENTATION_CORRECTION + 9, + + /** + * @brief The content information the AnimatedVectorImageVisual will use. + * @details Name "contentInfo", Type Property::MAP. + * The map contains the layer name as a key and Property::Array as a value. + * And the array contains 2 integer values which are the frame numbers, the start frame number and the end frame number of the layer. + * @note This property is read-only. + */ + CONTENT_INFO = ORIENTATION_CORRECTION + 10 }; } //namespace Property +/** + * @brief Enumeration for what state the animation is in. + */ +namespace PlayState +{ + +enum Type +{ + STOPPED, ///< Animation has stopped + PLAYING, ///< The animation is playing + PAUSED ///< The animation is paused +}; + +} // namespace PlayState + +/** + * @brief Enumeration for what to do when the animation is stopped. + */ +namespace StopBehavior +{ + +enum Type +{ + CURRENT_FRAME, ///< When the animation is stopped, the current frame is shown. + FIRST_FRAME, ///< When the animation is stopped, the first frame is shown. + LAST_FRAME ///< When the animation is stopped, the last frame is shown. +}; + +} // namespace StopBehavoir + +/** + * @brief Enumeration for what looping mode is in. + */ +namespace LoopingMode +{ + +enum Type +{ + RESTART, ///< When the animation arrives at the end in looping mode, the animation restarts from the beginning. + AUTO_REVERSE ///< When the animation arrives at the end in looping mode, the animation reverses direction and runs backwards again. +}; + +} // namespace LoopingMode + } // namespace DevelImageVisual } // namespace Toolkit