Support to use NPatchImage in brokenImage
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / devel-api / styling / style-manager-devel.h
index efcff7d..f1e05d7 100644 (file)
@@ -28,6 +28,18 @@ namespace Toolkit
 namespace DevelStyleManager
 {
 /**
+ * @brief The Type of BrokenImage
+ */
+enum class BrokenImageType
+{
+  SMALL,
+  NORMAL,
+  LARGE
+};
+
+using BrokenImageChangedSignalType = Signal<void(StyleManager)>;
+
+/**
  * @brief Gets all currently defined configurations.
  *
  * @pre The Builder has been initialized.
@@ -36,6 +48,43 @@ namespace DevelStyleManager
 **/
 DALI_TOOLKIT_API const Property::Map GetConfigurations(StyleManager styleManager);
 
+/**
+   * @brief Sets an image to be used when a visual has failed to correctly render
+   * @param[in] styleManager The instance of StyleManager
+   * @param[in] brokenImageType The type of broken image
+   * @param[in] brokenImageUrl The broken image url
+   */
+DALI_TOOLKIT_API void SetBrokenImageUrl(StyleManager styleManager, DevelStyleManager::BrokenImageType brokenImageType, const std::string& brokenImageUrl);
+
+/**
+   * @brief Gets an image to be used when a visual has failed to correctly render
+   * @param[in] styleManager The instance of StyleManager
+   * @param[in] brokenImageType BrokenImage type
+   */
+DALI_TOOLKIT_API std::string GetBrokenImageUrl(StyleManager styleManager, DevelStyleManager::BrokenImageType brokenImageType);
+
+/**
+ * @brief Get the Broken Image Url List
+ *
+ * This list is broken images stored in order of SMALL, NORMAL, and LARGE values except if the value is empty.
+ * This API just makes the list without comparing size, so the application must set a value that matches the size.
+ * @param styleManager The instance of StyleManager
+ * @return A List of Broken Image Url
+ */
+DALI_TOOLKIT_API std::vector<std::string> GetBrokenImageUrlList(StyleManager styleManager);
+
+/**
+ * @brief This signal is emitted when the URL of the broken image is set
+ *
+ * A callback of the following type may be connected:
+ * @code
+ *   void YourCallbackName(StyleManager styleManager)
+ * @endcode
+ * @param styleManager The instance of StyleManager
+ * @return The signal to connect to
+ */
+DALI_TOOLKIT_API BrokenImageChangedSignalType& BrokenImageChangedSignal(StyleManager styleManager);
+
 } // namespace DevelStyleManager
 
 } // namespace Toolkit