(AnimatedVector) Support VectorAnimationRenderer load from data 98/300598/3
authorEunki Hong <eunkiki.hong@samsung.com>
Sat, 28 Oct 2023 16:34:28 +0000 (01:34 +0900)
committerEunki Hong <eunkiki.hong@samsung.com>
Mon, 30 Oct 2023 07:26:17 +0000 (16:26 +0900)
Change-Id: I758129df0cc7c9fe2556d5dca2b7e6dec08a2d03
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
dali/devel-api/adaptor-framework/vector-animation-renderer-plugin.h
dali/devel-api/adaptor-framework/vector-animation-renderer.cpp
dali/devel-api/adaptor-framework/vector-animation-renderer.h
dali/internal/vector-animation/common/vector-animation-renderer-impl.cpp
dali/internal/vector-animation/common/vector-animation-renderer-impl.h
dali/internal/vector-animation/common/vector-animation-renderer-plugin-proxy.cpp
dali/internal/vector-animation/common/vector-animation-renderer-plugin-proxy.h

index 3b87f4a..150b7a7 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_VECTOR_ANIMATION_RENDERER_PLUGIN_H
 
 /*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
@@ -66,6 +66,14 @@ public:
   virtual bool Load(const std::string& url) = 0;
 
   /**
+   * @brief Loads the animation file by buffer.
+   *
+   * @param[in] data The raw buffer of the vector animation file
+   * @return True if loading success, false otherwise.
+   */
+  virtual bool Load(const Dali::Vector<uint8_t>& data) = 0;
+
+  /**
    * @brief Sets the renderer used to display the result image.
    *
    * @param[in] renderer The renderer used to display the result image
index 33ea624..29e3a37 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
@@ -63,6 +63,11 @@ bool VectorAnimationRenderer::Load(const std::string& url)
   return GetImplementation(*this).Load(url);
 }
 
+bool VectorAnimationRenderer::Load(const Dali::Vector<uint8_t>& data)
+{
+  return GetImplementation(*this).Load(data);
+}
+
 void VectorAnimationRenderer::SetRenderer(Renderer renderer)
 {
   GetImplementation(*this).SetRenderer(renderer);
index 1636c1f..15f148b 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_VECTOR_ANIMATION_RENDERER_H
 
 /*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
@@ -21,6 +21,7 @@
 // EXTERNAL INCLUDES
 #include <dali/public-api/object/base-handle.h>
 #include <dali/public-api/rendering/renderer.h>
+#include <dali/public-api/common/dali-vector.h>
 
 // INTERNAL INCLUDES
 #include <dali/public-api/dali-adaptor-common.h>
@@ -110,6 +111,14 @@ public:
   bool Load(const std::string& url);
 
   /**
+   * @brief Loads the animation file by buffer.
+   *
+   * @param[in] data The raw buffer of the vector animation file
+   * @return True if loading success, false otherwise.
+   */
+  bool Load(const Dali::Vector<uint8_t>& data);
+
+  /**
    * @brief Sets the renderer used to display the result image.
    *
    * @param[in] renderer The renderer used to display the result image
index a4af959..3d9caa6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
@@ -66,6 +66,11 @@ bool VectorAnimationRenderer::Load(const std::string& url)
   return mPlugin.Load(url);
 }
 
+bool VectorAnimationRenderer::Load(const Vector<uint8_t>& data)
+{
+  return mPlugin.Load(data);
+}
+
 void VectorAnimationRenderer::SetRenderer(Dali::Renderer renderer)
 {
   mPlugin.SetRenderer(renderer);
index 94d9cdd..296026c 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_INTERNAL_VECTOR_ANIMATION_RENDERER_IMPL_H
 
 /*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
@@ -58,6 +58,11 @@ public:
   bool Load(const std::string& url);
 
   /**
+   * @copydoc Dali::VectorAnimationRenderer::Load()
+   */
+  bool Load(const Vector<uint8_t>& data);
+
+  /**
    * @copydoc Dali::VectorAnimationRenderer::SetRenderer()
    */
   void SetRenderer(Dali::Renderer renderer);
index 011c9cd..aaeea75 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
@@ -114,6 +114,15 @@ bool VectorAnimationRendererPluginProxy::Load(const std::string& url)
   return false;
 }
 
+bool VectorAnimationRendererPluginProxy::Load(const Vector<uint8_t>& data)
+{
+  if(mPlugin)
+  {
+    return mPlugin->Load(data);
+  }
+  return false;
+}
+
 void VectorAnimationRendererPluginProxy::SetRenderer(Dali::Renderer renderer)
 {
   if(mPlugin)
index 2be98ea..e65a2cb 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_INTERNAL_VECTOR_ANIMATION_RENDERER_PLUGIN_PROXY_H
 
 /*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
@@ -54,6 +54,11 @@ public:
   bool Load(const std::string& url);
 
   /**
+   * @copydoc Dali::VectorAnimationRendererPlugin::Load()
+   */
+  bool Load(const Vector<uint8_t>& data);
+
+  /**
    * @copydoc Dali::VectorAnimationRendererPlugin::SetRenderer()
    */
   void SetRenderer(Dali::Renderer renderer);