Merge "CanvasRenderer: Revise for-loop using ranged-based" into devel/master
authorjunsu choi <jsuya.choi@samsung.com>
Fri, 30 Apr 2021 04:18:28 +0000 (04:18 +0000)
committerGerrit Code Review <gerrit@review>
Fri, 30 Apr 2021 04:18:28 +0000 (04:18 +0000)
dali/devel-api/adaptor-framework/canvas-renderer-drawable.h
dali/internal/canvas-renderer/common/canvas-renderer-factory.cpp [deleted file]
dali/internal/canvas-renderer/common/drawable-factory.cpp [deleted file]
dali/internal/canvas-renderer/common/shape-factory.cpp [deleted file]
dali/internal/canvas-renderer/file.list
dali/internal/graphics/gles-impl/egl-graphics-controller.h
dali/internal/system/windows/callback-manager-win.cpp
dali/internal/system/windows/widget-application-impl-win.h
dali/internal/vector-animation/common/vector-animation-renderer-plugin-proxy.cpp
dali/internal/vector-animation/common/vector-animation-renderer-plugin-proxy.h

index 0857105..a1ec2db 100644 (file)
@@ -45,7 +45,7 @@ class Shape;
 /**
  * @brief Drawable is a object class for drawing a vector primitive.
  */
