Camel-case for Undoable class.

This commit is contained in:
David Capello 2010-09-19 10:33:07 -03:00
parent 198bd648e5
commit 3246e00db4
22 changed files with 220 additions and 220 deletions

View File

@ -68,7 +68,7 @@ void BackgroundFromLayerCommand::onExecute(Context* context)
{ {
Undoable undoable(sprite, "Background from Layer"); Undoable undoable(sprite, "Background from Layer");
undoable.background_from_layer(static_cast<LayerImage*>(sprite->getCurrentLayer()), bgcolor); undoable.backgroundFromLayer(static_cast<LayerImage*>(sprite->getCurrentLayer()), bgcolor);
undoable.commit(); undoable.commit();
} }
update_screen_for_sprite(sprite); update_screen_for_sprite(sprite);

View File

@ -112,7 +112,7 @@ void CanvasSizeCommand::onExecute(Context* context)
int bgcolor = color_utils::color_for_image(context->getSettings()->getBgColor(), sprite->getImgType()); int bgcolor = color_utils::color_for_image(context->getSettings()->getBgColor(), sprite->getImgType());
bgcolor = color_utils::fixup_color_for_background(sprite->getImgType(), bgcolor); bgcolor = color_utils::fixup_color_for_background(sprite->getImgType(), bgcolor);
undoable.crop_sprite(x1, y1, x2-x1, y2-y1, bgcolor); undoable.cropSprite(x1, y1, x2-x1, y2-y1, bgcolor);
undoable.commit(); undoable.commit();
} }
sprite->generateMaskBoundaries(); sprite->generateMaskBoundaries();

View File

@ -103,7 +103,7 @@ void ChangeImageTypeCommand::onExecute(Context* context)
CurrentSpriteWriter sprite(context); CurrentSpriteWriter sprite(context);
{ {
Undoable undoable(sprite, "Color Mode Change"); Undoable undoable(sprite, "Color Mode Change");
undoable.set_imgtype(m_imgtype, m_dithering); undoable.setImgType(m_imgtype, m_dithering);
// Regenerate extras // Regenerate extras
sprite->destroyExtraCel(); sprite->destroyExtraCel();

View File

@ -67,9 +67,9 @@ void ClearCommand::onExecute(Context* context)
bool empty_mask = sprite->getMask()->is_empty(); bool empty_mask = sprite->getMask()->is_empty();
{ {
Undoable undoable(sprite, "Clear"); Undoable undoable(sprite, "Clear");
undoable.clear_mask(app_get_color_to_clear_layer(sprite->getCurrentLayer())); undoable.clearMask(app_get_color_to_clear_layer(sprite->getCurrentLayer()));
if (!empty_mask) if (!empty_mask)
undoable.deselect_mask(); undoable.deselectMask();
undoable.commit(); undoable.commit();
} }
if (!empty_mask) if (!empty_mask)

View File

@ -69,11 +69,11 @@ void CropSpriteCommand::onExecute(Context* context)
Undoable undoable(sprite, "Sprite Crop"); Undoable undoable(sprite, "Sprite Crop");
int bgcolor = color_utils::color_for_image(app_get_colorbar()->getBgColor(), sprite->getImgType()); int bgcolor = color_utils::color_for_image(app_get_colorbar()->getBgColor(), sprite->getImgType());
undoable.crop_sprite(sprite->getMask()->x, undoable.cropSprite(sprite->getMask()->x,
sprite->getMask()->y, sprite->getMask()->y,
sprite->getMask()->w, sprite->getMask()->w,
sprite->getMask()->h, sprite->getMask()->h,
bgcolor); bgcolor);
undoable.commit(); undoable.commit();
} }
sprite->generateMaskBoundaries(); sprite->generateMaskBoundaries();
@ -114,7 +114,7 @@ void AutocropSpriteCommand::onExecute(Context* context)
int bgcolor = color_utils::color_for_image(app_get_colorbar()->getBgColor(), sprite->getImgType()); int bgcolor = color_utils::color_for_image(app_get_colorbar()->getBgColor(), sprite->getImgType());
Undoable undoable(sprite, "Sprite Autocrop"); Undoable undoable(sprite, "Sprite Autocrop");
undoable.autocrop_sprite(bgcolor); undoable.autocropSprite(bgcolor);
undoable.commit(); undoable.commit();
} }
sprite->generateMaskBoundaries(); sprite->generateMaskBoundaries();

View File

@ -57,7 +57,7 @@ void DeselectMaskCommand::onExecute(Context* context)
CurrentSpriteWriter sprite(context); CurrentSpriteWriter sprite(context);
{ {
Undoable undoable(sprite, "Mask Deselection"); Undoable undoable(sprite, "Mask Deselection");
undoable.deselect_mask(); undoable.deselectMask();
undoable.commit(); undoable.commit();
} }
sprite->generateMaskBoundaries(); sprite->generateMaskBoundaries();

View File

@ -60,7 +60,7 @@ void FlattenLayersCommand::onExecute(Context* context)
int bgcolor = color_utils::color_for_image(app_get_colorbar()->getBgColor(), sprite->getImgType()); int bgcolor = color_utils::color_for_image(app_get_colorbar()->getBgColor(), sprite->getImgType());
{ {
Undoable undoable(sprite, "Flatten Layers"); Undoable undoable(sprite, "Flatten Layers");
undoable.flatten_layers(bgcolor); undoable.flattenLayers(bgcolor);
undoable.commit(); undoable.commit();
} }
update_screen_for_sprite(sprite); update_screen_for_sprite(sprite);

View File

@ -123,8 +123,8 @@ void FlipCommand::onExecute(Context* context)
y2 = MID(0, y2, image->h-1); y2 = MID(0, y2, image->h-1);
} }
undoable.flip_image(image, x1, y1, x2, y2, undoable.flipImage(image, x1, y1, x2, y2,
m_flip_horizontal, m_flip_vertical); m_flip_horizontal, m_flip_vertical);
} }
else { else {
// get all sprite cels // get all sprite cels
@ -136,12 +136,12 @@ void FlipCommand::onExecute(Context* context)
Cel* cel = *it; Cel* cel = *it;
Image* image = stock_get_image(sprite->getStock(), cel->image); Image* image = stock_get_image(sprite->getStock(), cel->image);
undoable.set_cel_position(cel, undoable.setCelPosition(cel,
m_flip_horizontal ? sprite->getWidth() - image->w - cel->x: cel->x, m_flip_horizontal ? sprite->getWidth() - image->w - cel->x: cel->x,
m_flip_vertical ? sprite->getHeight() - image->h - cel->y: cel->y); m_flip_vertical ? sprite->getHeight() - image->h - cel->y: cel->y);
undoable.flip_image(image, 0, 0, image->w-1, image->h-1, undoable.flipImage(image, 0, 0, image->w-1, image->h-1,
m_flip_horizontal, m_flip_vertical); m_flip_horizontal, m_flip_vertical);
} }
} }

View File

@ -93,14 +93,14 @@ void dialogs_frame_length(const SpriteReader& sprite, int sprite_frame)
"||&Yes||&No") == 1) { "||&Yes||&No") == 1) {
SpriteWriter sprite_writer(sprite); SpriteWriter sprite_writer(sprite);
Undoable undoable(sprite_writer, "Constant Frame-Rate"); Undoable undoable(sprite_writer, "Constant Frame-Rate");
undoable.set_constant_frame_rate(num); undoable.setConstantFrameRate(num);
undoable.commit(); undoable.commit();
} }
} }
else { else {
SpriteWriter sprite_writer(sprite); SpriteWriter sprite_writer(sprite);
Undoable undoable(sprite_writer, "Frame Duration"); Undoable undoable(sprite_writer, "Frame Duration");
undoable.set_frame_duration(sprite_frame, num); undoable.setFrameDuration(sprite_frame, num);
undoable.commit(); undoable.commit();
} }
} }

View File

@ -64,7 +64,7 @@ void LayerFromBackgroundCommand::onExecute(Context* context)
CurrentSpriteWriter sprite(context); CurrentSpriteWriter sprite(context);
{ {
Undoable undoable(sprite, "Layer from Background"); Undoable undoable(sprite, "Layer from Background");
undoable.layer_from_background(); undoable.layerFromBackground();
undoable.commit(); undoable.commit();
} }
update_screen_for_sprite(sprite); update_screen_for_sprite(sprite);

