/* 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-2001 Spencer Kimball, Peter Mattis, and others * * 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 . */ #ifndef __PIKA_DRAWABLE_TRANSFORM_H__ #define __PIKA_DRAWABLE_TRANSFORM_H__ GeglBuffer * pika_drawable_transform_buffer_affine (PikaDrawable *drawable, PikaContext *context, GeglBuffer *orig_buffer, gint orig_offset_x, gint orig_offset_y, const PikaMatrix3 *matrix, PikaTransformDirection direction, PikaInterpolationType interpolation_type, PikaTransformResize clip_result, PikaColorProfile **buffer_profile, gint *new_offset_x, gint *new_offset_y, PikaProgress *progress); GeglBuffer * pika_drawable_transform_buffer_flip (PikaDrawable *drawable, PikaContext *context, GeglBuffer *orig_buffer, gint orig_offset_x, gint orig_offset_y, PikaOrientationType flip_type, gdouble axis, gboolean clip_result, PikaColorProfile **buffer_profile, gint *new_offset_x, gint *new_offset_y); GeglBuffer * pika_drawable_transform_buffer_rotate (PikaDrawable *drawable, PikaContext *context, GeglBuffer *buffer, gint orig_offset_x, gint orig_offset_y, PikaRotationType rotate_type, gdouble center_x, gdouble center_y, gboolean clip_result, PikaColorProfile **buffer_profile, gint *new_offset_x, gint *new_offset_y); PikaDrawable * pika_drawable_transform_affine (PikaDrawable *drawable, PikaContext *context, const PikaMatrix3 *matrix, PikaTransformDirection direction, PikaInterpolationType interpolation_type, PikaTransformResize clip_result, PikaProgress *progress); PikaDrawable * pika_drawable_transform_flip (PikaDrawable *drawable, PikaContext *context, PikaOrientationType flip_type, gdouble axis, gboolean clip_result); PikaDrawable * pika_drawable_transform_rotate (PikaDrawable *drawable, PikaContext *context, PikaRotationType rotate_type, gdouble center_x, gdouble center_y, gboolean clip_result); GeglBuffer * pika_drawable_transform_cut (GList *drawables, PikaContext *context, gint *offset_x, gint *offset_y, gboolean *new_layer); PikaDrawable * pika_drawable_transform_paste (PikaDrawable *drawable, GeglBuffer *buffer, PikaColorProfile *buffer_profile, gint offset_x, gint offset_y, gboolean new_layer); #endif /* __PIKA_DRAWABLE_TRANSFORM_H__ */