From: Heeyong Song Date: Wed, 17 Oct 2018 05:30:48 +0000 (+0900) Subject: [4.0] Add Vector animation renderer X-Git-Tag: accepted/tizen/4.0/unified/20190104.230754~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F11%2F192911%2F2;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git [4.0] Add Vector animation renderer Change-Id: I6390df6ea8dd703ac479198c57d5b166ac15ab54 --- diff --git a/adaptors/common/file.list b/adaptors/common/file.list index 37faef3..79dec6d 100644 --- a/adaptors/common/file.list +++ b/adaptors/common/file.list @@ -29,6 +29,8 @@ adaptor_common_internal_src_files = \ $(adaptor_common_dir)/trigger-event.cpp \ $(adaptor_common_dir)/trigger-event-factory.cpp \ $(adaptor_common_dir)/key-impl.cpp \ + $(adaptor_common_dir)/vector-animation-renderer-impl.cpp \ + $(adaptor_common_dir)/vector-animation-renderer-plugin-proxy.cpp \ $(adaptor_common_dir)/video-player-impl.cpp \ $(adaptor_common_dir)/web-engine-lite-impl.cpp \ $(adaptor_common_dir)/events/gesture-manager.cpp \ diff --git a/adaptors/common/vector-animation-renderer-impl.cpp b/adaptors/common/vector-animation-renderer-impl.cpp new file mode 100644 index 0000000..9489b30 --- /dev/null +++ b/adaptors/common/vector-animation-renderer-impl.cpp @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2018 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. + * + */ + +// CLASS HEADER +#include + +// EXTERNAL INCLUDES +#include + +// INTERNAL INCLUDES + +namespace Dali +{ + +namespace Internal +{ + +namespace Adaptor +{ + +namespace // unnamed namespace +{ + +// Type Registration +Dali::BaseHandle Create() +{ + return Dali::BaseHandle(); +} + +Dali::TypeRegistration type( typeid( Dali::VectorAnimationRenderer ), typeid( Dali::BaseHandle ), Create ); + +} // unnamed namespace + +VectorAnimationRendererPtr VectorAnimationRenderer::New() +{ + VectorAnimationRendererPtr renderer = new VectorAnimationRenderer(); + return renderer; +} + +VectorAnimationRenderer::VectorAnimationRenderer() +: mPlugin( std::string() ) +{ +} + +VectorAnimationRenderer::~VectorAnimationRenderer() +{ +} + +void VectorAnimationRenderer::Initialize( const std::string& url, Dali::Renderer renderer, uint32_t width, uint32_t height ) +{ + mPlugin.CreateRenderer( url, renderer, width, height ); +} + +bool VectorAnimationRenderer::StartRender() +{ + return mPlugin.StartRender(); +} + +void VectorAnimationRenderer::StopRender() +{ + mPlugin.StopRender(); +} + +void VectorAnimationRenderer::Render( uint32_t frameNumber ) +{ + mPlugin.Render( frameNumber ); +} + +uint32_t VectorAnimationRenderer::GetTotalFrameNumber() +{ + return mPlugin.GetTotalFrameNumber(); +} + +} // namespace Adaptor + +} // namespace internal + +} // namespace Dali diff --git a/adaptors/common/vector-animation-renderer-impl.h b/adaptors/common/vector-animation-renderer-impl.h new file mode 100755 index 0000000..c6a70a3 --- /dev/null +++ b/adaptors/common/vector-animation-renderer-impl.h @@ -0,0 +1,125 @@ +#ifndef DALI_INTERNAL_VECTOR_ANIMATION_RENDERER_IMPL_H +#define DALI_INTERNAL_VECTOR_ANIMATION_RENDERER_IMPL_H + +/* + * Copyright (c) 2018 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. + * + */ + +// EXTERNAL INCLUDES +#include + +// INTERNAL INCLUDES +#include +#include + +namespace Dali +{ + +namespace Internal +{ + +namespace Adaptor +{ + +class VectorAnimationRenderer; +using VectorAnimationRendererPtr = IntrusivePtr< VectorAnimationRenderer >; + +/** + * Dali internal VectorAnimationRenderer. + */ +class VectorAnimationRenderer : public BaseObject +{ +public: + + /** + * @brief Creates a VectorAnimationRenderer object. + * + * @param[in] url The url of the vector animation file + */ + static VectorAnimationRendererPtr New(); + + /** + * @brief Initializes member data. + */ + void Initialize( const std::string& url, Dali::Renderer renderer, uint32_t width, uint32_t height ); + + /** + * @copydoc Dali::VectorAnimationRenderer::StartRender() + */ + bool StartRender(); + + /** + * @copydoc Dali::VectorAnimationRenderer::StopRender() + */ + void StopRender(); + + /** + * @copydoc Dali::VectorAnimationRenderer::Render() + */ + void Render( uint32_t frameNumber ); + + /** + * @copydoc Dali::VectorAnimationRenderer::GetTotalFrameNumber() + */ + uint32_t GetTotalFrameNumber(); + +private: + + /** + * @brief Constructor + */ + VectorAnimationRenderer(); + + /** + * @brief Destructor. + */ + ~VectorAnimationRenderer(); + +private: + + VectorAnimationRenderer( const VectorAnimationRenderer& ) = delete; + VectorAnimationRenderer& operator=( VectorAnimationRenderer& ) = delete; + +private: + + VectorAnimationRendererPluginProxy mPlugin; +}; + +} // namespace Adaptor + +} // namespace Internal + +inline static Internal::Adaptor::VectorAnimationRenderer& GetImplementation( Dali::VectorAnimationRenderer& renderer ) +{ + DALI_ASSERT_ALWAYS( renderer && "VectorAnimationRenderer handle is empty." ); + + BaseObject& handle = renderer.GetBaseObject(); + + return static_cast< Internal::Adaptor::VectorAnimationRenderer& >( handle ); +} + +inline static const Internal::Adaptor::VectorAnimationRenderer& GetImplementation( const Dali::VectorAnimationRenderer& renderer ) +{ + DALI_ASSERT_ALWAYS( renderer && "VectorAnimationRenderer handle is empty." ); + + const BaseObject& handle = renderer.GetBaseObject(); + + return static_cast< const Internal::Adaptor::VectorAnimationRenderer& >( handle ); +} + +} // namespace Dali + +#endif // DALI_INTERNAL_VECTOR_ANIMATION_RENDERER_IMPL_H diff --git a/adaptors/common/vector-animation-renderer-plugin-proxy.cpp b/adaptors/common/vector-animation-renderer-plugin-proxy.cpp new file mode 100644 index 0000000..9aec054 --- /dev/null +++ b/adaptors/common/vector-animation-renderer-plugin-proxy.cpp @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2018 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. + * + */ + +// CLASS HEADER +#include + +// EXTERNAL INCLUDES +#include +#include + +namespace Dali +{ + +namespace Internal +{ + +namespace Adaptor +{ + +namespace +{ + +// The default plugin name +const char* DEFAULT_OBJECT_NAME( "libdali-vector-animation-renderer-plugin.so" ); + +} + +VectorAnimationRendererPluginProxy::VectorAnimationRendererPluginProxy( const std::string& sharedObjectName ) +: mSharedObjectName(), + mLibHandle( NULL ), + mPlugin( NULL ), + mCreateVectorAnimationRendererPtr( NULL ) +{ + if( !sharedObjectName.empty() ) + { + mSharedObjectName = sharedObjectName; + } + else + { + mSharedObjectName = DEFAULT_OBJECT_NAME; + } + + Initialize(); +} + +VectorAnimationRendererPluginProxy::~VectorAnimationRendererPluginProxy() +{ + if( mPlugin ) + { + delete mPlugin; + mPlugin = NULL; + + if( mLibHandle && dlclose( mLibHandle ) ) + { + DALI_LOG_ERROR( "Error closing vector animation renderer plugin library: %s\n", dlerror() ); + } + } +} + +void VectorAnimationRendererPluginProxy::Initialize() +{ + mLibHandle = dlopen( mSharedObjectName.c_str(), RTLD_LAZY ); + + char* error = dlerror(); + if( mLibHandle == NULL || error != NULL ) + { + DALI_LOG_ERROR( "VectorAnimationRendererPluginProxy::Initialize: dlopen error [%s]\n", error ); + return; + } + + // load plugin + mCreateVectorAnimationRendererPtr = reinterpret_cast< CreateVectorAnimationRendererFunction >( dlsym( mLibHandle, "CreateVectorAnimationRendererPlugin" ) ); + + error = dlerror(); + if( mCreateVectorAnimationRendererPtr == NULL || error != NULL ) + { + DALI_LOG_ERROR( "VectorAnimationRendererPluginProxy::Initialize: Cannot load symbol: %s\n", error ); + return; + } + + mPlugin = mCreateVectorAnimationRendererPtr(); + if( !mPlugin ) + { + DALI_LOG_ERROR("VectorAnimationRendererPluginProxy::Initialize: Plugin creation failed\n"); + return; + } +} + +bool VectorAnimationRendererPluginProxy::CreateRenderer( const std::string& url, Dali::Renderer renderer, uint32_t width, uint32_t height ) +{ + if( mPlugin ) + { + return mPlugin->CreateRenderer( url, renderer, width, height ); + } + return false; +} + +bool VectorAnimationRendererPluginProxy::StartRender() +{ + if( mPlugin ) + { + return mPlugin->StartRender(); + } + return false; +} + +void VectorAnimationRendererPluginProxy::StopRender() +{ + if( mPlugin ) + { + mPlugin->StopRender(); + } +} + +void VectorAnimationRendererPluginProxy::Render( uint32_t frameNumber ) +{ + if( mPlugin ) + { + mPlugin->Render( frameNumber ); + } +} + +uint32_t VectorAnimationRendererPluginProxy::GetTotalFrameNumber() +{ + if( mPlugin ) + { + return mPlugin->GetTotalFrameNumber(); + } + return 0; +} + +} // namespace Adaptor + +} // namespace Internal + +} // namespace Dali diff --git a/adaptors/common/vector-animation-renderer-plugin-proxy.h b/adaptors/common/vector-animation-renderer-plugin-proxy.h new file mode 100644 index 0000000..08ed236 --- /dev/null +++ b/adaptors/common/vector-animation-renderer-plugin-proxy.h @@ -0,0 +1,100 @@ +#ifndef DALI_INTERNAL_VECTOR_ANIMATION_RENDERER_PLUGIN_PROXY_H +#define DALI_INTERNAL_VECTOR_ANIMATION_RENDERER_PLUGIN_PROXY_H + +/* + * Copyright (c) 2018 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. + * + */ + +// INTERNAL INCLUDES +#include + +namespace Dali +{ + +namespace Internal +{ + +namespace Adaptor +{ + +/** + * Proxy class to dynamically load, use and unload vector animation renderer plugin. + */ +class VectorAnimationRendererPluginProxy +{ +public: + + /** + * @brief Constructor + */ + VectorAnimationRendererPluginProxy( const std::string& sharedObjectName ); + + /** + * @brief Destructor + */ + ~VectorAnimationRendererPluginProxy(); + + /** + * @copydoc Dali::VectorAnimationRendererPlugin::CreateRenderer() + */ + bool CreateRenderer( const std::string& url, Dali::Renderer renderer, uint32_t width, uint32_t height ); + + /** + * @copydoc Dali::VectorAnimationRendererPlugin::StartRender() + */ + bool StartRender(); + + /** + * @copydoc Dali::VectorAnimationRendererPlugin::StopRender() + */ + void StopRender(); + + /** + * @copydoc Dali::VectorAnimationRendererPlugin::Render() + */ + void Render( uint32_t frameNumber ); + + /** + * @copydoc Dali::VectorAnimationRendererPlugin::GetTotalFrameNumber() + */ + uint32_t GetTotalFrameNumber(); + +private: + + /** + * Dynamically loads the plugin. + */ + void Initialize(); + +private: + + using CreateVectorAnimationRendererFunction = Dali::VectorAnimationRendererPlugin* (*)(); + + std::string mSharedObjectName; ///< Shared object name + void* mLibHandle; ///< Handle for the loaded library + Dali::VectorAnimationRendererPlugin* mPlugin; ///< Plugin handle + + CreateVectorAnimationRendererFunction mCreateVectorAnimationRendererPtr; ///< Function pointer called in adaptor to create a plugin instance + +}; + +} // namespace Adaptor + +} // namespace Internal + +} // namespace Dali + +#endif // DALI_INTERNAL_VECTOR_ANIMATION_RENDERER_PLUGIN_PROXY_H diff --git a/adaptors/devel-api/adaptor-framework/vector-animation-renderer-plugin.h b/adaptors/devel-api/adaptor-framework/vector-animation-renderer-plugin.h new file mode 100644 index 0000000..316d007 --- /dev/null +++ b/adaptors/devel-api/adaptor-framework/vector-animation-renderer-plugin.h @@ -0,0 +1,92 @@ +#ifndef DALI_VECTOR_ANIMATION_RENDERER_PLUGIN_H +#define DALI_VECTOR_ANIMATION_RENDERER_PLUGIN_H + +/* + * Copyright (c) 2018 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. + * + */ + +// EXTERNAL INCLUDES +#include +#include + +namespace Dali +{ + +/** + * VectorAnimationRendererPlugin is an abstract interface, used by dali-adaptor to render a vector animation. + * A concrete implementation must be created for each platform and provided as a dynamic library which + * will be loaded at run time by the adaptor. + */ +class VectorAnimationRendererPlugin +{ +public: + + /** + * @brief Constructor + */ + VectorAnimationRendererPlugin() {} + + /** + * @brief Destructor + */ + virtual ~VectorAnimationRendererPlugin() {} + + /** + * @brief Creates a renderer to render an vector animation file. + * + * @param[in] url The url of an animation file + * @param[in] renderer The renderer used to render the image + * @param[in] width The target image width + * @param[in] height The target image height + * @return True if the renderer is successfully created, false otherwise + */ + virtual bool CreateRenderer( const std::string& url, Renderer renderer, uint32_t width, uint32_t height ) = 0; + + /** + * @brief Starts the rendering. + * + * @return True if the renderer is successfully started, false otherwise + */ + virtual bool StartRender() = 0; + + /** + * @brief Stops the rendering. + */ + virtual void StopRender() = 0; + + /** + * @brief Renders the content to the target buffer synchronously. + * + * @param[in] frameNumber The frame number to be rendered + */ + virtual void Render( uint32_t frameNumber ) = 0; + + /** + * @brief Gets the total number of frames of the file + * + * @return The total number of frames + */ + virtual uint32_t GetTotalFrameNumber() = 0; + + /** + * @brief Function pointer called in adaptor to create a plugin instance. + */ + using CreateVectorAnimationRendererFunction = VectorAnimationRendererPlugin* (*)(); +}; + +} // namespace Dali + +#endif // DALI_VECTOR_ANIMATION_RENDERER_PLUGIN_H diff --git a/adaptors/devel-api/adaptor-framework/vector-animation-renderer.cpp b/adaptors/devel-api/adaptor-framework/vector-animation-renderer.cpp new file mode 100755 index 0000000..0f6282c --- /dev/null +++ b/adaptors/devel-api/adaptor-framework/vector-animation-renderer.cpp @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2018 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. + * + */ + +// CLASS HEADER +#include + +// INTERNAL INCLUDES +#include + +namespace Dali +{ + +VectorAnimationRenderer VectorAnimationRenderer::New( const std::string& url, Renderer renderer, uint32_t width, uint32_t height ) +{ + Internal::Adaptor::VectorAnimationRendererPtr animationRenderer = Internal::Adaptor::VectorAnimationRenderer::New(); + if( animationRenderer ) + { + animationRenderer->Initialize( url, renderer, width, height ); + } + + return VectorAnimationRenderer( animationRenderer.Get() ); +} + +VectorAnimationRenderer::VectorAnimationRenderer() +{ +} + +VectorAnimationRenderer::~VectorAnimationRenderer() +{ +} + +VectorAnimationRenderer::VectorAnimationRenderer( Internal::Adaptor::VectorAnimationRenderer* internal ) +: BaseHandle( internal ) +{ +} + +VectorAnimationRenderer::VectorAnimationRenderer( const VectorAnimationRenderer& handle ) +: BaseHandle( handle ) +{ +} + +VectorAnimationRenderer& VectorAnimationRenderer::operator=( const VectorAnimationRenderer& rhs ) +{ + BaseHandle::operator=( rhs ); + return *this; +} + +bool VectorAnimationRenderer::StartRender() +{ + return GetImplementation( *this ).StartRender(); +} + +void VectorAnimationRenderer::StopRender() +{ + GetImplementation( *this ).StopRender(); +} + +void VectorAnimationRenderer::Render( uint32_t frameNumber ) +{ + GetImplementation( *this ).Render( frameNumber ); +} + +uint32_t VectorAnimationRenderer::GetTotalFrameNumber() +{ + return GetImplementation( *this ).GetTotalFrameNumber(); +} + +} // namespace Dali diff --git a/adaptors/devel-api/adaptor-framework/vector-animation-renderer.h b/adaptors/devel-api/adaptor-framework/vector-animation-renderer.h new file mode 100755 index 0000000..5b3bf35 --- /dev/null +++ b/adaptors/devel-api/adaptor-framework/vector-animation-renderer.h @@ -0,0 +1,131 @@ +#ifndef DALI_VECTOR_ANIMATION_RENDERER_H +#define DALI_VECTOR_ANIMATION_RENDERER_H + +/* + * Copyright (c) 2018 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. + * + */ + +// EXTERNAL INCLUDES +#include +#include + +namespace Dali +{ +/** + * @addtogroup dali_adaptor_framework + * @{ + */ + +namespace Internal DALI_INTERNAL +{ +namespace Adaptor +{ +class VectorAnimationRenderer; +} +} + +/** + * @brief Used for rendering a vector animation file + */ +class DALI_IMPORT_API VectorAnimationRenderer : public BaseHandle +{ +public: + + /** + * @brief Creates an initialized handle to a new VectorAnimationRenderer. + * + * @param[in] url The url of the vector animation file + * @param[in] renderer The renderer used to render the image + * @param[in] width The width of the content + * @param[in] height The height of the content + * @return A handle to a newly allocated VectorAnimationRenderer + */ + static VectorAnimationRenderer New( const std::string& url, Renderer renderer, uint32_t width, uint32_t height ); + + /** + * @brief Creates an empty handle. + * Use VectorAnimationRenderer::New() to create an initialized object. + */ + VectorAnimationRenderer(); + + /** + * @brief Destructor. + */ + ~VectorAnimationRenderer(); + + /** + * @brief This copy constructor is required for (smart) pointer semantics. + * + * @param[in] handle A reference to the copied handle + */ + VectorAnimationRenderer( const VectorAnimationRenderer& handle ); + + /** + * @brief This assignment operator is required for (smart) pointer semantics. + * + * @param[in] rhs A reference to the copied handle + * @return A reference to this + */ + VectorAnimationRenderer& operator=( const VectorAnimationRenderer& rhs ); + + /** + * @brief Starts the rendering. + * + * @return True if the renderer is successfully started, false otherwise. + */ + bool StartRender(); + + /** + * @brief Stops the rendering. + */ + void StopRender(); + + /** + * @brief Renders the content to the target buffer synchronously. + * + * @param[in] frameNumber The frame number to be rendered + */ + void Render( uint32_t frameNumber ); + + /** + * @brief Gets the total number of frames of the file + * + * @return The total number of frames + */ + uint32_t GetTotalFrameNumber(); + +public: // Signals + +public: // Not intended for application developers + + /// @cond internal + /** + * @brief The constructor. + * @note Not intended for application developers. + * + * @param[in] pointer A pointer to a newly allocated VectorAnimationRenderer + */ + explicit DALI_INTERNAL VectorAnimationRenderer( Internal::Adaptor::VectorAnimationRenderer* internal ); + /// @endcond + +}; + +/** + * @} + */ +} // namespace Dali + +#endif // DALI_VECTOR_ANIMATION_RENDERER_H diff --git a/adaptors/devel-api/file.list b/adaptors/devel-api/file.list index be07de7..9ba0bb5 100644 --- a/adaptors/devel-api/file.list +++ b/adaptors/devel-api/file.list @@ -26,6 +26,7 @@ devel_api_src_files = \ $(adaptor_devel_api_dir)/adaptor-framework/style-monitor.cpp \ $(adaptor_devel_api_dir)/adaptor-framework/tilt-sensor.cpp \ $(adaptor_devel_api_dir)/adaptor-framework/lifecycle-controller.cpp \ + $(adaptor_devel_api_dir)/adaptor-framework/vector-animation-renderer.cpp \ $(adaptor_devel_api_dir)/adaptor-framework/video-player.cpp \ $(adaptor_devel_api_dir)/adaptor-framework/virtual-keyboard.cpp \ $(adaptor_devel_api_dir)/adaptor-framework/web-engine-lite.cpp @@ -62,6 +63,8 @@ devel_api_adaptor_framework_header_files = \ $(adaptor_devel_api_dir)/adaptor-framework/sound-player.h \ $(adaptor_devel_api_dir)/adaptor-framework/style-monitor.h \ $(adaptor_devel_api_dir)/adaptor-framework/tilt-sensor.h \ + $(adaptor_devel_api_dir)/adaptor-framework/vector-animation-renderer.h \ + $(adaptor_devel_api_dir)/adaptor-framework/vector-animation-renderer-plugin.h \ $(adaptor_devel_api_dir)/adaptor-framework/video-player.h \ $(adaptor_devel_api_dir)/adaptor-framework/video-player-plugin.h \ $(adaptor_devel_api_dir)/adaptor-framework/web-engine-lite.h \