View File

@ -72,7 +72,7 @@ void NewFrameCommand::onExecute(Context* context)
CurrentSpriteWriter sprite(context); CurrentSpriteWriter sprite(context);
{ {
Undoable undoable(sprite, "New Frame"); Undoable undoable(sprite, "New Frame");
undoable.new_frame(); undoable.newFrame();
undoable.commit(); undoable.commit();
} }
update_screen_for_sprite(sprite); update_screen_for_sprite(sprite);

View File

@ -106,7 +106,7 @@ void NewLayerCommand::onExecute(Context* context)
Layer* layer; Layer* layer;
{ {
Undoable undoable(sprite, "New Layer"); Undoable undoable(sprite, "New Layer");
layer = undoable.new_layer(); layer = undoable.newLayer();
undoable.commit(); undoable.commit();
} }
layer->setName(name); layer->setName(name);

View File

@ -65,7 +65,7 @@ void RemoveCelCommand::onExecute(Context* context)
Cel* cel = static_cast<LayerImage*>(sprite->getCurrentLayer())->getCel(sprite->getCurrentFrame()); Cel* cel = static_cast<LayerImage*>(sprite->getCurrentLayer())->getCel(sprite->getCurrentFrame());
{ {
Undoable undoable(sprite, "Remove Cel"); Undoable undoable(sprite, "Remove Cel");
undoable.remove_cel(static_cast<LayerImage*>(sprite->getCurrentLayer()), cel); undoable.removeCel(static_cast<LayerImage*>(sprite->getCurrentLayer()), cel);
undoable.commit(); undoable.commit();
} }
update_screen_for_sprite(sprite); update_screen_for_sprite(sprite);

View File

@ -60,7 +60,7 @@ void RemoveFrameCommand::onExecute(Context* context)
CurrentSpriteWriter sprite(context); CurrentSpriteWriter sprite(context);
{ {
Undoable undoable(sprite, "Remove Frame"); Undoable undoable(sprite, "Remove Frame");
undoable.remove_frame(sprite->getCurrentFrame()); undoable.removeFrame(sprite->getCurrentFrame());
undoable.commit(); undoable.commit();
} }
update_screen_for_sprite(sprite); update_screen_for_sprite(sprite);

View File

@ -68,7 +68,7 @@ void RemoveLayerCommand::onExecute(Context* context)
layer_name = sprite->getCurrentLayer()->getName(); layer_name = sprite->getCurrentLayer()->getName();
undoable.remove_layer(sprite->getCurrentLayer()); undoable.removeLayer(sprite->getCurrentLayer());
undoable.commit(); undoable.commit();
} }
update_screen_for_sprite(sprite); update_screen_for_sprite(sprite);

View File

@ -88,15 +88,15 @@ protected:
// change it location // change it location
switch (m_angle) { switch (m_angle) {
case 180: case 180:
undoable.set_cel_position(cel, undoable.setCelPosition(cel,
m_sprite->getWidth() - cel->x - image->w, m_sprite->getWidth() - cel->x - image->w,
m_sprite->getHeight() - cel->y - image->h); m_sprite->getHeight() - cel->y - image->h);
break; break;
case 90: case 90:
undoable.set_cel_position(cel, m_sprite->getHeight() - cel->y - image->h, cel->x); undoable.setCelPosition(cel, m_sprite->getHeight() - cel->y - image->h, cel->x);
break; break;
case -90: case -90:
undoable.set_cel_position(cel, cel->y, m_sprite->getWidth() - cel->x - image->w); undoable.setCelPosition(cel, cel->y, m_sprite->getWidth() - cel->x - image->w);
break; break;
} }
} }
@ -113,7 +113,7 @@ protected:
m_angle == 180 ? image->h: image->w); m_angle == 180 ? image->h: image->w);
image_rotate(image, new_image, m_angle); image_rotate(image, new_image, m_angle);
undoable.replace_stock_image(i, new_image); undoable.replaceStockImage(i, new_image);
jobProgress((float)i / m_sprite->getStock()->nimage); jobProgress((float)i / m_sprite->getStock()->nimage);
@ -149,7 +149,7 @@ protected:
image_rotate(m_sprite->getMask()->bitmap, new_mask->bitmap, m_angle); image_rotate(m_sprite->getMask()->bitmap, new_mask->bitmap, m_angle);
// copy new mask // copy new mask
undoable.copy_to_current_mask(new_mask); undoable.copyToCurrentMask(new_mask);
mask_free(new_mask); mask_free(new_mask);
// regenerate mask // regenerate mask
@ -158,7 +158,7 @@ protected:
// change the sprite's size // change the sprite's size
if (m_angle != 180) if (m_angle != 180)
undoable.set_sprite_size(m_sprite->getHeight(), m_sprite->getWidth()); undoable.setSpriteSize(m_sprite->getHeight(), m_sprite->getWidth());
// commit changes // commit changes
undoable.commit(); undoable.commit();

View File

@ -79,7 +79,7 @@ protected:
Cel* cel = *it; Cel* cel = *it;
// Change its location // Change its location
undoable.set_cel_position(cel, scale_x(cel->x), scale_y(cel->y)); undoable.setCelPosition(cel, scale_x(cel->x), scale_y(cel->y));
// Get cel's image // Get cel's image
Image* image = stock_get_image(m_sprite->getStock(), cel->image); Image* image = stock_get_image(m_sprite->getStock(), cel->image);
@ -97,7 +97,7 @@ protected:
m_sprite->getPalette(cel->frame), m_sprite->getPalette(cel->frame),
m_sprite->getRgbMap(cel->frame)); m_sprite->getRgbMap(cel->frame));
undoable.replace_stock_image(cel->image, new_image); undoable.replaceStockImage(cel->image, new_image);
jobProgress((float)progress / cels.size()); jobProgress((float)progress / cels.size());
@ -130,7 +130,7 @@ protected:
new_mask->w, new_mask->h); new_mask->w, new_mask->h);
// copy new mask // copy new mask
undoable.copy_to_current_mask(new_mask); undoable.copyToCurrentMask(new_mask);
mask_free(new_mask); mask_free(new_mask);
// regenerate mask // regenerate mask
@ -138,7 +138,7 @@ protected:
} }
// resize sprite // resize sprite
undoable.set_sprite_size(m_new_width, m_new_height); undoable.setSpriteSize(m_new_width, m_new_height);
// commit changes // commit changes
undoable.commit(); undoable.commit();

View File

@ -550,7 +550,7 @@ static bool anieditor_msg_proc(JWidget widget, JMessage msg)
{ {
SpriteWriter sprite_writer(sprite); SpriteWriter sprite_writer(sprite);
Undoable undoable(sprite_writer, "Move Frame"); Undoable undoable(sprite_writer, "Move Frame");
undoable.move_frame_before(anieditor->clk_frame, anieditor->hot_frame); undoable.moveFrameBefore(anieditor->clk_frame, anieditor->hot_frame);
undoable.commit(); undoable.commit();
} }
jwidget_dirty(widget); jwidget_dirty(widget);
@ -584,8 +584,8 @@ static bool anieditor_msg_proc(JWidget widget, JMessage msg)
const SpriteReader sprite((Sprite*)anieditor->sprite); const SpriteReader sprite((Sprite*)anieditor->sprite);
SpriteWriter sprite_writer(sprite); SpriteWriter sprite_writer(sprite);
Undoable undoable(sprite_writer, "Move Layer"); Undoable undoable(sprite_writer, "Move Layer");
undoable.move_layer_after(anieditor->layers[anieditor->clk_layer], undoable.moveLayerAfter(anieditor->layers[anieditor->clk_layer],
anieditor->layers[anieditor->hot_layer]); anieditor->layers[anieditor->hot_layer]);
undoable.commit(); undoable.commit();
/* select the new layer */ /* select the new layer */

View File

