Give some timeout to lock the sprite in certain operations

This commit is contained in:
David Capello 2015-04-15 09:59:36 -03:00
parent 66c5f76146
commit 4e1cebf966
6 changed files with 18 additions and 18 deletions

View File

@ -87,7 +87,7 @@ static DocumentRange drop_range_op(
{
const app::Context* context = static_cast<app::Context*>(doc->context());
const ContextReader reader(context);
ContextWriter writer(reader);
ContextWriter writer(reader, 500);
Transaction transaction(writer.context(), undoLabel, ModifyDocument);
DocumentApi api = doc->getApi(transaction);
@ -342,7 +342,7 @@ void reverse_frames(Document* doc, const DocumentRange& range)
{
const app::Context* context = static_cast<app::Context*>(doc->context());
const ContextReader reader(context);
ContextWriter writer(reader);
ContextWriter writer(reader, 500);
Transaction transaction(writer.context(), "Reverse Frames");
DocumentApi api = doc->getApi(transaction);
Sprite* sprite = doc->sprite();

View File

@ -229,7 +229,7 @@ void ColorBar::onRemapButtonClick()
ASSERT(m_remap);
try {
ContextWriter writer(UIContext::instance());
ContextWriter writer(UIContext::instance(), 500);
Sprite* sprite = writer.sprite();
if (sprite) {
Transaction transaction(writer.context(), "Remap Colors", ModifyDocument);
@ -270,7 +270,7 @@ void ColorBar::onPaletteViewRemapColors(const Remap& remap, const Palette* newPa
}
try {
ContextWriter writer(UIContext::instance());
ContextWriter writer(UIContext::instance(), 500);
Sprite* sprite = writer.sprite();
frame_t frame = writer.frame();
if (sprite) {

View File

@ -218,7 +218,7 @@ void ColorSelector::onFixWarningClick(ui::Event& ev)
int lastUsed = -1;
ContextWriter writer(UIContext::instance());
ContextWriter writer(UIContext::instance(), 500);
Document* document(writer.document());
Sprite* sprite = NULL;
if (document) {

View File

@ -76,7 +76,7 @@ bool MovingCelState::onMouseUp(Editor* editor, MouseMessage* msg)
// If the user didn't cancel the operation...
if (!m_canceled) {
ContextWriter writer(UIContext::instance());
ContextWriter writer(UIContext::instance(), 500);
Transaction transaction(writer.context(), "Cel Movement", ModifyDocument);
DocumentApi api = document->getApi(transaction);

View File

@ -61,7 +61,7 @@ PixelsMovement::PixelsMovement(Context* context,
m_initialData = gfx::Transformation(gfx::Rect(initialPos, gfx::Size(moveThis->width(), moveThis->height())));
m_currentData = m_initialData;
ContextWriter writer(m_reader);
ContextWriter writer(m_reader, 500);
m_document->prepareExtraCel(m_sprite->bounds(), opacity);
redrawExtraImage();
@ -96,7 +96,7 @@ void PixelsMovement::flipImage(doc::algorithm::FlipType flipType)
flipType);
{
ContextWriter writer(m_reader);
ContextWriter writer(m_reader, 500);
// Regenerate the transformed (rotated, scaled, etc.) image and
// mask.
@ -112,7 +112,7 @@ void PixelsMovement::flipImage(doc::algorithm::FlipType flipType)
void PixelsMovement::cutMask()
{
{
ContextWriter writer(m_reader);
ContextWriter writer(m_reader, 500);
if (writer.cel())
m_transaction.execute(new cmd::ClearMask(writer.cel()));
}
@ -126,7 +126,7 @@ void PixelsMovement::copyMask()
// m_transaction.setMaskPosition)
Mask emptyMask;
{
ContextWriter writer(m_reader);
ContextWriter writer(m_reader, 500);
m_document->generateMaskBoundaries(&emptyMask);
update_screen_for_document(m_document);
}
@ -153,7 +153,7 @@ void PixelsMovement::catchImageAgain(const gfx::Point& pos, HandleType handle)
// m_transaction.setMaskPosition)
Mask emptyMask;
{
ContextWriter writer(m_reader);
ContextWriter writer(m_reader, 500);
m_document->generateMaskBoundaries(&emptyMask);
update_screen_for_document(m_document);
}
@ -174,7 +174,7 @@ void PixelsMovement::moveImage(const gfx::Point& pos, MoveModifier moveModifier)
gfx::Transformation::Corners oldCorners;
m_currentData.transformBox(oldCorners);
ContextWriter writer(m_reader);
ContextWriter writer(m_reader, 500);
int x1, y1, x2, y2;
x1 = m_initialData.bounds().x;
@ -437,7 +437,7 @@ void PixelsMovement::stampImage()
ASSERT(cel && image);
{
ContextWriter writer(m_reader);
ContextWriter writer(m_reader, 500);
{
// Expand the canvas to paste the image in the fully visible
// portion of sprite.
@ -467,7 +467,7 @@ void PixelsMovement::dropImageTemporarily()
m_isDragging = false;
{
ContextWriter writer(m_reader);
ContextWriter writer(m_reader, 500);
// TODO Add undo information so the user can undo each transformation step.
@ -516,7 +516,7 @@ void PixelsMovement::dropImage()
// Destroy the extra cel (this cel will be used by the drawing
// cursor surely).
ContextWriter writer(m_reader);
ContextWriter writer(m_reader, 500);
m_document->destroyExtraCel();
}
@ -532,7 +532,7 @@ void PixelsMovement::discardImage(bool commit)
// Destroy the extra cel and regenerate the mask boundaries (we've
// just deselect the mask).
ContextWriter writer(m_reader);
ContextWriter writer(m_reader, 500);
m_document->destroyExtraCel();
m_document->generateMaskBoundaries();
}
@ -560,7 +560,7 @@ gfx::Size PixelsMovement::getInitialImageSize() const
void PixelsMovement::setMaskColor(color_t mask_color)
{
ContextWriter writer(m_reader);
ContextWriter writer(m_reader, 500);
m_maskColor = mask_color;

View File

@ -429,7 +429,7 @@ bool StatusBar::CustomizedTipWindow::onProcessMessage(Message* msg)
static void slider_change_hook(Slider* slider)
{
try {
ContextWriter writer(UIContext::instance());
ContextWriter writer(UIContext::instance(), 500);
DocumentRange range = App::instance()->getMainWindow()->getTimeline()->range();
if (range.enabled()) {