(Vector) Add a method to ignore a rendered frame
[platform/core/uifw/dali-adaptor.git] / dali / internal / vector-animation / common / vector-animation-renderer-plugin-proxy.cpp
index 8e7e1d2..2a272c4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 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.
@@ -43,7 +43,8 @@ VectorAnimationRendererPluginProxy::VectorAnimationRendererPluginProxy( const st
 : mSharedObjectName(),
   mLibHandle( NULL ),
   mPlugin( NULL ),
-  mCreateVectorAnimationRendererPtr( NULL )
+  mCreateVectorAnimationRendererPtr( NULL ),
+  mDefaultSignal()
 {
   if( !sharedObjectName.empty() )
   {
@@ -100,41 +101,49 @@ void VectorAnimationRendererPluginProxy::Initialize()
   }
 }
 
-bool VectorAnimationRendererPluginProxy::CreateRenderer( const std::string& url, Dali::Renderer renderer, uint32_t width, uint32_t height )
+bool VectorAnimationRendererPluginProxy::Initialize( const std::string& url )
 {
   if( mPlugin )
   {
-    return mPlugin->CreateRenderer( url, renderer, width, height );
+    return mPlugin->Initialize( url );
   }
   return false;
 }
 
-bool VectorAnimationRendererPluginProxy::StartRender()
+void VectorAnimationRendererPluginProxy::Finalize()
 {
   if( mPlugin )
   {
-    return mPlugin->StartRender();
+    mPlugin->Finalize();
+  }
+}
+
+void VectorAnimationRendererPluginProxy::SetRenderer( Dali::Renderer renderer )
+{
+  if( mPlugin )
+  {
+    mPlugin->SetRenderer( renderer );
   }
-  return false;
 }
 
-void VectorAnimationRendererPluginProxy::StopRender()
+void VectorAnimationRendererPluginProxy::SetSize( uint32_t width, uint32_t height )
 {
   if( mPlugin )
   {
-    mPlugin->StopRender();
+    mPlugin->SetSize( width, height );
   }
 }
 
-void VectorAnimationRendererPluginProxy::Render( uint32_t frameNumber )
+bool VectorAnimationRendererPluginProxy::Render( uint32_t frameNumber )
 {
   if( mPlugin )
   {
-    mPlugin->Render( frameNumber );
+    return mPlugin->Render( frameNumber );
   }
+  return false;
 }
 
-uint32_t VectorAnimationRendererPluginProxy::GetTotalFrameNumber()
+uint32_t VectorAnimationRendererPluginProxy::GetTotalFrameNumber() const
 {
   if( mPlugin )
   {
@@ -143,6 +152,57 @@ uint32_t VectorAnimationRendererPluginProxy::GetTotalFrameNumber()
   return 0;
 }
 
+float VectorAnimationRendererPluginProxy::GetFrameRate() const
+{
+  if( mPlugin )
+  {
+    return mPlugin->GetFrameRate();
+  }
+  return 0.0f;
+}
+
+void VectorAnimationRendererPluginProxy::GetDefaultSize( uint32_t& width, uint32_t& height ) const
+{
+  if( mPlugin )
+  {
+    mPlugin->GetDefaultSize( width, height );
+  }
+}
+
+void VectorAnimationRendererPluginProxy::GetLayerInfo( Property::Map& map ) const
+{
+  if( mPlugin )
+  {
+    mPlugin->GetLayerInfo( map );
+  }
+}
+
+bool VectorAnimationRendererPluginProxy::GetMarkerInfo( const std::string& marker, uint32_t& startFrame, uint32_t& endFrame ) const
+{
+  if( mPlugin )
+  {
+    return mPlugin->GetMarkerInfo( marker, startFrame, endFrame );
+  }
+  return false;
+}
+
+void VectorAnimationRendererPluginProxy::IgnoreRenderedFrame()
+{
+  if( mPlugin )
+  {
+    mPlugin->IgnoreRenderedFrame();
+  }
+}
+
+VectorAnimationRendererPlugin::UploadCompletedSignalType& VectorAnimationRendererPluginProxy::UploadCompletedSignal()
+{
+  if( mPlugin )
+  {
+    return mPlugin->UploadCompletedSignal();
+  }
+  return mDefaultSignal;
+}
+
 } // namespace Adaptor
 
 } // namespace Internal