/* LIBPIKA - The PIKA Library * Copyright (C) 1995-1999 Peter Mattis and Spencer Kimball * * pikaexport.h * Copyright (C) 1999-2000 Sven Neumann * * This library is free software: you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library. If not, see * . */ #if !defined (__PIKA_UI_H_INSIDE__) && !defined (PIKA_COMPILATION) #error "Only can be included directly." #endif #ifndef __PIKA_EXPORT_H__ #define __PIKA_EXPORT_H__ G_BEGIN_DECLS /* For information look into the C source or the html documentation */ /** * PikaExportCapabilities: * @PIKA_EXPORT_CAN_HANDLE_RGB: Handles RGB images * @PIKA_EXPORT_CAN_HANDLE_GRAY: Handles grayscale images * @PIKA_EXPORT_CAN_HANDLE_INDEXED: Handles indexed images * @PIKA_EXPORT_CAN_HANDLE_BITMAP: Handles two-color indexed images * @PIKA_EXPORT_CAN_HANDLE_ALPHA: Handles alpha channels * @PIKA_EXPORT_CAN_HANDLE_LAYERS: Handles layers * @PIKA_EXPORT_CAN_HANDLE_LAYERS_AS_ANIMATION: Handles animation of layers * @PIKA_EXPORT_CAN_HANDLE_LAYER_MASKS: Handles layer masks * @PIKA_EXPORT_NEEDS_ALPHA: Needs alpha channels * @PIKA_EXPORT_NEEDS_CROP: Needs to crop content to image bounds * * The types of images and layers an export procedure can handle **/ typedef enum { PIKA_EXPORT_CAN_HANDLE_RGB = 1 << 0, PIKA_EXPORT_CAN_HANDLE_GRAY = 1 << 1, PIKA_EXPORT_CAN_HANDLE_INDEXED = 1 << 2, PIKA_EXPORT_CAN_HANDLE_BITMAP = 1 << 3, PIKA_EXPORT_CAN_HANDLE_ALPHA = 1 << 4, PIKA_EXPORT_CAN_HANDLE_LAYERS = 1 << 5, PIKA_EXPORT_CAN_HANDLE_LAYERS_AS_ANIMATION = 1 << 6, PIKA_EXPORT_CAN_HANDLE_LAYER_MASKS = 1 << 7, PIKA_EXPORT_NEEDS_ALPHA = 1 << 8, PIKA_EXPORT_NEEDS_CROP = 1 << 9 } PikaExportCapabilities; /** * PikaExportReturn: * @PIKA_EXPORT_CANCEL: The export was cancelled * @PIKA_EXPORT_IGNORE: The image is unmodified but export shall continue anyway * @PIKA_EXPORT_EXPORT: The chosen transforms were applied to the image * * Possible return values of pika_export_image(). **/ typedef enum { PIKA_EXPORT_CANCEL, PIKA_EXPORT_IGNORE, PIKA_EXPORT_EXPORT } PikaExportReturn; GtkWidget * pika_export_dialog_new (const gchar *format_name, const gchar *role, const gchar *help_id); GtkWidget * pika_export_dialog_get_content_area (GtkWidget *dialog); PikaExportReturn pika_export_image (PikaImage **image, gint *n_drawables, PikaDrawable ***drawables, const gchar *format_name, PikaExportCapabilities capabilities); G_END_DECLS #endif /* __PIKA_EXPORT_H__ */