mirror of
https://github.com/aseprite/aseprite.git
synced 2025-03-29 19:20:09 +00:00
Redraw Timeline when layer/cel user color is changed
This commit is contained in:
parent
e8ecbbb4d7
commit
4c58441823
@ -167,8 +167,13 @@ private:
|
||||
if (newOpacity != m_cel->opacity())
|
||||
transaction.execute(new cmd::SetCelOpacity(writer.cel(), newOpacity));
|
||||
|
||||
if (m_userData != m_cel->data()->userData())
|
||||
if (m_userData != m_cel->data()->userData()) {
|
||||
transaction.execute(new cmd::SetUserData(writer.cel()->data(), m_userData));
|
||||
|
||||
// Redraw timeline because the cel's user data/color
|
||||
// might have changed.
|
||||
App::instance()->getMainWindow()->getTimeline()->invalidate();
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (Cel* cel : m_document->sprite()->uniqueCels()) {
|
||||
@ -178,8 +183,13 @@ private:
|
||||
transaction.execute(new cmd::SetCelOpacity(cel, newOpacity));
|
||||
}
|
||||
|
||||
if (m_userData != cel->data()->userData())
|
||||
if (m_userData != cel->data()->userData()) {
|
||||
transaction.execute(new cmd::SetUserData(cel->data(), m_userData));
|
||||
|
||||
// Redraw timeline because the cel's user data/color
|
||||
// might have changed.
|
||||
App::instance()->getMainWindow()->getTimeline()->invalidate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -19,6 +19,8 @@
|
||||
#include "app/context_access.h"
|
||||
#include "app/modules/gui.h"
|
||||
#include "app/transaction.h"
|
||||
#include "app/ui/main_window.h"
|
||||
#include "app/ui/timeline.h"
|
||||
#include "app/ui/user_data_popup.h"
|
||||
#include "app/ui_context.h"
|
||||
#include "base/bind.h"
|
||||
@ -193,9 +195,14 @@ private:
|
||||
if (newBlendMode != m_layer->blendMode())
|
||||
transaction.execute(new cmd::SetLayerBlendMode(static_cast<LayerImage*>(writer.layer()), newBlendMode));
|
||||
|
||||
if (m_userData != m_layer->userData())
|
||||
if (m_userData != m_layer->userData()) {
|
||||
transaction.execute(new cmd::SetUserData(writer.layer(), m_userData));
|
||||
|
||||
// Redraw timeline because the layer's user data/color
|
||||
// might have changed.
|
||||
App::instance()->getMainWindow()->getTimeline()->invalidate();
|
||||
}
|
||||
|
||||
transaction.commit();
|
||||
}
|
||||
catch (const std::exception& e) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user