/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 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.
{
// 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
{
mSharedObjectName = DEFAULT_OBJECT_NAME;
}
+
+ Initialize();
}
VectorAnimationRendererPluginProxy::~VectorAnimationRendererPluginProxy()
}
}
-void VectorAnimationRendererPluginProxy::Initialize(AnimationFormat format)
+void VectorAnimationRendererPluginProxy::Initialize()
{
- // 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();
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);
return false;
}
+void VectorAnimationRendererPluginProxy::RenderStopped()
+{
+ if(mPlugin)
+ {
+ mPlugin->RenderStopped();
+ }
+}
+
uint32_t VectorAnimationRendererPluginProxy::GetTotalFrameNumber() const
{
if(mPlugin)
{
mPlugin->GetDefaultSize(width, height);
}
+ else
+ {
+ width = 0;
+ height = 0;
+ }
}
void VectorAnimationRendererPluginProxy::GetLayerInfo(Property::Map& map) const
return false;
}
-void VectorAnimationRendererPluginProxy::IgnoreRenderedFrame()
+void VectorAnimationRendererPluginProxy::GetMarkerInfo(Property::Map& map) const
+{
+ if(mPlugin)
+ {
+ mPlugin->GetMarkerInfo(map);
+ }
+}
+
+void VectorAnimationRendererPluginProxy::InvalidateBuffer()
+{
+ if(mPlugin)
+ {
+ mPlugin->InvalidateBuffer();
+ }
+}
+
+void VectorAnimationRendererPluginProxy::AddPropertyValueCallback(const std::string& keyPath, Dali::VectorAnimationRenderer::VectorProperty property, CallbackBase* callback, int32_t id)
+{
+ if(mPlugin)
+ {
+ mPlugin->AddPropertyValueCallback(keyPath, property, callback, id);
+ }
+}
+
+void VectorAnimationRendererPluginProxy::KeepRasterizedBuffer()
{
if(mPlugin)
{
- mPlugin->IgnoreRenderedFrame();
+ mPlugin->KeepRasterizedBuffer();
}
}