-class CanvasRenderer::Drawable : public BaseHandle
+class DALI_ADAPTOR_API CanvasRenderer::Drawable : public BaseHandle
 {
 public:
   /**
diff --git a/dali/internal/canvas-renderer/common/canvas-renderer-factory.cpp b/dali/internal/canvas-renderer/common/canvas-renderer-factory.cpp
deleted file mode 100644 (file)
index 62d1dec..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2021 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include <dali/internal/canvas-renderer/common/canvas-renderer-factory.h>
-#include <dali/internal/canvas-renderer/common/canvas-renderer-impl.h>
-
-namespace Dali
-{
-namespace Internal
-{
-namespace Adaptor
-{
-namespace CanvasRendererFactory
-{
-__attribute__((weak)) Dali::Internal::Adaptor::CanvasRenderer* New(const Vector2& viewBox)
-{
-  return new Internal::Adaptor::CanvasRenderer();
-}
-
-} // namespace CanvasRendererFactory
-
-} // namespace Adaptor
-
-} // namespace Internal
-
-} // namespace Dali
diff --git a/dali/internal/canvas-renderer/common/drawable-factory.cpp b/dali/internal/canvas-renderer/common/drawable-factory.cpp
deleted file mode 100644 (file)
index fa067b1..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2021 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include <dali/internal/canvas-renderer/common/drawable-factory.h>
-#include <dali/internal/canvas-renderer/common/drawable-impl.h>
-
-namespace Dali
-{
-namespace Internal
-{
-namespace Adaptor
-{
-namespace DrawableFactory
-{
-__attribute__((weak)) Dali::Internal::Adaptor::Drawable* New()
-{
-  return new Internal::Adaptor::Drawable();
-}
-
-} // namespace DrawableFactory
-
-} // namespace Adaptor
-
-} // namespace Internal
-
-} // namespace Dali
diff --git a/dali/internal/canvas-renderer/common/shape-factory.cpp b/dali/internal/canvas-renderer/common/shape-factory.cpp
deleted file mode 100644 (file)
index e1910aa..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2021 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include <dali/internal/canvas-renderer/common/shape-factory.h>
-#include <dali/internal/canvas-renderer/common/shape-impl.h>
-
-namespace Dali
-{
-namespace Internal
-{
-namespace Adaptor
-{
-namespace ShapeFactory
-{
-__attribute__((weak)) Dali::Internal::Adaptor::Shape* New()
-{
-  // default implementation returns 'dummy'.
-  return new Internal::Adaptor::Shape();
-}
-
-} // namespace ShapeFactory
-
-} // namespace Adaptor
-
-} // namespace Internal
-
-} // namespace Dali
index 31cdfcc..baa5950 100644 (file)
@@ -1,17 +1,14 @@
 
 # module: canvas-renderer, backend: generic (android, macos, window)
 SET( adaptor_canvas_renderer_generic_src_files
-    ${adaptor_canvas_renderer_dir}/common/canvas-renderer-factory.cpp
     ${adaptor_canvas_renderer_dir}/common/canvas-renderer-impl.cpp
     ${adaptor_canvas_renderer_dir}/generic/canvas-renderer-factory-generic.cpp
     ${adaptor_canvas_renderer_dir}/generic/canvas-renderer-impl-generic.cpp
 
-    ${adaptor_canvas_renderer_dir}/common/drawable-factory.cpp
     ${adaptor_canvas_renderer_dir}/common/drawable-impl.cpp
     ${adaptor_canvas_renderer_dir}/generic/drawable-factory-generic.cpp
     ${adaptor_canvas_renderer_dir}/generic/drawable-impl-generic.cpp
 
-    ${adaptor_canvas_renderer_dir}/common/shape-factory.cpp
     ${adaptor_canvas_renderer_dir}/common/shape-impl.cpp
     ${adaptor_canvas_renderer_dir}/generic/shape-factory-generic.cpp
     ${adaptor_canvas_renderer_dir}/generic/shape-impl-generic.cpp
@@ -19,17 +16,14 @@ SET( adaptor_canvas_renderer_generic_src_files
 
 # module: canvas-renderer, backend: ubuntu
 SET( adaptor_canvas_renderer_ubuntu_src_files
-    ${adaptor_canvas_renderer_dir}/common/canvas-renderer-factory.cpp
     ${adaptor_canvas_renderer_dir}/common/canvas-renderer-impl.cpp
     ${adaptor_canvas_renderer_dir}/ubuntu/canvas-renderer-factory-ubuntu.cpp
     ${adaptor_canvas_renderer_dir}/ubuntu/canvas-renderer-impl-ubuntu.cpp
 
-    ${adaptor_canvas_renderer_dir}/common/drawable-factory.cpp
     ${adaptor_canvas_renderer_dir}/common/drawable-impl.cpp
     ${adaptor_canvas_renderer_dir}/ubuntu/drawable-factory-ubuntu.cpp
     ${adaptor_canvas_renderer_dir}/ubuntu/drawable-impl-ubuntu.cpp
 
-    ${adaptor_canvas_renderer_dir}/common/shape-factory.cpp
     ${adaptor_canvas_renderer_dir}/common/shape-impl.cpp
     ${adaptor_canvas_renderer_dir}/ubuntu/shape-factory-ubuntu.cpp
     ${adaptor_canvas_renderer_dir}/ubuntu/shape-impl-ubuntu.cpp
@@ -37,17 +31,14 @@ SET( adaptor_canvas_renderer_ubuntu_src_files
 
 # module: canvas-renderer, backend: tizen (generic, ivi, mobile, tizen-post, tv, wearable)
 SET( adaptor_canvas_renderer_tizen_src_files
-    ${adaptor_canvas_renderer_dir}/common/canvas-renderer-factory.cpp
     ${adaptor_canvas_renderer_dir}/common/canvas-renderer-impl.cpp
     ${adaptor_canvas_renderer_dir}/tizen/canvas-renderer-factory-tizen.cpp
     ${adaptor_canvas_renderer_dir}/tizen/canvas-renderer-impl-tizen.cpp
 
-    ${adaptor_canvas_renderer_dir}/common/drawable-factory.cpp
     ${adaptor_canvas_renderer_dir}/common/drawable-impl.cpp
     ${adaptor_canvas_renderer_dir}/tizen/drawable-factory-tizen.cpp
     ${adaptor_canvas_renderer_dir}/tizen/drawable-impl-tizen.cpp
 
-    ${adaptor_canvas_renderer_dir}/common/shape-factory.cpp
     ${adaptor_canvas_renderer_dir}/common/shape-impl.cpp
     ${adaptor_canvas_renderer_dir}/tizen/shape-factory-tizen.cpp
     ${adaptor_canvas_renderer_dir}/tizen/shape-impl-tizen.cpp
index ccfe519..8317fd8 100644 (file)
@@ -56,7 +56,7 @@ class PipelineCache;
  *
  * Temporarily holds the old GL abstractions whilst dali-core is migrated to the new API.
  */
-DALI_IMPORT_API class EglGraphicsController : public Graphics::Controller
+class EglGraphicsController : public Graphics::Controller
 {
 public:
   /**
index 84a1279..19bf14d 100644 (file)
 \r
 // EXTERNAL INCLUDES\r
 #include <Windows.h>\r
+\r
+// Need to undef the following constants as they are defined in one of the headers in Windows.h but used in DALi (via debug.h)\r
+#undef TRANSPARENT // Used in constants.h\r
+#undef CopyMemory // Used in dali-vector.h\r
+\r
 #include <dali/integration-api/debug.h>\r
 \r
 // INTERNAL INCLUDES\r
index aab4077..a9786fe 100644 (file)
@@ -20,7 +20,7 @@
 
 // INTERNAL INCLUDES
 #include <dali/internal/adaptor/common/application-impl.h>
-#include <dali/internal/system/common //widget-application-impl.h>
+#include <dali/internal/system/common/widget-application-impl.h>
 #include <dali/public-api/adaptor-framework/widget-application.h>
 
 namespace Dali
index 78b747a..bee8d9a 100644 (file)
@@ -32,6 +32,8 @@ namespace
 {
 // The default plugin name
 const char* DEFAULT_OBJECT_NAME("libdali2-vector-animation-renderer-plugin.so");
+// The rive animation plugin name
+const char* RIVE_OBJECT_NAME("libdali2-rive-animation-renderer-plugin.so");
 
 } // namespace
 
@@ -50,8 +52,6 @@ VectorAnimationRendererPluginProxy::VectorAnimationRendererPluginProxy(const std
   {
     mSharedObjectName = DEFAULT_OBJECT_NAME;
   }
-
-  Initialize();
 }
 
 VectorAnimationRendererPluginProxy::~VectorAnimationRendererPluginProxy()
@@ -68,8 +68,25 @@ VectorAnimationRendererPluginProxy::~VectorAnimationRendererPluginProxy()
   }
 }
 
-void VectorAnimationRendererPluginProxy::Initialize()
+void VectorAnimationRendererPluginProxy::Initialize(AnimationFormat format)
 {
+  // initialization should be once
+  if(mPlugin)
+  {
+    return;
+  }
+
+  if(format == AnimationFormat::RIVE)
+  {
+    // for Rive
+    mSharedObjectName = RIVE_OBJECT_NAME;
+  }
+  else
+  {
+    // for Json
+    mSharedObjectName = DEFAULT_OBJECT_NAME;
+  }
+
   mLibHandle = dlopen(mSharedObjectName.c_str(), RTLD_LAZY);
 
   char* error = dlerror();
@@ -107,6 +124,19 @@ void VectorAnimationRendererPluginProxy::Finalize()
 
 bool VectorAnimationRendererPluginProxy::Load(const std::string& url)
 {
+  AnimationFormat format;
+  std::string     extensionName = url.substr(url.find_last_of(".") + 1);
+  if(extensionName == "riv")
+  {
+    format = AnimationFormat::RIVE;
+  }
+  else
+  {
+    format = AnimationFormat::JSON;
+  }
+
+  Initialize(format);
+
   if(mPlugin)
   {
     return mPlugin->Load(url);
index ef4f016..c105e39 100644 (file)
@@ -111,9 +111,19 @@ public:
 
 private:
   /**
+   * Vector Animation formats.
+   */
+  enum class AnimationFormat
+  {
+     NONE = 0,
+     JSON,
+     RIVE
+  };
+
+  /**
    * Dynamically loads the plugin.
    */
-  void Initialize();
+  void Initialize(AnimationFormat format);
 
 private:
   using CreateVectorAnimationRendererFunction = Dali::VectorAnimationRendererPlugin* (*)();