[aseprite] 99/250: Replace SEQUENCE_IMAGE() macro with add_image() lambda in fop_operate()
Tobias Hansen
thansen at moszumanska.debian.org
Sun Dec 20 15:27:17 UTC 2015
This is an automated email from the git hooks/post-receive script.
thansen pushed a commit to branch master
in repository aseprite.
commit ee0aae0e3cfddb17091630e1459989ea19c472c3
Author: David Capello <davidcapello at gmail.com>
Date: Mon Sep 28 18:49:34 2015 -0300
Replace SEQUENCE_IMAGE() macro with add_image() lambda in fop_operate()
---
src/app/file/file.cpp | 46 +++++++++++++++++++++-------------------------
1 file changed, 21 insertions(+), 25 deletions(-)
diff --git a/src/app/file/file.cpp b/src/app/file/file.cpp
index 40b9c87..a2559f1 100644
--- a/src/app/file/file.cpp
+++ b/src/app/file/file.cpp
@@ -495,33 +495,29 @@ void fop_operate(FileOp *fop, IFileOpProgress* progress)
fop->format->support(FILE_SUPPORT_LOAD)) {
// Load a sequence
if (fop->is_sequence()) {
- Image* old_image;
- bool loadres;
-
// Default palette
fop->seq.palette->makeBlack();
- // TODO set_palette for each frame???
-#define SEQUENCE_IMAGE() \
- do { \
- fop->seq.last_cel->data()->setImage(fop->seq.image); \
- fop->seq.layer->addCel(fop->seq.last_cel); \
- \
- if (fop->document->sprite()->palette(frame) \
- ->countDiff(fop->seq.palette, NULL, NULL) > 0) { \
- fop->seq.palette->setFrame(frame); \
- fop->document->sprite()->setPalette(fop->seq.palette, true); \
- } \
- \
- old_image = fop->seq.image.get(); \
- fop->seq.image.reset(NULL); \
- fop->seq.last_cel = NULL; \
- } while (0)
-
// Load the sequence
frame_t frames(fop->seq.filename_list.size());
frame_t frame(0);
- old_image = nullptr;
+ Image* old_image = nullptr;
+
+ // TODO set_palette for each frame???
+ auto add_image = [&]() {
+ fop->seq.last_cel->data()->setImage(fop->seq.image);
+ fop->seq.layer->addCel(fop->seq.last_cel);
+
+ if (fop->document->sprite()->palette(frame)
+ ->countDiff(fop->seq.palette, NULL, NULL) > 0) {
+ fop->seq.palette->setFrame(frame);
+ fop->document->sprite()->setPalette(fop->seq.palette, true);
+ }
+
+ old_image = fop->seq.image.get();
+ fop->seq.image.reset(NULL);
+ fop->seq.last_cel = NULL;
+ };
fop->seq.has_alpha = false;
fop->seq.progress_offset = 0.0f;
@@ -533,7 +529,7 @@ void fop_operate(FileOp *fop, IFileOpProgress* progress)
fop->filename = it->c_str();
// Call the "load" procedure to read the first bitmap.
- loadres = fop->format->load(fop);
+ bool loadres = fop->format->load(fop);
if (!loadres) {
fop_error(fop, "Error loading frame %d from file \"%s\"\n",
frame+1, fop->filename.c_str());
@@ -552,7 +548,7 @@ void fop_operate(FileOp *fop, IFileOpProgress* progress)
// Read ok
else {
// Add the keyframe
- SEQUENCE_IMAGE();
+ add_image();
}
}
// For other frames
@@ -567,7 +563,7 @@ void fop_operate(FileOp *fop, IFileOpProgress* progress)
// Compare the old frame with the new one
#if USE_LINK // TODO this should be configurable through a check-box
if (count_diff_between_images(old_image, fop->seq.image)) {
- SEQUENCE_IMAGE();
+ add_image();
}
// We don't need this image
else {
@@ -581,7 +577,7 @@ void fop_operate(FileOp *fop, IFileOpProgress* progress)
fop->seq.last_cel = NULL;
}
#else
- SEQUENCE_IMAGE();
+ add_image();
#endif
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/aseprite.git
More information about the Pkg-games-commits
mailing list