static void gimp_vectors_flip (GimpItem *item, GimpContext *context, GimpOrientationType flip_type, gdouble axis, gboolean clip_result) { GimpVectors *vectors = GIMP_VECTORS (item); GList *list; GimpMatrix3 matrix; gimp_matrix3_identity (&matrix); gimp_transform_matrix_flip (&matrix, flip_type, axis); gimp_vectors_freeze (vectors); gimp_image_undo_push_vectors_mod (gimp_item_get_image (item), _("Flip Path"), vectors); for (list = vectors->strokes; list; list = g_list_next (list)) { GimpStroke *stroke = list->data; gimp_stroke_transform (stroke, &matrix); } gimp_vectors_thaw (vectors); }
static gboolean gimp_text_layer_transform_flip (GimpTextLayer *layer, GimpOrientationType flip_type, gdouble axis) { GimpMatrix3 matrix; if (! gimp_text_layer_get_transformation (layer, &matrix)) return FALSE; gimp_transform_matrix_flip (&matrix, flip_type, axis); return gimp_text_layer_set_transformation (layer, &matrix); }