PIKApp/app/core/pikaimage-undo-push.h

264 lines
15 KiB
C

/* PIKA - Photo and Image Kooker Application
* a rebranding of The GNU Image Manipulation Program (created with heckimp)
* A derived work which may be trivial. However, any changes may be (C)2023 by Aldercone Studio
*
* Original copyright, applying to most contents (license remains unchanged):
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#ifndef __PIKA_IMAGE_UNDO_PUSH_H__
#define __PIKA_IMAGE_UNDO_PUSH_H__
/* image undos */
PikaUndo * pika_image_undo_push_image_type (PikaImage *image,
const gchar *undo_desc);
PikaUndo * pika_image_undo_push_image_precision (PikaImage *image,
const gchar *undo_desc);
PikaUndo * pika_image_undo_push_image_size (PikaImage *image,
const gchar *undo_desc,
gint previous_origin_x,
gint previous_origin_y,
gint previous_width,
gint prevoius_height);
PikaUndo * pika_image_undo_push_image_resolution (PikaImage *image,
const gchar *undo_desc);
PikaUndo * pika_image_undo_push_image_grid (PikaImage *image,
const gchar *undo_desc,
PikaGrid *grid);
PikaUndo * pika_image_undo_push_image_colormap (PikaImage *image,
const gchar *undo_desc);
PikaUndo * pika_image_undo_push_image_hidden_profile(PikaImage *image,
const gchar *undo_desc);
PikaUndo * pika_image_undo_push_image_metadata (PikaImage *image,
const gchar *undo_desc);
PikaUndo * pika_image_undo_push_image_parasite (PikaImage *image,
const gchar *undo_desc,
const PikaParasite *parasite);
PikaUndo * pika_image_undo_push_image_parasite_remove (PikaImage *image,
const gchar *undo_desc,
const gchar *name);
/* guide & sample point undos */
PikaUndo * pika_image_undo_push_guide (PikaImage *image,
const gchar *undo_desc,
PikaGuide *guide);
PikaUndo * pika_image_undo_push_sample_point (PikaImage *image,
const gchar *undo_desc,
PikaSamplePoint *sample_point);
/* drawable undos */
PikaUndo * pika_image_undo_push_drawable (PikaImage *image,
const gchar *undo_desc,
PikaDrawable *drawable,
GeglBuffer *buffer,
gint x,
gint y);
PikaUndo * pika_image_undo_push_drawable_mod (PikaImage *image,
const gchar *undo_desc,
PikaDrawable *drawable,
gboolean copy_buffer);
PikaUndo * pika_image_undo_push_drawable_format (PikaImage *image,
const gchar *undo_desc,
PikaDrawable *drawable);
/* mask undos */
PikaUndo * pika_image_undo_push_mask (PikaImage *image,
const gchar *undo_desc,
PikaChannel *mask);
PikaUndo * pika_image_undo_push_mask_precision (PikaImage *image,
const gchar *undo_desc,
PikaChannel *mask);
/* item undos */
PikaUndo * pika_image_undo_push_item_reorder (PikaImage *image,
const gchar *undo_desc,
PikaItem *item);
PikaUndo * pika_image_undo_push_item_rename (PikaImage *image,
const gchar *undo_desc,
PikaItem *item);
PikaUndo * pika_image_undo_push_item_displace (PikaImage *image,
const gchar *undo_desc,
PikaItem *item);
PikaUndo * pika_image_undo_push_item_visibility (PikaImage *image,
const gchar *undo_desc,
PikaItem *item);
PikaUndo * pika_image_undo_push_item_color_tag (PikaImage *image,
const gchar *undo_desc,
PikaItem *item);
PikaUndo * pika_image_undo_push_item_lock_content (PikaImage *image,
const gchar *undo_desc,
PikaItem *item);
PikaUndo * pika_image_undo_push_item_lock_position (PikaImage *image,
const gchar *undo_desc,
PikaItem *item);
PikaUndo * pika_image_undo_push_item_lock_visibility (PikaImage *image,
const gchar *undo_desc,
PikaItem *item);
PikaUndo * pika_image_undo_push_item_parasite (PikaImage *image,
const gchar *undo_desc,
PikaItem *item,
const PikaParasite *parasite);
PikaUndo * pika_image_undo_push_item_parasite_remove(PikaImage *image,
const gchar *undo_desc,
PikaItem *item,
const gchar *name);
/* layer undos */
PikaUndo * pika_image_undo_push_layer_add (PikaImage *image,
const gchar *undo_desc,
PikaLayer *layer,
GList *prev_layers);
PikaUndo * pika_image_undo_push_layer_remove (PikaImage *image,
const gchar *undo_desc,
PikaLayer *layer,
PikaLayer *prev_parent,
gint prev_position,
GList *prev_layers);
PikaUndo * pika_image_undo_push_layer_mode (PikaImage *image,
const gchar *undo_desc,
PikaLayer *layer);
PikaUndo * pika_image_undo_push_layer_opacity (PikaImage *image,
const gchar *undo_desc,
PikaLayer *layer);
PikaUndo * pika_image_undo_push_layer_lock_alpha (PikaImage *image,
const gchar *undo_desc,
PikaLayer *layer);
/* group layer undos */
PikaUndo *
pika_image_undo_push_group_layer_suspend_resize (PikaImage *image,
const gchar *undo_desc,
PikaGroupLayer *group);
PikaUndo *
pika_image_undo_push_group_layer_resume_resize (PikaImage *image,
const gchar *undo_desc,
PikaGroupLayer *group);
PikaUndo *
pika_image_undo_push_group_layer_suspend_mask (PikaImage *image,
const gchar *undo_desc,
PikaGroupLayer *group);
PikaUndo *
pika_image_undo_push_group_layer_resume_mask (PikaImage *image,
const gchar *undo_desc,
PikaGroupLayer *group);
PikaUndo *
pika_image_undo_push_group_layer_start_transform (PikaImage *image,
const gchar *undo_desc,
PikaGroupLayer *group);
PikaUndo *
pika_image_undo_push_group_layer_end_transform (PikaImage *image,
const gchar *undo_desc,
PikaGroupLayer *group);
PikaUndo * pika_image_undo_push_group_layer_convert (PikaImage *image,
const gchar *undo_desc,
PikaGroupLayer *group);
/* text layer undos */
PikaUndo * pika_image_undo_push_text_layer (PikaImage *image,
const gchar *undo_desc,
PikaTextLayer *layer,
const GParamSpec *pspec);
PikaUndo * pika_image_undo_push_text_layer_modified (PikaImage *image,
const gchar *undo_desc,
PikaTextLayer *layer);
PikaUndo * pika_image_undo_push_text_layer_convert (PikaImage *image,
const gchar *undo_desc,
PikaTextLayer *layer);
/* layer mask undos */
PikaUndo * pika_image_undo_push_layer_mask_add (PikaImage *image,
const gchar *undo_desc,
PikaLayer *layer,
PikaLayerMask *mask);
PikaUndo * pika_image_undo_push_layer_mask_remove (PikaImage *image,
const gchar *undo_desc,
PikaLayer *layer,
PikaLayerMask *mask);
PikaUndo * pika_image_undo_push_layer_mask_apply (PikaImage *image,
const gchar *undo_desc,
PikaLayer *layer);
PikaUndo * pika_image_undo_push_layer_mask_show (PikaImage *image,
const gchar *undo_desc,
PikaLayer *layer);
/* channel undos */
PikaUndo * pika_image_undo_push_channel_add (PikaImage *image,
const gchar *undo_desc,
PikaChannel *channel,
GList *prev_channels);
PikaUndo * pika_image_undo_push_channel_remove (PikaImage *image,
const gchar *undo_desc,
PikaChannel *channel,
PikaChannel *prev_parent,
gint prev_position,
GList *prev_channels);
PikaUndo * pika_image_undo_push_channel_color (PikaImage *image,
const gchar *undo_desc,
PikaChannel *channel);
/* vectors undos */
PikaUndo * pika_image_undo_push_vectors_add (PikaImage *image,
const gchar *undo_desc,
PikaVectors *vectors,
GList *prev_vectors);
PikaUndo * pika_image_undo_push_vectors_remove (PikaImage *image,
const gchar *undo_desc,
PikaVectors *vectors,
PikaVectors *prev_parent,
gint prev_position,
GList *prev_vectors);
PikaUndo * pika_image_undo_push_vectors_mod (PikaImage *image,
const gchar *undo_desc,
PikaVectors *vectors);
/* floating selection undos */
PikaUndo * pika_image_undo_push_fs_to_layer (PikaImage *image,
const gchar *undo_desc,
PikaLayer *floating_layer);
/* EEK undo */
PikaUndo * pika_image_undo_push_cantundo (PikaImage *image,
const gchar *undo_desc);
#endif /* __PIKA_IMAGE_UNDO_PUSH_H__ */