From: junsu choi Date: Fri, 30 Apr 2021 04:18:28 +0000 (+0000) Subject: Merge "CanvasRenderer: Revise for-loop using ranged-based" into devel/master X-Git-Tag: dali_2.0.25~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3f64b105e601e7becc602b90e3b5ddcec5f7394b;hp=82cacd89ca3ca242f966d040398ed9ddf15b0276;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git Merge "CanvasRenderer: Revise for-loop using ranged-based" into devel/master --- diff --git a/dali/devel-api/adaptor-framework/canvas-renderer-drawable.h b/dali/devel-api/adaptor-framework/canvas-renderer-drawable.h index 0857105..a1ec2db 100644 --- a/dali/devel-api/adaptor-framework/canvas-renderer-drawable.h +++ b/dali/devel-api/adaptor-framework/canvas-renderer-drawable.h @@ -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 index 62d1dec..0000000 --- a/dali/internal/canvas-renderer/common/canvas-renderer-factory.cpp +++ /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 -#include - -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 index fa067b1..0000000 --- a/dali/internal/canvas-renderer/common/drawable-factory.cpp +++ /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 -#include - -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 index e1910aa..0000000 --- a/dali/internal/canvas-renderer/common/shape-factory.cpp +++ /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 -#include - -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 diff --git a/dali/internal/canvas-renderer/file.list b/dali/internal/canvas-renderer/file.list index 31cdfcc..baa5950 100644 --- a/dali/internal/canvas-renderer/file.list +++ b/dali/internal/canvas-renderer/file.list @@ -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 diff --git a/dali/internal/graphics/gles-impl/egl-graphics-controller.h b/dali/internal/graphics/gles-impl/egl-graphics-controller.h index ccfe519..8317fd8 100644 --- a/dali/internal/graphics/gles-impl/egl-graphics-controller.h +++ b/dali/internal/graphics/gles-impl/egl-graphics-controller.h @@ -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: /** diff --git a/dali/internal/system/windows/callback-manager-win.cpp b/dali/internal/system/windows/callback-manager-win.cpp index 84a1279..19bf14d 100644 --- a/dali/internal/system/windows/callback-manager-win.cpp +++ b/dali/internal/system/windows/callback-manager-win.cpp @@ -20,6 +20,11 @@ // EXTERNAL INCLUDES #include + +// 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) +#undef TRANSPARENT // Used in constants.h +#undef CopyMemory // Used in dali-vector.h + #include // INTERNAL INCLUDES diff --git a/dali/internal/system/windows/widget-application-impl-win.h b/dali/internal/system/windows/widget-application-impl-win.h index aab4077..a9786fe 100644 --- a/dali/internal/system/windows/widget-application-impl-win.h +++ b/dali/internal/system/windows/widget-application-impl-win.h @@ -20,7 +20,7 @@ // INTERNAL INCLUDES #include -#include +#include #include namespace Dali diff --git a/dali/internal/vector-animation/common/vector-animation-renderer-plugin-proxy.cpp b/dali/internal/vector-animation/common/vector-animation-renderer-plugin-proxy.cpp index 78b747a..bee8d9a 100644 --- a/dali/internal/vector-animation/common/vector-animation-renderer-plugin-proxy.cpp +++ b/dali/internal/vector-animation/common/vector-animation-renderer-plugin-proxy.cpp @@ -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); diff --git a/dali/internal/vector-animation/common/vector-animation-renderer-plugin-proxy.h b/dali/internal/vector-animation/common/vector-animation-renderer-plugin-proxy.h index ef4f016..c105e39 100644 --- a/dali/internal/vector-animation/common/vector-animation-renderer-plugin-proxy.h +++ b/dali/internal/vector-animation/common/vector-animation-renderer-plugin-proxy.h @@ -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* (*)();