summaryrefslogtreecommitdiffstats
path: root/plug-ins/pygimp/pygimp.h
diff options
context:
space:
mode:
Diffstat (limited to 'plug-ins/pygimp/pygimp.h')
-rw-r--r--plug-ins/pygimp/pygimp.h139
1 files changed, 139 insertions, 0 deletions
diff --git a/plug-ins/pygimp/pygimp.h b/plug-ins/pygimp/pygimp.h
new file mode 100644
index 0000000..c7d927b
--- /dev/null
+++ b/plug-ins/pygimp/pygimp.h
@@ -0,0 +1,139 @@
+/* -*- Mode: C; c-basic-offset: 4 -*-
+ * Gimp-Python - allows the writing of Gimp plugins in Python.
+ * Copyright (C) 1997-2002 James Henstridge <james@daa.com.au>
+ *
+ * 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 _PYGIMP_H_
+#define _PYGIMP_H_
+
+#include <Python.h>
+
+#include <libgimp/gimp.h>
+
+#define _INSIDE_PYGIMP_
+#include "pygimp-api.h"
+
+#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
+typedef int Py_ssize_t;
+#define PY_SSIZE_T_MAX INT_MAX
+#define PY_SSIZE_T_MIN INT_MIN
+#define PyInt_AsSsize_t(o) PyInt_AsLong(o)
+#endif
+
+G_BEGIN_DECLS
+
+extern PyObject *pygimp_error;
+
+PyObject *pygimp_param_to_tuple(int nparams, const GimpParam *params);
+GimpParam *pygimp_param_from_tuple(PyObject *args, const GimpParamDef *ptype,
+ int nparams);
+
+
+extern PyTypeObject PyGimpPDB_Type;
+#define pygimp_pdb_check(v) (PyObject_TypeCheck(v, &PyGimpPDB_Type))
+PyObject *pygimp_pdb_new(void);
+
+extern PyTypeObject PyGimpPDBFunction_Type;
+#define pygimp_pdb_function_check(v) (PyObject_TypeCheck(v, &PyGimpPDBFunction_Type))
+PyObject *pygimp_pdb_function_new(const char *name, const char *blurb,
+ const char *help, const char *author,
+ const char *copyright, const char *date,
+ GimpPDBProcType proc_type,
+ int n_params, int n_return_vals,
+ GimpParamDef *params,
+ GimpParamDef *return_vals);
+
+extern PyTypeObject PyGimpImage_Type;
+#define pygimp_image_check(v) (PyObject_TypeCheck(v, &PyGimpImage_Type))
+PyObject *pygimp_image_new(gint32 ID);
+
+extern PyTypeObject PyGimpDisplay_Type;
+#define pygimp_display_check(v) (PyObject_TypeCheck(v, &PyGimpDisplay_Type))
+PyObject *pygimp_display_new(gint32 ID);
+
+extern PyTypeObject PyGimpItem_Type;
+#define pygimp_item_check(v) (PyObject_TypeCheck(v, &PyGimpItem_Type))
+PyObject *pygimp_item_new(gint32 ID);
+
+extern PyTypeObject PyGimpDrawable_Type;
+#define pygimp_drawable_check(v) (PyObject_TypeCheck(v, &PyGimpDrawable_Type))
+PyObject *pygimp_drawable_new(GimpDrawable *drawable, gint32 ID);
+
+extern PyTypeObject PyGimpLayer_Type;
+#define pygimp_layer_check(v) (PyObject_TypeCheck(v, &PyGimpLayer_Type))
+PyObject *pygimp_layer_new(gint32 ID);
+
+extern PyTypeObject PyGimpGroupLayer_Type;
+#define pygimp_layer__group_check(v) (PyObject_TypeCheck(v, &PyGimpGroupLayer_Type))
+PyObject *pygimp_group_layer_new(gint32 ID);
+
+extern PyTypeObject PyGimpChannel_Type;
+#define pygimp_channel_check(v) (PyObject_TypeCheck(v, &PyGimpChannel_Type))
+PyObject *pygimp_channel_new(gint32 ID);
+
+typedef struct {
+ PyObject_HEAD
+ GimpTile *tile;
+ PyGimpDrawable *drawable; /* we keep a reference to the drawable */
+} PyGimpTile;
+
+extern PyTypeObject PyGimpTile_Type;
+#define pygimp_tile_check(v) (PyObject_TypeCheck(v, &PyGimpTile_Type))
+PyObject *pygimp_tile_new(GimpTile *tile, PyGimpDrawable *drw);
+
+typedef struct {
+ PyObject_HEAD
+ GimpPixelRgn pr;
+ PyGimpDrawable *drawable; /* keep the drawable around */
+} PyGimpPixelRgn;
+
+extern PyTypeObject PyGimpPixelRgn_Type;
+#define pygimp_pixel_rgn_check(v) (PyObject_TypeCheck(v, &PyGimpPixelRgn_Type))
+PyObject *pygimp_pixel_rgn_new(PyGimpDrawable *drw, int x, int y,
+ int w, int h, int dirty, int shadow);
+
+typedef struct {
+ PyObject_HEAD
+ GimpParasite *para;
+} PyGimpParasite;
+
+extern PyTypeObject PyGimpParasite_Type;
+#define pygimp_parasite_check(v) (PyObject_TypeCheck(v, &PyGimpParasite_Type))
+PyObject *pygimp_parasite_new(GimpParasite *para);
+
+extern PyTypeObject PyGimpVectors_Type;
+#define pygimp_vectors_check(v) (PyObject_TypeCheck(v, &PyGimpVectors_Type))
+PyObject *pygimp_vectors_new(gint32 vectors_ID);
+
+extern PyTypeObject PyGimpVectorsStroke_Type;
+extern PyTypeObject PyGimpVectorsBezierStroke_Type;
+
+typedef struct {
+ PyObject_HEAD
+ GimpPixelFetcher *pf;
+ PyGimpDrawable *drawable; /* keep the drawable around */
+ gboolean shadow;
+ GimpRGB bg_color;
+ GimpPixelFetcherEdgeMode edge_mode;
+ int bpp;
+} PyGimpPixelFetcher;
+
+extern PyTypeObject PyGimpPixelFetcher_Type;
+#define pygimp_pixel_fetcher_check(v) (PyObject_TypeCheck(v, &PyGimpPixelFetcher_Type))
+
+G_END_DECLS
+
+#endif