mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-04 09:53:25 +00:00

This is mostly an empty shell whose goal is to serve as base class for specific dynamically generated per-operation subclasses, which will have properties mimicking the arguments of the GEGL operation. Most of the fundamental type args will just use the base GLib param spec types instead of GEGL ones. As a special case, the GeglParamEnum arguments are transformed into GimpChoice param specs on libgimp side. The reason is that most of the time, enum types are created within the scope of an operation code only and cannot be properly reconstructed over the wire. I could just transform these into an int type (which is mostly what is done in GEGL right now when running an op with such arg), but GimpChoice allow much nicer string-type args, which make much more semantic code. This class was initially created for plug-ins, but it would work very well to run GEGL ops on drawables. So let's do it. Finally add a gimp_drawable_filter_get_config() to request the current config of a filter. Note that right now, we can't do much with this config object other than observing an operation args and default values. Being able to update a filter's settings will come up in further commits.
87 lines
3.1 KiB
C
87 lines
3.1 KiB
C
/* LIBGIMP - The GIMP Library
|
|
* Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
|
|
*
|
|
* gimptypes.h
|
|
*
|
|
* 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
|
|
* <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef __GIMP_TYPES_H__
|
|
#define __GIMP_TYPES_H__
|
|
|
|
#include <libgimpbase/gimpbasetypes.h>
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
/* For information look into the html documentation */
|
|
|
|
|
|
typedef struct _GimpPDB GimpPDB;
|
|
typedef struct _GimpPlugIn GimpPlugIn;
|
|
typedef struct _GimpProcedure GimpProcedure;
|
|
typedef struct _GimpBatchProcedure GimpBatchProcedure;
|
|
typedef struct _GimpImageProcedure GimpImageProcedure;
|
|
typedef struct _GimpFileProcedure GimpFileProcedure;
|
|
typedef struct _GimpVectorLoadProcedure GimpVectorLoadProcedure;
|
|
typedef struct _GimpLoadProcedure GimpLoadProcedure;
|
|
typedef struct _GimpExportProcedure GimpExportProcedure;
|
|
typedef struct _GimpThumbnailProcedure GimpThumbnailProcedure;
|
|
typedef struct _GimpProcedureConfig GimpProcedureConfig;
|
|
|
|
typedef struct _GimpImage GimpImage;
|
|
typedef struct _GimpItem GimpItem;
|
|
typedef struct _GimpDrawable GimpDrawable;
|
|
typedef struct _GimpGroupLayer GimpGroupLayer;
|
|
typedef struct _GimpLayer GimpLayer;
|
|
typedef struct _GimpChannel GimpChannel;
|
|
typedef struct _GimpLayerMask GimpLayerMask;
|
|
typedef struct _GimpSelection GimpSelection;
|
|
typedef struct _GimpTextLayer GimpTextLayer;
|
|
typedef struct _GimpPath GimpPath;
|
|
typedef struct _GimpDrawableFilter GimpDrawableFilter;
|
|
typedef struct _GimpDrawableFilterConfig GimpDrawableFilterConfig;
|
|
|
|
typedef struct _GimpDisplay GimpDisplay;
|
|
|
|
typedef struct _GimpResource GimpResource;
|
|
typedef struct _GimpBrush GimpBrush;
|
|
typedef struct _GimpFont GimpFont;
|
|
typedef struct _GimpGradient GimpGradient;
|
|
typedef struct _GimpPattern GimpPattern;
|
|
typedef struct _GimpPalette GimpPalette;
|
|
|
|
|
|
/* FIXME move somewhere else */
|
|
|
|
/**
|
|
* GimpPixbufTransparency:
|
|
* @GIMP_PIXBUF_KEEP_ALPHA: Create a pixbuf with alpha
|
|
* @GIMP_PIXBUF_SMALL_CHECKS: Show transparency as small checks
|
|
* @GIMP_PIXBUF_LARGE_CHECKS: Show transparency as large checks
|
|
*
|
|
* How to deal with transparency when creating thubnail pixbufs from
|
|
* images and drawables.
|
|
**/
|
|
typedef enum
|
|
{
|
|
GIMP_PIXBUF_KEEP_ALPHA,
|
|
GIMP_PIXBUF_SMALL_CHECKS,
|
|
GIMP_PIXBUF_LARGE_CHECKS
|
|
} GimpPixbufTransparency;
|
|
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* __GIMP_TYPES_H__ */
|