This is an automated email from the git hooks/post-receive script. thansen pushed a commit to branch master in repository aseprite.
commit 7841ec82f3e636cc6dc2f91a24a8d013f0fa2792 Author: David Capello <[email protected]> Date: Mon Mar 21 14:51:43 2016 -0300 Flip mask when the whole canvas is flipped (fix #561) --- src/app/commands/cmd_flip.cpp | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/src/app/commands/cmd_flip.cpp b/src/app/commands/cmd_flip.cpp index 63ddb62..b1347bd 100644 --- a/src/app/commands/cmd_flip.cpp +++ b/src/app/commands/cmd_flip.cpp @@ -1,5 +1,5 @@ // Aseprite -// Copyright (C) 2001-2015 David Capello +// Copyright (C) 2001-2016 David Capello // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -14,6 +14,7 @@ #include "app/app.h" #include "app/cmd/flip_mask.h" #include "app/cmd/flip_masked_cel.h" +#include "app/cmd/set_mask_position.h" #include "app/commands/params.h" #include "app/context_access.h" #include "app/document_api.h" @@ -75,8 +76,8 @@ void FlipCommand::onExecute(Context* context) "Flip Canvas Vertical")); DocumentApi api = document->getApi(transaction); + Mask* mask = document->mask(); if (m_flipMask) { - Mask* mask = document->mask(); CelList cels; Site site = *writer.site(); @@ -133,13 +134,6 @@ void FlipCommand::onExecute(Context* context) api.flipImage(image, bounds, m_flipType); } } - - // Flip the mask. - Image* maskBitmap = mask->bitmap(); - if (maskBitmap) { - transaction.execute(new cmd::FlipMask(document, m_flipType)); - document->generateMaskBoundaries(); - } } else { for (Cel* cel : sprite->uniqueCels()) { @@ -158,6 +152,27 @@ void FlipCommand::onExecute(Context* context) } } + // Flip the mask. + Image* maskBitmap = mask->bitmap(); + if (maskBitmap) { + transaction.execute(new cmd::FlipMask(document, m_flipType)); + + // Flip the mask position because the + if (!m_flipMask) + transaction.execute( + new cmd::SetMaskPosition( + document, + gfx::Point( + (m_flipType == doc::algorithm::FlipHorizontal ? + sprite->width() - mask->bounds().x2(): + mask->bounds().x), + (m_flipType == doc::algorithm::FlipVertical ? + sprite->height() - mask->bounds().y2(): + mask->bounds().y)))); + + document->generateMaskBoundaries(); + } + transaction.commit(); } -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/aseprite.git _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

