gimp r26189 - in trunk: . app/pdb app/plug-in libgimp libgimpbase plug-ins/pygimp plug-ins/script-fu tools/pdbgen
- From: neo svn gnome org
- To: svn-commits-list gnome org
- Subject: gimp r26189 - in trunk: . app/pdb app/plug-in libgimp libgimpbase plug-ins/pygimp plug-ins/script-fu tools/pdbgen
- Date: Mon, 14 Jul 2008 14:09:16 +0000 (UTC)
Author: neo
Date: Mon Jul 14 14:09:16 2008
New Revision: 26189
URL: http://svn.gnome.org/viewvc/gimp?rev=26189&view=rev
Log:
2008-07-14 Sven Neumann <sven gimp org>
Add new PDB data type PDB_COLORARRAY for using arrays of GimpRGB
colors as argument or return value.
* libgimpbase/gimpbaseenums.[ch] (enum GimpPDBArgType): replaced
the unused GIMP_PDB_BOUNDARY with GIMP_PDB_COLORARRAY.
* libgimpbase/gimpprotocol.h: increased GIMP_PROTOCOL_VERSION.
(struct _GPParam): added d_colorarray entry to the union.
* libgimpbase/gimpprotocol.c
* libgimp/gimp.[ch]
* app/pdb/gimp-pdb-compat.c
* app/plug-in/plug-in-params.c
* app/plug-in/gimpplugin-message.c
* tools/pdbgen/pdb.pl: deal with the new data type.
* tools/pdbgen/enums.pl: regenerated.
* plug-ins/pygimp/pygimp-pdb.c
* plug-ins/script-fu/scheme-wrapper.c: handle the new data type.
Modified:
trunk/ChangeLog
trunk/app/pdb/gimp-pdb-compat.c
trunk/app/plug-in/gimpplugin-message.c
trunk/app/plug-in/plug-in-params.c
trunk/libgimp/gimp.c
trunk/libgimp/gimp.h
trunk/libgimpbase/gimpbaseenums.c
trunk/libgimpbase/gimpbaseenums.h
trunk/libgimpbase/gimpprotocol.c
trunk/libgimpbase/gimpprotocol.h
trunk/plug-ins/pygimp/pygimp-pdb.c
trunk/plug-ins/script-fu/scheme-wrapper.c
trunk/tools/pdbgen/enums.pl
trunk/tools/pdbgen/pdb.pl
Modified: trunk/app/pdb/gimp-pdb-compat.c
==============================================================================
--- trunk/app/pdb/gimp-pdb-compat.c (original)
+++ trunk/app/pdb/gimp-pdb-compat.c Mon Jul 14 14:09:16 2008
@@ -148,7 +148,9 @@
G_PARAM_READWRITE);
break;
- case GIMP_PDB_BOUNDARY:
+ case GIMP_PDB_COLORARRAY:
+ pspec = gimp_param_spec_color_array (name, name, desc,
+ G_PARAM_READWRITE);
break;
case GIMP_PDB_VECTORS:
@@ -220,7 +222,6 @@
return GIMP_TYPE_RGB;
case GIMP_PDB_REGION:
- case GIMP_PDB_BOUNDARY:
break;
case GIMP_PDB_DISPLAY:
@@ -241,6 +242,9 @@
case GIMP_PDB_SELECTION:
return GIMP_TYPE_SELECTION_ID;
+ case GIMP_PDB_COLORARRAY:
+ return GIMP_TYPE_COLOR_ARRAY;
+
case GIMP_PDB_VECTORS:
return GIMP_TYPE_VECTORS_ID;
Modified: trunk/app/plug-in/gimpplugin-message.c
==============================================================================
--- trunk/app/plug-in/gimpplugin-message.c (original)
+++ trunk/app/plug-in/gimpplugin-message.c Mon Jul 14 14:09:16 2008
@@ -618,7 +618,8 @@
if ((proc_install->params[i].type == GIMP_PDB_INT32ARRAY ||
proc_install->params[i].type == GIMP_PDB_INT8ARRAY ||
proc_install->params[i].type == GIMP_PDB_FLOATARRAY ||
- proc_install->params[i].type == GIMP_PDB_STRINGARRAY)
+ proc_install->params[i].type == GIMP_PDB_STRINGARRAY ||
+ proc_install->params[i].type == GIMP_PDB_COLORARRAY)
&&
proc_install->params[i - 1].type != GIMP_PDB_INT32)
{
Modified: trunk/app/plug-in/plug-in-params.c
==============================================================================
--- trunk/app/plug-in/plug-in-params.c (original)
+++ trunk/app/plug-in/plug-in-params.c Mon Jul 14 14:09:16 2008
@@ -221,8 +221,16 @@
g_value_set_int (&value, params[i].data.d_selection);
break;
- case GIMP_PDB_BOUNDARY:
- g_message ("the \"boundary\" arg type is not currently supported");
+ case GIMP_PDB_COLORARRAY:
+ count = g_value_get_int (&args->values[i - 1]);
+ if (full_copy)
+ gimp_value_set_colorarray (&value,
+ params[i].data.d_colorarray,
+ count);
+ else
+ gimp_value_set_static_colorarray (&value,
+ params[i].data.d_colorarray,
+ count);
break;
case GIMP_PDB_VECTORS:
@@ -374,8 +382,11 @@
params[i].data.d_selection = g_value_get_int (value);
break;
- case GIMP_PDB_BOUNDARY:
- g_message ("the \"boundary\" arg type is not currently supported");
+ case GIMP_PDB_COLORARRAY:
+ if (full_copy)
+ params[i].data.d_colorarray = gimp_value_dup_colorarray (value);
+ else
+ params[i].data.d_colorarray = (GimpRGB *) gimp_value_get_colorarray (value);
break;
case GIMP_PDB_VECTORS:
Modified: trunk/libgimp/gimp.c
==============================================================================
--- trunk/libgimp/gimp.c (original)
+++ trunk/libgimp/gimp.c Mon Jul 14 14:09:16 2008
@@ -736,7 +736,6 @@
case GIMP_PDB_CHANNEL:
case GIMP_PDB_DRAWABLE:
case GIMP_PDB_SELECTION:
- case GIMP_PDB_BOUNDARY:
case GIMP_PDB_VECTORS:
case GIMP_PDB_STATUS:
(void) va_arg (args, gint);
@@ -769,6 +768,7 @@
(void) va_arg (args, gchar **);
break;
case GIMP_PDB_COLOR:
+ case GIMP_PDB_COLORARRAY:
(void) va_arg (args, GimpRGB *);
break;
case GIMP_PDB_PARASITE:
@@ -850,8 +850,8 @@
case GIMP_PDB_SELECTION:
params[i].data.d_selection = va_arg (args, gint32);
break;
- case GIMP_PDB_BOUNDARY:
- params[i].data.d_boundary = va_arg (args, gint32);
+ case GIMP_PDB_COLORARRAY:
+ params[i].data.d_colorarray = va_arg (args, GimpRGB *);
break;
case GIMP_PDB_VECTORS:
params[i].data.d_vectors = va_arg (args, gint32);
Modified: trunk/libgimp/gimp.h
==============================================================================
--- trunk/libgimp/gimp.h (original)
+++ trunk/libgimp/gimp.h Mon Jul 14 14:09:16 2008
@@ -128,6 +128,7 @@
guint8 *d_int8array;
gdouble *d_floatarray;
gchar **d_stringarray;
+ GimpRGB *d_colorarray;
GimpRGB d_color;
GimpParamRegion d_region;
gint32 d_display;
Modified: trunk/libgimpbase/gimpbaseenums.c
==============================================================================
--- trunk/libgimpbase/gimpbaseenums.c (original)
+++ trunk/libgimpbase/gimpbaseenums.c Mon Jul 14 14:09:16 2008
@@ -815,12 +815,11 @@
{ GIMP_PDB_CHANNEL, "GIMP_PDB_CHANNEL", "channel" },
{ GIMP_PDB_DRAWABLE, "GIMP_PDB_DRAWABLE", "drawable" },
{ GIMP_PDB_SELECTION, "GIMP_PDB_SELECTION", "selection" },
- { GIMP_PDB_BOUNDARY, "GIMP_PDB_BOUNDARY", "boundary" },
+ { GIMP_PDB_COLORARRAY, "GIMP_PDB_COLORARRAY", "colorarray" },
{ GIMP_PDB_VECTORS, "GIMP_PDB_VECTORS", "vectors" },
{ GIMP_PDB_PARASITE, "GIMP_PDB_PARASITE", "parasite" },
{ GIMP_PDB_STATUS, "GIMP_PDB_STATUS", "status" },
{ GIMP_PDB_END, "GIMP_PDB_END", "end" },
- { GIMP_PDB_PATH, "GIMP_PDB_PATH", "path" },
{ 0, NULL, NULL }
};
@@ -844,12 +843,11 @@
{ GIMP_PDB_CHANNEL, "GIMP_PDB_CHANNEL", NULL },
{ GIMP_PDB_DRAWABLE, "GIMP_PDB_DRAWABLE", NULL },
{ GIMP_PDB_SELECTION, "GIMP_PDB_SELECTION", NULL },
- { GIMP_PDB_BOUNDARY, "GIMP_PDB_BOUNDARY", NULL },
+ { GIMP_PDB_COLORARRAY, "GIMP_PDB_COLORARRAY", NULL },
{ GIMP_PDB_VECTORS, "GIMP_PDB_VECTORS", NULL },
{ GIMP_PDB_PARASITE, "GIMP_PDB_PARASITE", NULL },
{ GIMP_PDB_STATUS, "GIMP_PDB_STATUS", NULL },
{ GIMP_PDB_END, "GIMP_PDB_END", NULL },
- { GIMP_PDB_PATH, "GIMP_PDB_PATH", NULL },
{ 0, NULL, NULL }
};
Modified: trunk/libgimpbase/gimpbaseenums.h
==============================================================================
--- trunk/libgimpbase/gimpbaseenums.h (original)
+++ trunk/libgimpbase/gimpbaseenums.h Mon Jul 14 14:09:16 2008
@@ -373,13 +373,15 @@
GIMP_PDB_CHANNEL,
GIMP_PDB_DRAWABLE,
GIMP_PDB_SELECTION,
- GIMP_PDB_BOUNDARY,
+ GIMP_PDB_COLORARRAY,
GIMP_PDB_VECTORS,
GIMP_PDB_PARASITE,
GIMP_PDB_STATUS,
GIMP_PDB_END,
- GIMP_PDB_PATH = GIMP_PDB_VECTORS /* deprecated */
+ /* the following aliases are deprecated */
+ GIMP_PDB_PATH = GIMP_PDB_VECTORS, /*< skip >*/
+ GIMP_PDB_BOUNDARY = GIMP_PDB_COLORARRAY /*< skip >*/
} GimpPDBArgType;
Modified: trunk/libgimpbase/gimpprotocol.c
==============================================================================
--- trunk/libgimpbase/gimpprotocol.c (original)
+++ trunk/libgimpbase/gimpprotocol.c Mon Jul 14 14:09:16 2008
@@ -1481,11 +1481,17 @@
goto cleanup;
break;
- case GIMP_PDB_BOUNDARY:
- if (! _gimp_wire_read_int32 (channel,
- (guint32 *) &(*params)[i].data.d_boundary, 1,
- user_data))
- goto cleanup;
+ case GIMP_PDB_COLORARRAY:
+ (*params)[i].data.d_colorarray = g_new (GimpRGB,
+ (*params)[i-1].data.d_int32);
+ if (! _gimp_wire_read_color (channel,
+ (*params)[i].data.d_colorarray,
+ (*params)[i-1].data.d_int32,
+ user_data))
+ {
+ g_free ((*params)[i].data.d_colorarray);
+ goto cleanup;
+ }
break;
case GIMP_PDB_VECTORS:
@@ -1698,9 +1704,10 @@
return;
break;
- case GIMP_PDB_BOUNDARY:
- if (! _gimp_wire_write_int32 (channel,
- (const guint32 *) ¶ms[i].data.d_boundary, 1,
+ case GIMP_PDB_COLORARRAY:
+ if (! _gimp_wire_write_color (channel,
+ params[i].data.d_colorarray,
+ params[i-1].data.d_int32,
user_data))
return;
break;
@@ -1773,7 +1780,6 @@
case GIMP_PDB_CHANNEL:
case GIMP_PDB_DRAWABLE:
case GIMP_PDB_SELECTION:
- case GIMP_PDB_BOUNDARY:
case GIMP_PDB_VECTORS:
case GIMP_PDB_STATUS:
break;
@@ -1811,6 +1817,10 @@
}
break;
+ case GIMP_PDB_COLORARRAY:
+ g_free (params[i].data.d_colorarray);
+ break;
+
case GIMP_PDB_PARASITE:
if (params[i].data.d_parasite.name)
g_free (params[i].data.d_parasite.name);
Modified: trunk/libgimpbase/gimpprotocol.h
==============================================================================
--- trunk/libgimpbase/gimpprotocol.h (original)
+++ trunk/libgimpbase/gimpprotocol.h Mon Jul 14 14:09:16 2008
@@ -27,7 +27,7 @@
/* Increment every time the protocol changes
*/
-#define GIMP_PROTOCOL_VERSION 0x0012
+#define GIMP_PROTOCOL_VERSION 0x0013
enum
@@ -120,6 +120,7 @@
guint8 *d_int8array;
gdouble *d_floatarray;
gchar **d_stringarray;
+ GimpRGB *d_colorarray;
GimpRGB d_color;
struct
{
Modified: trunk/plug-ins/pygimp/pygimp-pdb.c
==============================================================================
--- trunk/plug-ins/pygimp/pygimp-pdb.c (original)
+++ trunk/plug-ins/pygimp/pygimp-pdb.c Mon Jul 14 14:09:16 2008
@@ -287,8 +287,26 @@
case GIMP_PDB_SELECTION:
value = pygimp_layer_new(params[i].data.d_selection);
break;
- case GIMP_PDB_BOUNDARY:
- value = PyInt_FromLong(params[i].data.d_boundary);
+ case GIMP_PDB_COLORARRAY:
+ if (params[i].data.d_colorarray == NULL) {
+ value = PyTuple_New(0);
+ break;
+ }
+ if ((tmp=PyTuple_GetItem(args, i-1)) == NULL) {
+ Py_DECREF(args);
+ return NULL;
+ }
+ if (!PyInt_Check(tmp)) {
+ PyErr_SetString(PyExc_TypeError,
+ "count type must be integer");
+ Py_DECREF(args);
+ return NULL;
+ }
+ n = PyInt_AsLong(tmp);
+ value = PyTuple_New(n);
+ for (j = 0; j < n; j++)
+ PyTuple_SetItem(value, j,
+ pygimp_rgb_new(¶ms[i].data.d_colorarray[j]));
break;
case GIMP_PDB_VECTORS:
value = pygimp_vectors_new(params[i].data.d_vectors);
@@ -524,9 +542,23 @@
check(!pygimp_layer_check(item));
ret[i].data.d_selection = ((PyGimpLayer *)item)->ID;
break;
- case GIMP_PDB_BOUNDARY:
- check(!PyInt_Check(item));
- ret[i].data.d_boundary = PyInt_AsLong(item);
+ case GIMP_PDB_COLORARRAY:
+ {
+ GimpRGB *rgb;
+
+ check(!PySequence_Check(item));
+ len = PySequence_Length(item);
+ rgb = g_new(GimpRGB, len);
+ for (j = 0; j < len; j++) {
+ if (!pygimp_rgb_from_pyobject(item, &rgb[j])) {
+ Py_DECREF(tuple);
+ g_free(rgb);
+ gimp_destroy_params(ret, nparams);
+ return NULL;
+ }
+ }
+ ret[i].data.d_colorarray = rgb;
+ }
break;
case GIMP_PDB_VECTORS:
check(!pygimp_vectors_check(item));
Modified: trunk/plug-ins/script-fu/scheme-wrapper.c
==============================================================================
--- trunk/plug-ins/script-fu/scheme-wrapper.c (original)
+++ trunk/plug-ins/script-fu/scheme-wrapper.c Mon Jul 14 14:09:16 2008
@@ -615,18 +615,18 @@
#define typeflag(p) ((p)->_flag)
#define type(p) (typeflag(p)&T_MASKTYPE)
-char *ret_types[] = {
+static const char *ret_types[] = {
"GIMP_PDB_INT32", "GIMP_PDB_INT16", "GIMP_PDB_INT8",
"GIMP_PDB_FLOAT", "GIMP_PDB_STRING", "GIMP_PDB_INT32ARRAY",
"GIMP_PDB_INT16ARRAY", "GIMP_PDB_INT8ARRAY", "GIMP_PDB_FLOATARRAY",
"GIMP_PDB_STRINGARRAY", "GIMP_PDB_COLOR", "GIMP_PDB_REGION",
"GIMP_PDB_DISPLAY", "GIMP_PDB_IMAGE", "GIMP_PDB_LAYER",
"GIMP_PDB_CHANNEL", "GIMP_PDB_DRAWABLE", "GIMP_PDB_SELECTION",
- "GIMP_PDB_BOUNDARY", "GIMP_PDB_VECTORS", "GIMP_PDB_PARASITE",
+ "GIMP_PDB_COLORARRY", "GIMP_PDB_VECTORS", "GIMP_PDB_PARASITE",
"GIMP_PDB_STATUS", "GIMP_PDB_END"
};
-char *ts_types[] = {
+static const char *ts_types[] = {
"T_NONE",
"T_STRING", "T_NUMBER", "T_SYMBOL", "T_PROC",
"T_PAIR", "T_CLOSURE", "T_CONTINUATION", "T_FOREIGN",
@@ -634,7 +634,7 @@
"T_PROMISE", "T_ENVIRONMENT","T_ARRAY"
};
-char *status_types[] = {
+static const char *status_types[] = {
"GIMP_PDB_EXECUTION_ERROR", "GIMP_PDB_CALLING_ERROR",
"GIMP_PDB_PASS_THROUGH", "GIMP_PDB_SUCCESS",
"GIMP_PDB_CANCEL"
@@ -739,7 +739,6 @@
case GIMP_PDB_CHANNEL:
case GIMP_PDB_DRAWABLE:
case GIMP_PDB_SELECTION:
- case GIMP_PDB_BOUNDARY:
case GIMP_PDB_VECTORS:
if (!sc->vptr->is_number (sc->vptr->pair_car (a)))
success = FALSE;
@@ -846,7 +845,7 @@
g_printerr (" ");
for (j = 0; j < count; ++j)
g_printerr (" %ld",
- sc->vptr->ivalue ( sc->vptr->vector_elem (vector, j) ));
+ sc->vptr->ivalue ( sc->vptr->vector_elem (vector, j) ));
g_printerr ("\n");
}
}
@@ -897,7 +896,7 @@
g_printerr (" ");
for (j = 0; j < count; ++j)
g_printerr (" %ld",
- sc->vptr->ivalue ( sc->vptr->vector_elem (vector, j) ));
+ sc->vptr->ivalue ( sc->vptr->vector_elem (vector, j) ));
g_printerr ("\n");
}
}
@@ -950,7 +949,7 @@
g_printerr (" ");
for (j = 0; j < count; ++j)
g_printerr (" %ld",
- sc->vptr->ivalue ( sc->vptr->vector_elem (vector, j) ));
+ sc->vptr->ivalue ( sc->vptr->vector_elem (vector, j) ));
g_printerr ("\n");
}
}
@@ -1003,7 +1002,7 @@
g_printerr (" ");
for (j = 0; j < count; ++j)
g_printerr (" %f",
- sc->vptr->rvalue ( sc->vptr->vector_elem (vector, j) ));
+ sc->vptr->rvalue ( sc->vptr->vector_elem (vector, j) ));
g_printerr ("\n");
}
}
@@ -1104,6 +1103,66 @@
}
break;
+ case GIMP_PDB_COLORARRAY:
+ vector = sc->vptr->pair_car (a);
+ if (!sc->vptr->is_vector (vector))
+ success = FALSE;
+ if (success)
+ {
+ n_elements = args[i-1].data.d_int32;
+ if (n_elements < 0 ||
+ n_elements > sc->vptr->vector_length (vector))
+ {
+ g_snprintf (error_str, sizeof (error_str),
+ "COLOR vector (argument %d) for function %s has "
+ "size of %ld but expected size of %d",
+ i+1, proc_name,
+ sc->vptr->vector_length (vector), n_elements);
+ return foreign_error (sc, error_str, 0);
+ }
+
+ args[i].data.d_colorarray = g_new (GimpRGB, n_elements);
+
+ for (j = 0; j < n_elements; j++)
+ {
+ pointer v_element = sc->vptr->vector_elem (vector, j);
+ pointer color_list;
+ guchar r, g, b;
+
+ if (! (sc->vptr->is_list (sc,
+ sc->vptr->pair_car (v_element)) &&
+ sc->vptr->list_length (sc,
+ sc->vptr->pair_car (v_element)) == 3))
+ {
+ g_snprintf (error_str, sizeof (error_str),
+ "Item %d in vector is not a color "
+ "(argument %d for function %s)",
+ j+1, i+1, proc_name);
+ return foreign_error (sc, error_str, vector);
+ }
+
+ color_list = sc->vptr->pair_car (v_element);
+ r = CLAMP (sc->vptr->ivalue (sc->vptr->pair_car (color_list)),
+ 0, 255);
+ color_list = sc->vptr->pair_cdr (color_list);
+ g = CLAMP (sc->vptr->ivalue (sc->vptr->pair_car (color_list)),
+ 0, 255);
+ color_list = sc->vptr->pair_cdr (color_list);
+ b = CLAMP (sc->vptr->ivalue (sc->vptr->pair_car (color_list)),
+ 0, 255);
+
+ gimp_rgba_set_uchar (&args[i].data.d_colorarray[j],
+ r, g, b, 255);
+ }
+#if DEBUG_MARSHALL
+{
+glong count = sc->vptr->vector_length (vector);
+g_printerr (" color vector has %ld elements\n", count);
+}
+#endif
+ }
+ break;
+
case GIMP_PDB_REGION:
if (! (sc->vptr->is_list (sc, sc->vptr->pair_car (a)) &&
sc->vptr->list_length (sc, sc->vptr->pair_car (a)) == 4))
@@ -1282,7 +1341,6 @@
case GIMP_PDB_CHANNEL:
case GIMP_PDB_DRAWABLE:
case GIMP_PDB_SELECTION:
- case GIMP_PDB_BOUNDARY:
case GIMP_PDB_VECTORS:
return_val = sc->vptr->cons (sc,
sc->vptr->mk_integer (sc,
@@ -1457,6 +1515,38 @@
break;
}
+ case GIMP_PDB_COLORARRAY:
+ /* color arrays are always implemented such that the previous
+ * return value contains the number of strings in the array
+ */
+ {
+ gint32 num_colors = values[i].data.d_int32;
+ GimpRGB *array = (GimpRGB *) values[i + 1].data.d_colorarray;
+ pointer vector = sc->vptr->mk_vector (sc, num_colors);
+
+ return_val = sc->vptr->cons (sc, vector, return_val);
+ set_safe_foreign (sc, return_val);
+
+ for (j = 0; j < num_colors; j++)
+ {
+ guchar r, g, b;
+
+ gimp_rgb_get_uchar (&array[j], &r, &g, &b);
+
+ intermediate_val = sc->vptr->cons (sc,
+ sc->vptr->mk_integer (sc, r),
+ sc->vptr->cons (sc,
+ sc->vptr->mk_integer (sc, g),
+ sc->vptr->cons (sc,
+ sc->vptr->mk_integer (sc, b),
+ sc->NIL)));
+ return_val = sc->vptr->cons (sc,
+ intermediate_val,
+ return_val);
+ set_safe_foreign (sc, return_val);
+ }
+ }
+ break;
case GIMP_PDB_REGION:
{
gint32 x, y, w, h;
@@ -1612,6 +1702,10 @@
g_free (params[i].data.d_stringarray);
break;
+ case GIMP_PDB_COLORARRAY:
+ g_free (params[i].data.d_colorarray);
+ break;
+
case GIMP_PDB_COLOR:
case GIMP_PDB_REGION:
case GIMP_PDB_DISPLAY:
@@ -1620,7 +1714,6 @@
case GIMP_PDB_CHANNEL:
case GIMP_PDB_DRAWABLE:
case GIMP_PDB_SELECTION:
- case GIMP_PDB_BOUNDARY:
case GIMP_PDB_VECTORS:
case GIMP_PDB_PARASITE:
case GIMP_PDB_STATUS:
Modified: trunk/tools/pdbgen/enums.pl
==============================================================================
--- trunk/tools/pdbgen/enums.pl (original)
+++ trunk/tools/pdbgen/enums.pl Mon Jul 14 14:09:16 2008
@@ -265,9 +265,9 @@
GIMP_PDB_COLOR GIMP_PDB_REGION GIMP_PDB_DISPLAY
GIMP_PDB_IMAGE GIMP_PDB_LAYER GIMP_PDB_CHANNEL
GIMP_PDB_DRAWABLE GIMP_PDB_SELECTION
- GIMP_PDB_BOUNDARY GIMP_PDB_VECTORS
+ GIMP_PDB_COLORARRAY GIMP_PDB_VECTORS
GIMP_PDB_PARASITE GIMP_PDB_STATUS GIMP_PDB_END
- GIMP_PDB_PATH) ],
+ GIMP_PDB_PATH GIMP_PDB_BOUNDARY) ],
mapping => { GIMP_PDB_INT32 => '0',
GIMP_PDB_INT16 => '1',
GIMP_PDB_INT8 => '2',
@@ -286,12 +286,13 @@
GIMP_PDB_CHANNEL => '15',
GIMP_PDB_DRAWABLE => '16',
GIMP_PDB_SELECTION => '17',
- GIMP_PDB_BOUNDARY => '18',
+ GIMP_PDB_COLORARRAY => '18',
GIMP_PDB_VECTORS => '19',
GIMP_PDB_PARASITE => '20',
GIMP_PDB_STATUS => '21',
GIMP_PDB_END => '22',
- GIMP_PDB_PATH => 'GIMP_PDB_VECTORS' }
+ GIMP_PDB_PATH => 'GIMP_PDB_VECTORS',
+ GIMP_PDB_BOUNDARY => 'GIMP_PDB_COLORARRAY' }
},
GimpPDBProcType =>
{ contig => 1,
Modified: trunk/tools/pdbgen/pdb.pl
==============================================================================
--- trunk/tools/pdbgen/pdb.pl (original)
+++ trunk/tools/pdbgen/pdb.pl Mon Jul 14 14:09:16 2008
@@ -85,6 +85,13 @@
init_value => 'NULL',
get_value_func => '$var = gimp_value_get_stringarray ($value)',
set_value_func => 'gimp_value_take_stringarray ($value, $var, $var_len)' },
+ colorarray => { name => 'COLORARRAY',
+ type => 'GimpRGB *',
+ const_type => 'const GimpRGB *',
+ array => 1,
+ init_value => 'NULL',
+ get_value_func => '$var = gimp_value_get_colorarray ($value)',
+ set_value_func => 'gimp_value_take_colorarray ($value, $var, $var_len)' },
color => { name => 'COLOR' ,
type => 'GimpRGB ',
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]