@ -48,9 +48,9 @@ Undoable::Undoable(SpriteWriter& sprite, const char* label)
m_sprite = sprite; m_sprite = sprite;
m_committed = false; m_committed = false;
m_enabled_flag = undo_is_enabled(m_sprite->getUndo()); m_enabledFlag = undo_is_enabled(m_sprite->getUndo());
if (is_enabled()) { if (isEnabled()) {
undo_set_label(m_sprite->getUndo(), label); undo_set_label(m_sprite->getUndo(), label);
undo_open(m_sprite->getUndo()); undo_open(m_sprite->getUndo());
} }
@ -58,7 +58,7 @@ Undoable::Undoable(SpriteWriter& sprite, const char* label)
Undoable::~Undoable() Undoable::~Undoable()
{ {
if (is_enabled()) { if (isEnabled()) {
// close the undo information // close the undo information
undo_close(m_sprite->getUndo()); undo_close(m_sprite->getUndo());
@ -86,23 +86,23 @@ void Undoable::commit()
m_committed = true; m_committed = true;
} }
void Undoable::set_number_of_frames(int frames) void Undoable::setNumberOfFrames(int frames)
{ {
ASSERT(frames >= 1); ASSERT(frames >= 1);
// Save in undo the current totalFrames property // Save in undo the current totalFrames property
if (is_enabled()) if (isEnabled())
undo_set_frames(m_sprite->getUndo(), m_sprite); undo_set_frames(m_sprite->getUndo(), m_sprite);
// Change the property // Change the property
m_sprite->setTotalFrames(frames); m_sprite->setTotalFrames(frames);
} }
void Undoable::set_current_frame(int frame) void Undoable::setCurrentFrame(int frame)
{ {
ASSERT(frame >= 0); ASSERT(frame >= 0);
if (is_enabled()) if (isEnabled())
undo_set_frame(m_sprite->getUndo(), m_sprite); undo_set_frame(m_sprite->getUndo(), m_sprite);
m_sprite->setCurrentFrame(frame); m_sprite->setCurrentFrame(frame);
@ -114,40 +114,40 @@ void Undoable::set_current_frame(int frame)
* @param layer * @param layer
* The layer to select. Can be NULL. * The layer to select. Can be NULL.
*/ */
void Undoable::set_current_layer(Layer* layer) void Undoable::setCurrentLayer(Layer* layer)
{ {
if (is_enabled()) if (isEnabled())
undo_set_layer(m_sprite->getUndo(), m_sprite); undo_set_layer(m_sprite->getUndo(), m_sprite);
m_sprite->setCurrentLayer(layer); m_sprite->setCurrentLayer(layer);
} }
void Undoable::set_sprite_size(int w, int h) void Undoable::setSpriteSize(int w, int h)
{ {
ASSERT(w > 0); ASSERT(w > 0);
ASSERT(h > 0); ASSERT(h > 0);
if (is_enabled()) if (isEnabled())
undo_set_size(m_sprite->getUndo(), m_sprite); undo_set_size(m_sprite->getUndo(), m_sprite);
m_sprite->setSize(w, h); m_sprite->setSize(w, h);
} }
void Undoable::crop_sprite(int x, int y, int w, int h, int bgcolor) void Undoable::cropSprite(int x, int y, int w, int h, int bgcolor)
{ {
set_sprite_size(w, h); setSpriteSize(w, h);
displace_layers(m_sprite->getFolder(), -x, -y); displaceLayers(m_sprite->getFolder(), -x, -y);
Layer *background_layer = m_sprite->getBackgroundLayer(); Layer *background_layer = m_sprite->getBackgroundLayer();
if (background_layer) if (background_layer)
crop_layer(background_layer, 0, 0, m_sprite->getWidth(), m_sprite->getHeight(), bgcolor); cropLayer(background_layer, 0, 0, m_sprite->getWidth(), m_sprite->getHeight(), bgcolor);
if (!m_sprite->getMask()->is_empty()) if (!m_sprite->getMask()->is_empty())
set_mask_position(m_sprite->getMask()->x-x, m_sprite->getMask()->y-y); setMaskPosition(m_sprite->getMask()->x-x, m_sprite->getMask()->y-y);
} }
void Undoable::autocrop_sprite(int bgcolor) void Undoable::autocropSprite(int bgcolor)
{ {
int old_frame = m_sprite->getCurrentFrame(); int old_frame = m_sprite->getCurrentFrame();
int x1, y1, x2, y2; int x1, y1, x2, y2;
@ -184,10 +184,10 @@ void Undoable::autocrop_sprite(int bgcolor)
if (x1 > x2 || y1 > y2) if (x1 > x2 || y1 > y2)
return; return;
crop_sprite(x1, y1, x2-x1+1, y2-y1+1, bgcolor); cropSprite(x1, y1, x2-x1+1, y2-y1+1, bgcolor);
} }
void Undoable::set_imgtype(int new_imgtype, int dithering_method) void Undoable::setImgType(int new_imgtype, int dithering_method)
{ {
Image *old_image; Image *old_image;
Image *new_image; Image *new_image;
@ -197,7 +197,7 @@ void Undoable::set_imgtype(int new_imgtype, int dithering_method)
return; return;
/* change imgtype of the stock of images */ /* change imgtype of the stock of images */
if (is_enabled()) if (isEnabled())
undo_int(m_sprite->getUndo(), m_sprite->getStock(), &m_sprite->getStock()->imgtype); undo_int(m_sprite->getUndo(), m_sprite->getStock(), &m_sprite->getStock()->imgtype);
m_sprite->getStock()->imgtype = new_imgtype; m_sprite->getStock()->imgtype = new_imgtype;
@ -217,7 +217,7 @@ void Undoable::set_imgtype(int new_imgtype, int dithering_method)
return; /* TODO error handling: not enough memory! return; /* TODO error handling: not enough memory!
we should undo all work done */ we should undo all work done */
if (is_enabled()) if (isEnabled())
undo_replace_image(m_sprite->getUndo(), m_sprite->getStock(), c); undo_replace_image(m_sprite->getUndo(), m_sprite->getStock(), c);
image_free(old_image); image_free(old_image);
@ -225,14 +225,14 @@ void Undoable::set_imgtype(int new_imgtype, int dithering_method)
} }
/* change "sprite.imgtype" field */ /* change "sprite.imgtype" field */
if (is_enabled()) if (isEnabled())
undo_set_imgtype(m_sprite->getUndo(), m_sprite); undo_set_imgtype(m_sprite->getUndo(), m_sprite);
m_sprite->setImgType(new_imgtype); m_sprite->setImgType(new_imgtype);
// change "sprite.palette" // change "sprite.palette"
if (new_imgtype == IMAGE_GRAYSCALE) { if (new_imgtype == IMAGE_GRAYSCALE) {
if (is_enabled()) { if (isEnabled()) {
Palette* palette; Palette* palette;
JLink link; JLink link;
@ -256,14 +256,14 @@ void Undoable::set_imgtype(int new_imgtype, int dithering_method)
* @return * @return
* The image index in the stock. * The image index in the stock.
*/ */
int Undoable::add_image_in_stock(Image* image) int Undoable::addImageInStock(Image* image)
{ {
ASSERT(image); ASSERT(image);
// add the image in the stock // add the image in the stock
int image_index = stock_add_image(m_sprite->getStock(), image); int image_index = stock_add_image(m_sprite->getStock(), image);
if (is_enabled()) if (isEnabled())
undo_add_image(m_sprite->getUndo(), m_sprite->getStock(), image_index); undo_add_image(m_sprite->getUndo(), m_sprite->getStock(), image_index);
return image_index; return image_index;
@ -272,28 +272,28 @@ int Undoable::add_image_in_stock(Image* image)
/** /**
* Removes and destroys the specified image in the stock. * Removes and destroys the specified image in the stock.
*/ */
void Undoable::remove_image_from_stock(int image_index) void Undoable::removeImageFromStock(int image_index)
{ {
ASSERT(image_index >= 0); ASSERT(image_index >= 0);
Image* image = stock_get_image(m_sprite->getStock(), image_index); Image* image = stock_get_image(m_sprite->getStock(), image_index);
ASSERT(image); ASSERT(image);
if (is_enabled()) if (isEnabled())
undo_remove_image(m_sprite->getUndo(), m_sprite->getStock(), image_index); undo_remove_image(m_sprite->getUndo(), m_sprite->getStock(), image_index);
stock_remove_image(m_sprite->getStock(), image); stock_remove_image(m_sprite->getStock(), image);
image_free(image); image_free(image);
} }
void Undoable::replace_stock_image(int image_index, Image* new_image) void Undoable::replaceStockImage(int image_index, Image* new_image)
{ {
// get the current image in the 'image_index' position // get the current image in the 'image_index' position
Image* old_image = stock_get_image(m_sprite->getStock(), image_index); Image* old_image = stock_get_image(m_sprite->getStock(), image_index);
ASSERT(old_image); ASSERT(old_image);
// replace the image in the stock // replace the image in the stock
if (is_enabled()) if (isEnabled())
undo_replace_image(m_sprite->getUndo(), m_sprite->getStock(), image_index); undo_replace_image(m_sprite->getUndo(), m_sprite->getStock(), image_index);
stock_replace_image(m_sprite->getStock(), image_index, new_image); stock_replace_image(m_sprite->getStock(), image_index, new_image);
@ -305,7 +305,7 @@ void Undoable::replace_stock_image(int image_index, Image* new_image)
/** /**
* Creates a new transparent layer. * Creates a new transparent layer.
*/ */
Layer* Undoable::new_layer() Layer* Undoable::newLayer()
{ {
// new layer // new layer
LayerImage* layer = new LayerImage(m_sprite); LayerImage* layer = new LayerImage(m_sprite);
@ -314,13 +314,13 @@ Layer* Undoable::new_layer()
layer->set_blend_mode(BLEND_MODE_NORMAL); layer->set_blend_mode(BLEND_MODE_NORMAL);
// add the layer in the sprite set // add the layer in the sprite set
if (is_enabled()) if (isEnabled())
undo_add_layer(m_sprite->getUndo(), m_sprite->getFolder(), layer); undo_add_layer(m_sprite->getUndo(), m_sprite->getFolder(), layer);
m_sprite->getFolder()->add_layer(layer); m_sprite->getFolder()->add_layer(layer);
// select the new layer // select the new layer
set_current_layer(layer); setCurrentLayer(layer);
return layer; return layer;
} }
@ -328,7 +328,7 @@ Layer* Undoable::new_layer()
/** /**
* Removes and destroys the specified layer. * Removes and destroys the specified layer.
*/ */
void Undoable::remove_layer(Layer* layer) void Undoable::removeLayer(Layer* layer)
{ {
ASSERT(layer); ASSERT(layer);
@ -348,11 +348,11 @@ void Undoable::remove_layer(Layer* layer)
layer_select = parent; layer_select = parent;
// select other layer // select other layer
set_current_layer(layer_select); setCurrentLayer(layer_select);
} }
// remove the layer // remove the layer
if (is_enabled()) if (isEnabled())
undo_remove_layer(m_sprite->getUndo(), layer); undo_remove_layer(m_sprite->getUndo(), layer);
parent->remove_layer(layer); parent->remove_layer(layer);
@ -361,15 +361,15 @@ void Undoable::remove_layer(Layer* layer)
delete layer; delete layer;
} }
void Undoable::move_layer_after(Layer* layer, Layer* after_this) void Undoable::moveLayerAfter(Layer* layer, Layer* after_this)
{ {
if (is_enabled()) if (isEnabled())
undo_move_layer(m_sprite->getUndo(), layer); undo_move_layer(m_sprite->getUndo(), layer);
layer->get_parent()->move_layer(layer, after_this); layer->get_parent()->move_layer(layer, after_this);
} }
void Undoable::crop_layer(Layer* layer, int x, int y, int w, int h, int bgcolor) void Undoable::cropLayer(Layer* layer, int x, int y, int w, int h, int bgcolor)
{ {
if (!layer->is_image()) if (!layer->is_image())
return; return;
@ -380,13 +380,13 @@ void Undoable::crop_layer(Layer* layer, int x, int y, int w, int h, int bgcolor)
CelIterator it = ((LayerImage*)layer)->getCelBegin(); CelIterator it = ((LayerImage*)layer)->getCelBegin();
CelIterator end = ((LayerImage*)layer)->getCelEnd(); CelIterator end = ((LayerImage*)layer)->getCelEnd();
for (; it != end; ++it) for (; it != end; ++it)
crop_cel(*it, x, y, w, h, bgcolor); cropCel(*it, x, y, w, h, bgcolor);
} }
/** /**
* Moves every frame in @a layer with the offset (@a dx, @a dy). * Moves every frame in @a layer with the offset (@a dx, @a dy).
*/ */
void Undoable::displace_layers(Layer* layer, int dx, int dy) void Undoable::displaceLayers(Layer* layer, int dx, int dy)
{ {
switch (layer->getType()) { switch (layer->getType()) {
@ -395,7 +395,7 @@ void Undoable::displace_layers(Layer* layer, int dx, int dy)
CelIterator end = ((LayerImage*)layer)->getCelEnd(); CelIterator end = ((LayerImage*)layer)->getCelEnd();
for (; it != end; ++it) { for (; it != end; ++it) {
Cel* cel = *it; Cel* cel = *it;
set_cel_position(cel, cel->x+dx, cel->y+dy); setCelPosition(cel, cel->x+dx, cel->y+dy);
} }
break; break;
} }
@ -404,14 +404,14 @@ void Undoable::displace_layers(Layer* layer, int dx, int dy)
LayerIterator it = ((LayerFolder*)layer)->get_layer_begin(); LayerIterator it = ((LayerFolder*)layer)->get_layer_begin();
LayerIterator end = ((LayerFolder*)layer)->get_layer_end(); LayerIterator end = ((LayerFolder*)layer)->get_layer_end();
for (; it != end; ++it) for (; it != end; ++it)
displace_layers(*it, dx, dy); displaceLayers(*it, dx, dy);
break; break;
} }
} }
} }
void Undoable::background_from_layer(LayerImage* layer, int bgcolor) void Undoable::backgroundFromLayer(LayerImage* layer, int bgcolor)
{ {
ASSERT(layer); ASSERT(layer);
ASSERT(layer->is_image()); ASSERT(layer->is_image());
@ -447,18 +447,18 @@ void Undoable::background_from_layer(LayerImage* layer, int bgcolor)
layer->get_blend_mode()); layer->get_blend_mode());
// now we have to copy the new image (bg_image) to the cel... // now we have to copy the new image (bg_image) to the cel...
set_cel_position(cel, 0, 0); setCelPosition(cel, 0, 0);
// same size of cel-image and bg-image // same size of cel-image and bg-image
if (bg_image->w == cel_image->w && if (bg_image->w == cel_image->w &&
bg_image->h == cel_image->h) { bg_image->h == cel_image->h) {
if (is_enabled()) if (isEnabled())
undo_image(m_sprite->getUndo(), cel_image, 0, 0, cel_image->w, cel_image->h); undo_image(m_sprite->getUndo(), cel_image, 0, 0, cel_image->w, cel_image->h);
image_copy(cel_image, bg_image, 0, 0); image_copy(cel_image, bg_image, 0, 0);
} }
else { else {
replace_stock_image(cel->image, image_new_copy(bg_image)); replaceStockImage(cel->image, image_new_copy(bg_image));
} }
} }
@ -470,18 +470,18 @@ void Undoable::background_from_layer(LayerImage* layer, int bgcolor)
image_clear(cel_image, bgcolor); image_clear(cel_image, bgcolor);
// Add the new image in the stock // Add the new image in the stock
int image_index = add_image_in_stock(cel_image); int image_index = addImageInStock(cel_image);
// Create the new cel and add it to the new background layer // Create the new cel and add it to the new background layer
cel = cel_new(frame, image_index); cel = cel_new(frame, image_index);
add_cel(layer, cel); addCel(layer, cel);
} }
} }
configure_layer_as_background(layer); configureLayerAsBackground(layer);
} }
void Undoable::layer_from_background() void Undoable::layerFromBackground()
{ {
ASSERT(m_sprite->getBackgroundLayer() != NULL); ASSERT(m_sprite->getBackgroundLayer() != NULL);
ASSERT(m_sprite->getCurrentLayer() != NULL); ASSERT(m_sprite->getCurrentLayer() != NULL);
@ -490,7 +490,7 @@ void Undoable::layer_from_background()
ASSERT(m_sprite->getCurrentLayer()->is_writable()); ASSERT(m_sprite->getCurrentLayer()->is_writable());
ASSERT(m_sprite->getCurrentLayer()->is_background()); ASSERT(m_sprite->getCurrentLayer()->is_background());
if (is_enabled()) { if (isEnabled()) {
undo_data(m_sprite->getUndo(), undo_data(m_sprite->getUndo(),
m_sprite->getCurrentLayer(), m_sprite->getCurrentLayer(),
m_sprite->getCurrentLayer()->flags_addr(), m_sprite->getCurrentLayer()->flags_addr(),
@ -504,7 +504,7 @@ void Undoable::layer_from_background()
m_sprite->getCurrentLayer()->setName("Layer 0"); m_sprite->getCurrentLayer()->setName("Layer 0");
} }
void Undoable::flatten_layers(int bgcolor) void Undoable::flattenLayers(int bgcolor)
{ {
Image* cel_image; Image* cel_image;
Cel* cel; Cel* cel;
@ -522,12 +522,12 @@ void Undoable::flatten_layers(int bgcolor)
/* if there aren't a background layer we must to create the background */ /* if there aren't a background layer we must to create the background */
background = new LayerImage(m_sprite); background = new LayerImage(m_sprite);
if (is_enabled()) if (isEnabled())
undo_add_layer(m_sprite->getUndo(), m_sprite->getFolder(), background); undo_add_layer(m_sprite->getUndo(), m_sprite->getFolder(), background);
m_sprite->getFolder()->add_layer(background); m_sprite->getFolder()->add_layer(background);
if (is_enabled()) if (isEnabled())
undo_move_layer(m_sprite->getUndo(), background); undo_move_layer(m_sprite->getUndo(), background);
background->configureAsBackground(); background->configureAsBackground();
@ -545,7 +545,7 @@ void Undoable::flatten_layers(int bgcolor)
ASSERT(cel_image != NULL); ASSERT(cel_image != NULL);
/* we have to save the current state of `cel_image' in the undo */ /* we have to save the current state of `cel_image' in the undo */
if (is_enabled()) { if (isEnabled()) {
Dirty* dirty = dirty_new_from_differences(cel_image, image); Dirty* dirty = dirty_new_from_differences(cel_image, image);
dirty_save_image_data(dirty); dirty_save_image_data(dirty);
undo_dirty(m_sprite->getUndo(), dirty); undo_dirty(m_sprite->getUndo(), dirty);
@ -570,7 +570,7 @@ void Undoable::flatten_layers(int bgcolor)
/* select the background */ /* select the background */
if (m_sprite->getCurrentLayer() != background) { if (m_sprite->getCurrentLayer() != background) {
if (is_enabled()) if (isEnabled())
undo_set_layer(m_sprite->getUndo(), m_sprite); undo_set_layer(m_sprite->getUndo(), m_sprite);
m_sprite->setCurrentLayer(background); m_sprite->setCurrentLayer(background);
@ -586,7 +586,7 @@ void Undoable::flatten_layers(int bgcolor)
Layer* old_layer = *it; Layer* old_layer = *it;
// remove the layer // remove the layer
if (is_enabled()) if (isEnabled())
undo_remove_layer(m_sprite->getUndo(), old_layer); undo_remove_layer(m_sprite->getUndo(), old_layer);
m_sprite->getFolder()->remove_layer(old_layer); m_sprite->getFolder()->remove_layer(old_layer);
@ -597,9 +597,9 @@ void Undoable::flatten_layers(int bgcolor)
} }
} }
void Undoable::configure_layer_as_background(LayerImage* layer) void Undoable::configureLayerAsBackground(LayerImage* layer)
{ {
if (is_enabled()) { if (isEnabled()) {
undo_data(m_sprite->getUndo(), layer, layer->flags_addr(), sizeof(*layer->flags_addr())); undo_data(m_sprite->getUndo(), layer, layer->flags_addr(), sizeof(*layer->flags_addr()));
undo_set_layer_name(m_sprite->getUndo(), layer); undo_set_layer_name(m_sprite->getUndo(), layer);
undo_move_layer(m_sprite->getUndo(), layer); undo_move_layer(m_sprite->getUndo(), layer);
@ -608,20 +608,20 @@ void Undoable::configure_layer_as_background(LayerImage* layer)
layer->configureAsBackground(); layer->configureAsBackground();
} }
void Undoable::new_frame() void Undoable::newFrame()
{ {
// add a new cel to every layer // add a new cel to every layer
new_frame_for_layer(m_sprite->getFolder(), newFrameForLayer(m_sprite->getFolder(),
m_sprite->getCurrentFrame()+1); m_sprite->getCurrentFrame()+1);
// increment frames counter in the sprite // increment frames counter in the sprite
set_number_of_frames(m_sprite->getTotalFrames()+1); setNumberOfFrames(m_sprite->getTotalFrames()+1);
// go to next frame (the new one) // go to next frame (the new one)
set_current_frame(m_sprite->getCurrentFrame()+1); setCurrentFrame(m_sprite->getCurrentFrame()+1);
} }
void Undoable::new_frame_for_layer(Layer* layer, int frame) void Undoable::newFrameForLayer(Layer* layer, int frame)
{ {
ASSERT(layer); ASSERT(layer);
ASSERT(frame >= 0); ASSERT(frame >= 0);
@ -633,10 +633,10 @@ void Undoable::new_frame_for_layer(Layer* layer, int frame)
for (int c=m_sprite->getTotalFrames()-1; c>=frame; --c) { for (int c=m_sprite->getTotalFrames()-1; c>=frame; --c) {
Cel* cel = static_cast<LayerImage*>(layer)->getCel(c); Cel* cel = static_cast<LayerImage*>(layer)->getCel(c);
if (cel) if (cel)
set_cel_frame_position(cel, cel->frame+1); setCelFramePosition(cel, cel->frame+1);
} }
copy_previous_frame(layer, frame); copyPreviousFrame(layer, frame);
break; break;
case GFXOBJ_LAYER_FOLDER: { case GFXOBJ_LAYER_FOLDER: {
@ -644,33 +644,33 @@ void Undoable::new_frame_for_layer(Layer* layer, int frame)
LayerIterator end = static_cast<LayerFolder*>(layer)->get_layer_end(); LayerIterator end = static_cast<LayerFolder*>(layer)->get_layer_end();
for (; it != end; ++it) for (; it != end; ++it)
new_frame_for_layer(*it, frame); newFrameForLayer(*it, frame);
break; break;
} }
} }
} }
void Undoable::remove_frame(int frame) void Undoable::removeFrame(int frame)
{ {
ASSERT(frame >= 0); ASSERT(frame >= 0);
// Remove cels from this frame (and displace one position backward // Remove cels from this frame (and displace one position backward
// all next frames) // all next frames)
remove_frame_of_layer(m_sprite->getFolder(), frame); removeFrameOfLayer(m_sprite->getFolder(), frame);
// New value for totalFrames propety // New value for totalFrames propety
int newTotalFrames = m_sprite->getTotalFrames()-1; int newTotalFrames = m_sprite->getTotalFrames()-1;
// Move backward if we will be outside the range of frames // Move backward if we will be outside the range of frames
if (m_sprite->getCurrentFrame() >= newTotalFrames) if (m_sprite->getCurrentFrame() >= newTotalFrames)
set_current_frame(newTotalFrames-1); setCurrentFrame(newTotalFrames-1);
// Decrement frames counter in the sprite // Decrement frames counter in the sprite
set_number_of_frames(newTotalFrames); setNumberOfFrames(newTotalFrames);
} }
void Undoable::remove_frame_of_layer(Layer* layer, int frame) void Undoable::removeFrameOfLayer(Layer* layer, int frame)
{ {
ASSERT(layer); ASSERT(layer);
ASSERT(frame >= 0); ASSERT(frame >= 0);
@ -679,11 +679,11 @@ void Undoable::remove_frame_of_layer(Layer* layer, int frame)
case GFXOBJ_LAYER_IMAGE: case GFXOBJ_LAYER_IMAGE:
if (Cel* cel = static_cast<LayerImage*>(layer)->getCel(frame)) if (Cel* cel = static_cast<LayerImage*>(layer)->getCel(frame))
remove_cel(static_cast<LayerImage*>(layer), cel); removeCel(static_cast<LayerImage*>(layer), cel);
for (++frame; frame<m_sprite->getTotalFrames(); ++frame) for (++frame; frame<m_sprite->getTotalFrames(); ++frame)
if (Cel* cel = static_cast<LayerImage*>(layer)->getCel(frame)) if (Cel* cel = static_cast<LayerImage*>(layer)->getCel(frame))
set_cel_frame_position(cel, cel->frame-1); setCelFramePosition(cel, cel->frame-1);
break; break;
case GFXOBJ_LAYER_FOLDER: { case GFXOBJ_LAYER_FOLDER: {
@ -691,7 +691,7 @@ void Undoable::remove_frame_of_layer(Layer* layer, int frame)
LayerIterator end = static_cast<LayerFolder*>(layer)->get_layer_end(); LayerIterator end = static_cast<LayerFolder*>(layer)->get_layer_end();
for (; it != end; ++it) for (; it != end; ++it)
remove_frame_of_layer(*it, frame); removeFrameOfLayer(*it, frame);
break; break;
} }
@ -701,7 +701,7 @@ void Undoable::remove_frame_of_layer(Layer* layer, int frame)
/** /**
* Copies the previous cel of @a frame to @frame. * Copies the previous cel of @a frame to @frame.
*/ */
void Undoable::copy_previous_frame(Layer* layer, int frame) void Undoable::copyPreviousFrame(Layer* layer, int frame)
{ {
ASSERT(layer); ASSERT(layer);
ASSERT(frame > 0); ASSERT(frame > 0);
@ -718,7 +718,7 @@ void Undoable::copy_previous_frame(Layer* layer, int frame)
// copy the image // copy the image
Image* dst_image = image_new_copy(src_image); Image* dst_image = image_new_copy(src_image);
int image_index = add_image_in_stock(dst_image); int image_index = addImageInStock(dst_image);
// create the new cel // create the new cel
Cel* dst_cel = cel_new(frame, image_index); Cel* dst_cel = cel_new(frame, image_index);
@ -728,21 +728,21 @@ void Undoable::copy_previous_frame(Layer* layer, int frame)
} }
// add the cel in the layer // add the cel in the layer
add_cel(static_cast<LayerImage*>(layer), dst_cel); addCel(static_cast<LayerImage*>(layer), dst_cel);
} }
void Undoable::add_cel(LayerImage* layer, Cel* cel) void Undoable::addCel(LayerImage* layer, Cel* cel)
{ {
ASSERT(layer); ASSERT(layer);
ASSERT(cel); ASSERT(cel);
if (is_enabled()) if (isEnabled())
undo_add_cel(m_sprite->getUndo(), layer, cel); undo_add_cel(m_sprite->getUndo(), layer, cel);
layer->addCel(cel); layer->addCel(cel);
} }
void Undoable::remove_cel(LayerImage* layer, Cel* cel) void Undoable::removeCel(LayerImage* layer, Cel* cel)
{ {
ASSERT(layer); ASSERT(layer);
ASSERT(cel); ASSERT(cel);
@ -761,9 +761,9 @@ void Undoable::remove_cel(LayerImage* layer, Cel* cel)
// if the image is only used by this cel, // if the image is only used by this cel,
// we can remove the image from the stock // we can remove the image from the stock
if (!used) if (!used)
remove_image_from_stock(cel->image); removeImageFromStock(cel->image);
if (is_enabled()) if (isEnabled())
undo_remove_cel(m_sprite->getUndo(), layer, cel); undo_remove_cel(m_sprite->getUndo(), layer, cel);
// remove the cel from the layer // remove the cel from the layer
@ -773,22 +773,22 @@ void Undoable::remove_cel(LayerImage* layer, Cel* cel)
cel_free(cel); cel_free(cel);
} }
void Undoable::set_cel_frame_position(Cel* cel, int frame) void Undoable::setCelFramePosition(Cel* cel, int frame)
{ {
ASSERT(cel); ASSERT(cel);
ASSERT(frame >= 0); ASSERT(frame >= 0);
if (is_enabled()) if (isEnabled())
undo_int(m_sprite->getUndo(), cel, &cel->frame); undo_int(m_sprite->getUndo(), cel, &cel->frame);
cel->frame = frame; cel->frame = frame;
} }
void Undoable::set_cel_position(Cel* cel, int x, int y) void Undoable::setCelPosition(Cel* cel, int x, int y)
{ {
ASSERT(cel); ASSERT(cel);
if (is_enabled()) { if (isEnabled()) {
undo_int(m_sprite->getUndo(), cel, &cel->x); undo_int(m_sprite->getUndo(), cel, &cel->x);
undo_int(m_sprite->getUndo(), cel, &cel->y); undo_int(m_sprite->getUndo(), cel, &cel->y);
} }
@ -797,17 +797,17 @@ void Undoable::set_cel_position(Cel* cel, int x, int y)
cel->y = y; cel->y = y;
} }
void Undoable::set_frame_duration(int frame, int msecs) void Undoable::setFrameDuration(int frame, int msecs)
{ {
if (is_enabled()) if (isEnabled())
undo_set_frlen(m_sprite->getUndo(), m_sprite, frame); undo_set_frlen(m_sprite->getUndo(), m_sprite, frame);
m_sprite->setFrameDuration(frame, msecs); m_sprite->setFrameDuration(frame, msecs);
} }
void Undoable::set_constant_frame_rate(int msecs) void Undoable::setConstantFrameRate(int msecs)
{ {
if (is_enabled()) { if (isEnabled()) {
for (int fr=0; fr<m_sprite->getTotalFrames(); ++fr) for (int fr=0; fr<m_sprite->getTotalFrames(); ++fr)
undo_set_frlen(m_sprite->getUndo(), m_sprite, fr); undo_set_frlen(m_sprite->getUndo(), m_sprite, fr);
} }
@ -815,7 +815,7 @@ void Undoable::set_constant_frame_rate(int msecs)
m_sprite->setDurationForAllFrames(msecs); m_sprite->setDurationForAllFrames(msecs);
} }
void Undoable::move_frame_before(int frame, int before_frame) void Undoable::moveFrameBefore(int frame, int before_frame)
{ {
if (frame != before_frame && if (frame != before_frame &&
frame >= 0 && frame >= 0 &&
@ -829,24 +829,24 @@ void Undoable::move_frame_before(int frame, int before_frame)
// moving the frame to the future // moving the frame to the future
if (frame < before_frame) { if (frame < before_frame) {
for (int c=frame; c<before_frame-1; c++) for (int c=frame; c<before_frame-1; c++)
set_frame_duration(c, m_sprite->getFrameDuration(c+1)); setFrameDuration(c, m_sprite->getFrameDuration(c+1));
set_frame_duration(before_frame-1, frlen_aux); setFrameDuration(before_frame-1, frlen_aux);
} }
// moving the frame to the past // moving the frame to the past
else if (before_frame < frame) { else if (before_frame < frame) {
for (int c=frame; c>before_frame; c--) for (int c=frame; c>before_frame; c--)
set_frame_duration(c, m_sprite->getFrameDuration(c-1)); setFrameDuration(c, m_sprite->getFrameDuration(c-1));
set_frame_duration(before_frame, frlen_aux); setFrameDuration(before_frame, frlen_aux);
} }
// change the cels of position... // change the cels of position...
move_frame_before_layer(m_sprite->getFolder(), frame, before_frame); moveFrameBeforeLayer(m_sprite->getFolder(), frame, before_frame);
} }
} }
void Undoable::move_frame_before_layer(Layer* layer, int frame, int before_frame) void Undoable::moveFrameBeforeLayer(Layer* layer, int frame, int before_frame)
{ {
ASSERT(layer); ASSERT(layer);
@ -882,7 +882,7 @@ void Undoable::move_frame_before_layer(Layer* layer, int frame, int before_frame
} }
if (cel->frame != new_frame) if (cel->frame != new_frame)
set_cel_frame_position(cel, new_frame); setCelFramePosition(cel, new_frame);
} }
break; break;
} }
@ -892,14 +892,14 @@ void Undoable::move_frame_before_layer(Layer* layer, int frame, int before_frame
LayerIterator end = static_cast<LayerFolder*>(layer)->get_layer_end(); LayerIterator end = static_cast<LayerFolder*>(layer)->get_layer_end();
for (; it != end; ++it) for (; it != end; ++it)
move_frame_before_layer(*it, frame, before_frame); moveFrameBeforeLayer(*it, frame, before_frame);
break; break;
} }
} }
} }
Cel* Undoable::get_current_cel() Cel* Undoable::getCurrentCel()
{ {
if (m_sprite->getCurrentLayer() && m_sprite->getCurrentLayer()->is_image()) if (m_sprite->getCurrentLayer() && m_sprite->getCurrentLayer()->is_image())
return static_cast<LayerImage*>(m_sprite->getCurrentLayer())->getCel(m_sprite->getCurrentFrame()); return static_cast<LayerImage*>(m_sprite->getCurrentLayer())->getCel(m_sprite->getCurrentFrame());
@ -907,7 +907,7 @@ Cel* Undoable::get_current_cel()
return NULL; return NULL;
} }
void Undoable::crop_cel(Cel* cel, int x, int y, int w, int h, int bgcolor) void Undoable::cropCel(Cel* cel, int x, int y, int w, int h, int bgcolor)
{ {
Image* cel_image = stock_get_image(m_sprite->getStock(), cel->image); Image* cel_image = stock_get_image(m_sprite->getStock(), cel->image);
ASSERT(cel_image); ASSERT(cel_image);
@ -916,13 +916,13 @@ void Undoable::crop_cel(Cel* cel, int x, int y, int w, int h, int bgcolor)
Image* new_image = image_crop(cel_image, x-cel->x, y-cel->y, w, h, bgcolor); Image* new_image = image_crop(cel_image, x-cel->x, y-cel->y, w, h, bgcolor);
// replace the image in the stock that is pointed by the cel // replace the image in the stock that is pointed by the cel
replace_stock_image(cel->image, new_image); replaceStockImage(cel->image, new_image);
// update the cel's position // update the cel's position
set_cel_position(cel, x, y); setCelPosition(cel, x, y);
} }
Image* Undoable::get_cel_image(Cel* cel) Image* Undoable::getCelImage(Cel* cel)
{ {
if (cel && cel->image >= 0 && cel->image < m_sprite->getStock()->nimage) if (cel && cel->image >= 0 && cel->image < m_sprite->getStock()->nimage)
return m_sprite->getStock()->image[cel->image]; return m_sprite->getStock()->image[cel->image];
@ -931,13 +931,13 @@ Image* Undoable::get_cel_image(Cel* cel)
} }
// clears the mask region in the current sprite with the specified background color // clears the mask region in the current sprite with the specified background color
void Undoable::clear_mask(int bgcolor) void Undoable::clearMask(int bgcolor)
{ {
Cel* cel = get_current_cel(); Cel* cel = getCurrentCel();
if (!cel) if (!cel)
return; return;
Image* image = get_cel_image(cel); Image* image = getCelImage(cel);
if (!image) if (!image)
return; return;
@ -946,7 +946,7 @@ void Undoable::clear_mask(int bgcolor)
if (m_sprite->getMask()->is_empty()) { if (m_sprite->getMask()->is_empty()) {
// if the layer is the background then we clear the image // if the layer is the background then we clear the image
if (m_sprite->getCurrentLayer()->is_background()) { if (m_sprite->getCurrentLayer()->is_background()) {
if (is_enabled()) if (isEnabled())
undo_image(m_sprite->getUndo(), image, 0, 0, image->w, image->h); undo_image(m_sprite->getUndo(), image, 0, 0, image->w, image->h);
// clear all // clear all
@ -955,7 +955,7 @@ void Undoable::clear_mask(int bgcolor)
// if the layer is transparent we can remove the cel (and its // if the layer is transparent we can remove the cel (and its
// associated image) // associated image)
else { else {
remove_cel(static_cast<LayerImage*>(m_sprite->getCurrentLayer()), cel); removeCel(static_cast<LayerImage*>(m_sprite->getCurrentLayer()), cel);
} }
} }
else { else {
@ -971,7 +971,7 @@ void Undoable::clear_mask(int bgcolor)
if (x1 > x2 || y1 > y2) if (x1 > x2 || y1 > y2)
return; return;
if (is_enabled()) if (isEnabled())
undo_image(m_sprite->getUndo(), image, x1, y1, x2-x1+1, y2-y1+1); undo_image(m_sprite->getUndo(), image, x1, y1, x2-x1+1, y2-y1+1);
// clear the masked zones // clear the masked zones
@ -992,11 +992,11 @@ void Undoable::clear_mask(int bgcolor)
} }
} }
void Undoable::flip_image(Image* image, int x1, int y1, int x2, int y2, void Undoable::flipImage(Image* image, int x1, int y1, int x2, int y2,
bool flip_horizontal, bool flip_vertical) bool flip_horizontal, bool flip_vertical)
{ {
// insert the undo operation // insert the undo operation
if (is_enabled()) { if (isEnabled()) {
if (flip_horizontal) if (flip_horizontal)
undo_flip(m_sprite->getUndo(), image, x1, y1, x2, y2, true); undo_flip(m_sprite->getUndo(), image, x1, y1, x2, y2, true);
@ -1018,7 +1018,7 @@ void Undoable::flip_image(Image* image, int x1, int y1, int x2, int y2,
image_free(area); image_free(area);
} }
void Undoable::paste_image(const Image* src_image, int x, int y, int opacity) void Undoable::pasteImage(const Image* src_image, int x, int y, int opacity)
{ {
const Layer* layer = m_sprite->getCurrentLayer(); const Layer* layer = m_sprite->getCurrentLayer();
@ -1034,25 +1034,25 @@ void Undoable::paste_image(const Image* src_image, int x, int y, int opacity)
Image* cel_image2 = image_new_copy(cel_image); Image* cel_image2 = image_new_copy(cel_image);
image_merge(cel_image2, src_image, x-cel->x, y-cel->y, opacity, BLEND_MODE_NORMAL); image_merge(cel_image2, src_image, x-cel->x, y-cel->y, opacity, BLEND_MODE_NORMAL);
replace_stock_image(cel->image, cel_image2); // TODO fix this, improve, avoid replacing the whole image replaceStockImage(cel->image, cel_image2); // TODO fix this, improve, avoid replacing the whole image
} }
void Undoable::copy_to_current_mask(Mask* mask) void Undoable::copyToCurrentMask(Mask* mask)
{ {
ASSERT(m_sprite->getMask()); ASSERT(m_sprite->getMask());
ASSERT(mask); ASSERT(mask);
if (is_enabled()) if (isEnabled())
undo_set_mask(m_sprite->getUndo(), m_sprite); undo_set_mask(m_sprite->getUndo(), m_sprite);
mask_copy(m_sprite->getMask(), mask); mask_copy(m_sprite->getMask(), mask);
} }
void Undoable::set_mask_position(int x, int y) void Undoable::setMaskPosition(int x, int y)
{ {
ASSERT(m_sprite->getMask()); ASSERT(m_sprite->getMask());
if (is_enabled()) { if (isEnabled()) {
undo_int(m_sprite->getUndo(), m_sprite->getMask(), &m_sprite->getMask()->x); undo_int(m_sprite->getUndo(), m_sprite->getMask(), &m_sprite->getMask()->x);
undo_int(m_sprite->getUndo(), m_sprite->getMask(), &m_sprite->getMask()->y); undo_int(m_sprite->getUndo(), m_sprite->getMask(), &m_sprite->getMask()->y);
} }
@ -1061,7 +1061,7 @@ void Undoable::set_mask_position(int x, int y)
m_sprite->getMask()->y = y; m_sprite->getMask()->y = y;
} }
void Undoable::deselect_mask() void Undoable::deselectMask()
{ {
// Destroy the *deselected* mask // Destroy the *deselected* mask
Mask* mask = m_sprite->requestMask("*deselected*"); Mask* mask = m_sprite->requestMask("*deselected*");

View File

@ -34,77 +34,77 @@ class SpriteWriter;
*/ */
class Undoable class Undoable
{ {
Sprite* m_sprite;
bool m_committed;
bool m_enabled_flag;
public: public:
Undoable(SpriteWriter& sprite, const char* label); Undoable(SpriteWriter& sprite, const char* label);
virtual ~Undoable(); virtual ~Undoable();
inline Sprite* getSprite() const { return m_sprite; } inline Sprite* getSprite() const { return m_sprite; }
inline bool is_enabled() const { return m_enabled_flag; } inline bool isEnabled() const { return m_enabledFlag; }
void commit(); void commit();
// for sprite // for sprite
void set_number_of_frames(int frames); void setNumberOfFrames(int frames);
void set_current_frame(int frame); void setCurrentFrame(int frame);
void set_current_layer(Layer* layer); void setCurrentLayer(Layer* layer);
void set_sprite_size(int w, int h); void setSpriteSize(int w, int h);
void crop_sprite(int x, int y, int w, int h, int bgcolor); void cropSprite(int x, int y, int w, int h, int bgcolor);
void autocrop_sprite(int bgcolor); void autocropSprite(int bgcolor);
void set_imgtype(int new_imgtype, int dithering_method); void setImgType(int new_imgtype, int dithering_method);
// for images in stock // for images in stock
int add_image_in_stock(Image* image); int addImageInStock(Image* image);
void remove_image_from_stock(int image_index); void removeImageFromStock(int image_index);
void replace_stock_image(int image_index, Image* new_image); void replaceStockImage(int image_index, Image* new_image);
// for layers // for layers
Layer* new_layer(); Layer* newLayer();
void remove_layer(Layer* layer); void removeLayer(Layer* layer);
void move_layer_after(Layer *layer, Layer *after_this); void moveLayerAfter(Layer *layer, Layer *after_this);
void crop_layer(Layer* layer, int x, int y, int w, int h, int bgcolor); void cropLayer(Layer* layer, int x, int y, int w, int h, int bgcolor);
void displace_layers(Layer* layer, int dx, int dy); void displaceLayers(Layer* layer, int dx, int dy);
void background_from_layer(LayerImage* layer, int bgcolor); void backgroundFromLayer(LayerImage* layer, int bgcolor);
void layer_from_background(); void layerFromBackground();
void flatten_layers(int bgcolor); void flattenLayers(int bgcolor);
private: private:
void configure_layer_as_background(LayerImage* layer); void configureLayerAsBackground(LayerImage* layer);
public: public:
// for frames // for frames
void new_frame(); void newFrame();
void new_frame_for_layer(Layer* layer, int frame); void newFrameForLayer(Layer* layer, int frame);
void remove_frame(int frame); void removeFrame(int frame);
void remove_frame_of_layer(Layer* layer, int frame); void removeFrameOfLayer(Layer* layer, int frame);
void copy_previous_frame(Layer* layer, int frame); void copyPreviousFrame(Layer* layer, int frame);
void set_frame_duration(int frame, int msecs); void setFrameDuration(int frame, int msecs);
void set_constant_frame_rate(int msecs); void setConstantFrameRate(int msecs);
void move_frame_before(int frame, int before_frame); void moveFrameBefore(int frame, int before_frame);
void move_frame_before_layer(Layer* layer, int frame, int before_frame); void moveFrameBeforeLayer(Layer* layer, int frame, int before_frame);
// for cels // for cels
void add_cel(LayerImage* layer, Cel* cel); void addCel(LayerImage* layer, Cel* cel);
void remove_cel(LayerImage* layer, Cel* cel); void removeCel(LayerImage* layer, Cel* cel);
void set_cel_frame_position(Cel* cel, int frame); void setCelFramePosition(Cel* cel, int frame);
void set_cel_position(Cel* cel, int x, int y); void setCelPosition(Cel* cel, int x, int y);
Cel* get_current_cel(); Cel* getCurrentCel();
void crop_cel(Cel* cel, int x, int y, int w, int h, int bgcolor); void cropCel(Cel* cel, int x, int y, int w, int h, int bgcolor);
// for image // for image
Image* get_cel_image(Cel* cel); Image* getCelImage(Cel* cel);
void clear_mask(int bgcolor); void clearMask(int bgcolor);
void flip_image(Image* image, int x1, int y1, int x2, int y2, void flipImage(Image* image, int x1, int y1, int x2, int y2,
bool flip_horizontal, bool flip_vertical); bool flip_horizontal, bool flip_vertical);
void paste_image(const Image* src_image, int x, int y, int opacity); void pasteImage(const Image* src_image, int x, int y, int opacity);
// for mask // for mask
void copy_to_current_mask(Mask* mask); void copyToCurrentMask(Mask* mask);
void set_mask_position(int x, int y); void setMaskPosition(int x, int y);
void deselect_mask(); void deselectMask();
private:
Sprite* m_sprite;
bool m_committed;
bool m_enabledFlag;
}; };
#endif #endif

View File

@ -161,8 +161,8 @@ void clipboard::cut(SpriteWriter& sprite)
else { else {
{ {
Undoable undoable(sprite, "Cut"); Undoable undoable(sprite, "Cut");
undoable.clear_mask(app_get_color_to_clear_layer(sprite->getCurrentLayer())); undoable.clearMask(app_get_color_to_clear_layer(sprite->getCurrentLayer()));
undoable.deselect_mask(); undoable.deselectMask();
undoable.commit(); undoable.commit();
} }
sprite->generateMaskBoundaries(); sprite->generateMaskBoundaries();
@ -232,7 +232,7 @@ void clipboard::paste(SpriteWriter& sprite)
Cel* cel = cel_new(sprite->getCurrentFrame(), dst_image_index); Cel* cel = cel_new(sprite->getCurrentFrame(), dst_image_index);
// Add the cel to the layer // Add the cel to the layer
undoable.add_cel(layer, cel); undoable.addCel(layer, cel);
// Default destination position // Default destination position
dst_x = dst_y = 0; dst_x = dst_y = 0;

View File

@ -58,14 +58,14 @@ public:
void cutMask() void cutMask()
{ {
m_undoable.clear_mask(app_get_color_to_clear_layer(m_sprite_writer->getCurrentLayer())); m_undoable.clearMask(app_get_color_to_clear_layer(m_sprite_writer->getCurrentLayer()));
copyMask(); copyMask();
} }
void copyMask() void copyMask()
{ {
// Hide the mask (do not deselect it, it will be moved them using m_undoable.set_mask_position) // Hide the mask (do not deselect it, it will be moved them using m_undoable.setMaskPosition)
Mask* empty_mask = new Mask(); Mask* empty_mask = new Mask();
m_sprite_writer->generateMaskBoundaries(empty_mask); m_sprite_writer->generateMaskBoundaries(empty_mask);
delete empty_mask; delete empty_mask;
@ -91,7 +91,7 @@ public:
m_catch_x = x; m_catch_x = x;
m_catch_y = y; m_catch_y = y;
// Hide the mask (do not deselect it, it will be moved them using m_undoable.set_mask_position) // Hide the mask (do not deselect it, it will be moved them using m_undoable.setMaskPosition)
Mask* empty_mask = new Mask(); Mask* empty_mask = new Mask();
m_sprite_writer->generateMaskBoundaries(empty_mask); m_sprite_writer->generateMaskBoundaries(empty_mask);
delete empty_mask; delete empty_mask;
@ -140,7 +140,7 @@ public:
// Show the mask again in the new position // Show the mask again in the new position
if (m_firstDrop) { if (m_firstDrop) {
m_firstDrop = false; m_firstDrop = false;
m_undoable.set_mask_position(cel->x, cel->y); m_undoable.setMaskPosition(cel->x, cel->y);
} }
else { else {
m_sprite_writer->getMask()->x = cel->x; m_sprite_writer->getMask()->x = cel->x;
@ -158,7 +158,7 @@ public:
Cel* cel = m_sprite_writer->getExtraCel(); Cel* cel = m_sprite_writer->getExtraCel();
Image* image = m_sprite_writer->getExtraCelImage(); Image* image = m_sprite_writer->getExtraCelImage();
m_undoable.paste_image(image, cel->x, cel->y, cel->opacity); m_undoable.pasteImage(image, cel->x, cel->y, cel->opacity);
m_undoable.commit(); m_undoable.commit();
} }