projects
/
platform
/
core
/
uifw
/
dali-toolkit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove Atlas parameter for TextureManager cache system
[platform/core/uifw/dali-toolkit.git]
/
dali-toolkit
/
internal
/
visuals
/
animated-vector-image
/
vector-animation-manager.cpp
diff --git
a/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-manager.cpp
b/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-manager.cpp
index
2286ea0
..
50e6471
100644
(file)
--- a/
dali-toolkit/internal/visuals/animated-vector-image/vector-animation-manager.cpp
+++ b/
dali-toolkit/internal/visuals/animated-vector-image/vector-animation-manager.cpp
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (c) 202
1
Samsung Electronics Co., Ltd.
+ * Copyright (c) 202
3
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.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@
-49,15
+49,11
@@
VectorAnimationManager::VectorAnimationManager()
VectorAnimationManager::~VectorAnimationManager()
{
VectorAnimationManager::~VectorAnimationManager()
{
- for(auto&& iter : mEventCallbacks)
- {
- delete iter;
- }
mEventCallbacks.clear();
if(mProcessorRegistered)
{
mEventCallbacks.clear();
if(mProcessorRegistered)
{
- Adaptor::Get().UnregisterProcessor(*this);
+ Adaptor::Get().UnregisterProcessor(*this
, true
);
}
for(auto observer : mLifecycleObservers)
}
for(auto observer : mLifecycleObservers)
@@
-93,18
+89,22
@@
VectorAnimationThread& VectorAnimationManager::GetVectorAnimationThread()
void VectorAnimationManager::RegisterEventCallback(CallbackBase* callback)
{
void VectorAnimationManager::RegisterEventCallback(CallbackBase* callback)
{
- mEventCallbacks.
push_back(callback
);
+ mEventCallbacks.
emplace_back(std::unique_ptr<Dali::CallbackBase>(callback)
);
if(!mProcessorRegistered)
{
if(!mProcessorRegistered)
{
- Adaptor::Get().RegisterProcessor(*this
);
+ Adaptor::Get().RegisterProcessor(*this
, true); // Use post processor to trigger after layoutting
mProcessorRegistered = true;
}
}
void VectorAnimationManager::UnregisterEventCallback(CallbackBase* callback)
{
mProcessorRegistered = true;
}
}
void VectorAnimationManager::UnregisterEventCallback(CallbackBase* callback)
{
- auto iter = std::find(mEventCallbacks.begin(), mEventCallbacks.end(), callback);
+ auto iter = std::find_if(mEventCallbacks.begin(),
+ mEventCallbacks.end(),
+ [callback](const std::unique_ptr<CallbackBase>& element) {
+ return element.get() == callback;
+ });
if(iter != mEventCallbacks.end())
{
mEventCallbacks.erase(iter);
if(iter != mEventCallbacks.end())
{
mEventCallbacks.erase(iter);
@@
-113,23
+113,22
@@
void VectorAnimationManager::UnregisterEventCallback(CallbackBase* callback)
{
if(Adaptor::IsAvailable())
{
{
if(Adaptor::IsAvailable())
{
- Adaptor::Get().UnregisterProcessor(*this);
+ Adaptor::Get().UnregisterProcessor(*this
, true
);
mProcessorRegistered = false;
}
}
}
}
mProcessorRegistered = false;
}
}
}
}
-void VectorAnimationManager::Process()
+void VectorAnimationManager::Process(
bool postProcessor
)
{
for(auto&& iter : mEventCallbacks)
{
CallbackBase::Execute(*iter);
{
for(auto&& iter : mEventCallbacks)
{
CallbackBase::Execute(*iter);
- delete iter;
}
mEventCallbacks.clear();
}
mEventCallbacks.clear();
- Adaptor::Get().UnregisterProcessor(*this);
+ Adaptor::Get().UnregisterProcessor(*this
, true
);
mProcessorRegistered = false;
}
mProcessorRegistered = false;
}