[dali_2.3.22] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / devel-api / visuals / image-visual-properties-devel.h
index 3c0e7d6..90e868e 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_DEVEL_API_VISUALS_IMAGE_VISUAL_PROPERTIES_DEVEL_H
 
 /*
- * Copyright (c) 2023 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2024 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.
@@ -133,7 +133,7 @@ enum Type
 
   /**
    * @brief The content information the AnimatedVectorImageVisual will use.
-   * @details Name "contentInfo", Type Property::MAP.
+   * @details 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.
@@ -158,12 +158,59 @@ enum Type
   MASKING_TYPE = ORIENTATION_CORRECTION + 12,
 
   /**
+   * @brief If true, uploads texture before ResourceReady signal is emitted. Otherwise uploads after texture load is completed.
+   * @details Name "fastTrackUploading", type Property::BOOLEAN
+   * If true, the upload happens without event-thread dependency, but the following need to be considered:
+   *  - Texture size is not valid until upload is fully complete.
+   *  - Texture cannot be cached (a new image is uploaded every time).
+   *  - Seamless visual change is not supported.
+   *  - The following, if set are also not supported and will be ignored:
+   *    - Alpha masking
+   *    - Synchronous loading
+   *    - Reload action
+   *    - Atlas loading
+   *    - Custom shader
+   * @note Used by the ImageVisual. The default is false.
+   */
+  FAST_TRACK_UPLOADING = ORIENTATION_CORRECTION + 13,
+
+  /**
    * @brief Whether to enable broken image in image visual.
    * Some of visual don't need to show broken image(ex. placeholder)
    * Disable broken image for these visuals.
    * default is true.
    */
-  ENABLE_BROKEN_IMAGE = ORIENTATION_CORRECTION + 14
+  ENABLE_BROKEN_IMAGE = ORIENTATION_CORRECTION + 14,
+
+  /**
+   * @brief The marker information the AnimatedVectorImageVisual will use.
+   * @details Type Property::MAP.
+   * The map contains the marker 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 marker.
+   * @note This property is read-only.
+   */
+  MARKER_INFO = ORIENTATION_CORRECTION + 15,
+
+  /**
+   * @brief Whether to AnimatedVectorImageVisual fixed cache or not.
+   * @details Name "enableFrameCache", type Property::BOOLEAN.
+   * If this property is true, AnimatedVectorImageVisual enable frame cache for loading and keeps loaded frame
+   * until the visual is removed. It reduces CPU cost when the animated image will be looping.
+   * But it can spend a lot of memory if the resource has high resolution image or many frame count.
+   * @note It is used in the AnimatedVectorImageVisual. The default is false
+   */
+  ENABLE_FRAME_CACHE = ORIENTATION_CORRECTION + 16,
+
+  /**
+   * @brief Whether notify AnimatedVectorImageVisual to render thread after every rasterization or not.
+   * @details Name "notifyAfterRasterization", type Property::BOOLEAN.
+   * If this property is true, AnimatedVectorImageVisual send notify to render thread after every rasterization.
+   * If false, AnimatedVectorImageVisual set Renderer's Behaviour as Continouly (mean, always update the render thread.)
+   *
+   * This flag is useful if given resource has low fps, so we don't need to render every frame.
+   * @note It is used in the AnimatedVectorImageVisual. The default is false.
+   */
+  NOTIFY_AFTER_RASTERIZATION = ORIENTATION_CORRECTION + 17
 };
 
 } //namespace Property