gimp r26353 - in branches/soc-2008-tagging: . app/actions app/base app/core app/dialogs app/gui app/menus app/paint app/pdb app/text app/tools app/vectors app/widgets data/images devel-docs devel-docs/libgimp devel-docs/libgimp/tmpl devel-docs/tools libgimp libgimpwidgets plug-ins/common plug-ins/help plug-ins/help-browser plug-ins/psd plug-ins/uri po po-libgimp po-plug-ins po-python po-script-fu po-tips tools/pdbgen/pdb
- From: aurisj svn gnome org
- To: svn-commits-list gnome org
- Subject: gimp r26353 - in branches/soc-2008-tagging: . app/actions app/base app/core app/dialogs app/gui app/menus app/paint app/pdb app/text app/tools app/vectors app/widgets data/images devel-docs devel-docs/libgimp devel-docs/libgimp/tmpl devel-docs/tools libgimp libgimpwidgets plug-ins/common plug-ins/help plug-ins/help-browser plug-ins/psd plug-ins/uri po po-libgimp po-plug-ins po-python po-script-fu po-tips tools/pdbgen/pdb
- Date: Sat, 2 Aug 2008 19:50:36 +0000 (UTC)
Author: aurisj
Date: Sat Aug 2 19:50:36 2008
New Revision: 26353
URL: http://svn.gnome.org/viewvc/gimp?rev=26353&view=rev
Log:
Merged from trunk revisions 26246:26352.
Added:
branches/soc-2008-tagging/plug-ins/psd/psd-save.c
- copied unchanged from r26352, /trunk/plug-ins/psd/psd-save.c
branches/soc-2008-tagging/po-plug-ins/be.po
- copied unchanged from r26352, /trunk/po-plug-ins/be.po
branches/soc-2008-tagging/po-python/be.po
- copied unchanged from r26352, /trunk/po-python/be.po
branches/soc-2008-tagging/po-script-fu/be.po
- copied unchanged from r26352, /trunk/po-script-fu/be.po
branches/soc-2008-tagging/po-tips/be.po
- copied unchanged from r26352, /trunk/po-tips/be.po
Removed:
branches/soc-2008-tagging/plug-ins/common/psd-save.c
Modified:
branches/soc-2008-tagging/ChangeLog
branches/soc-2008-tagging/app/actions/file-commands.c
branches/soc-2008-tagging/app/actions/windows-actions.c
branches/soc-2008-tagging/app/base/gimphistogram.c
branches/soc-2008-tagging/app/base/gimphistogram.h
branches/soc-2008-tagging/app/core/gimpchannel.c
branches/soc-2008-tagging/app/core/gimpcoords.c
branches/soc-2008-tagging/app/core/gimpguideundo.c
branches/soc-2008-tagging/app/core/gimpimage-scale.c
branches/soc-2008-tagging/app/core/gimpitemundo.c
branches/soc-2008-tagging/app/core/gimplayermaskundo.c
branches/soc-2008-tagging/app/core/gimppdbprogress.c
branches/soc-2008-tagging/app/core/gimpstrokedesc.c
branches/soc-2008-tagging/app/core/gimpstrokedesc.h
branches/soc-2008-tagging/app/core/gimptooloptions.c
branches/soc-2008-tagging/app/core/gimptoolpresets.c
branches/soc-2008-tagging/app/dialogs/file-open-dialog.c
branches/soc-2008-tagging/app/dialogs/stroke-dialog.c
branches/soc-2008-tagging/app/gui/session.c
branches/soc-2008-tagging/app/gui/splash.c
branches/soc-2008-tagging/app/menus/file-menu.c
branches/soc-2008-tagging/app/paint/gimppaintcore-stroke.c
branches/soc-2008-tagging/app/paint/gimppaintcore-stroke.h
branches/soc-2008-tagging/app/paint/gimppaintoptions.c
branches/soc-2008-tagging/app/pdb/edit-cmds.c
branches/soc-2008-tagging/app/pdb/internal-procs.c
branches/soc-2008-tagging/app/pdb/vectors-cmds.c
branches/soc-2008-tagging/app/text/gimpfont.c
branches/soc-2008-tagging/app/text/gimptext-compat.c
branches/soc-2008-tagging/app/text/gimptextlayout-render.c
branches/soc-2008-tagging/app/tools/gimpcolortool.c
branches/soc-2008-tagging/app/tools/gimpdrawtool.c
branches/soc-2008-tagging/app/tools/gimprectangletool.c
branches/soc-2008-tagging/app/tools/gimptool.c
branches/soc-2008-tagging/app/tools/gimpvectortool.c
branches/soc-2008-tagging/app/vectors/gimpbezierstroke.c
branches/soc-2008-tagging/app/vectors/gimpvectors.c
branches/soc-2008-tagging/app/widgets/gimpaction.c
branches/soc-2008-tagging/app/widgets/gimpcellrendererviewable.c
branches/soc-2008-tagging/app/widgets/gimpcontrollereditor.c
branches/soc-2008-tagging/app/widgets/gimpcontrollerinfo.c
branches/soc-2008-tagging/app/widgets/gimpcontrollerlist.c
branches/soc-2008-tagging/app/widgets/gimpdasheditor.c
branches/soc-2008-tagging/app/widgets/gimpdock.c
branches/soc-2008-tagging/app/widgets/gimpeditor.c
branches/soc-2008-tagging/app/widgets/gimpgrideditor.c
branches/soc-2008-tagging/app/widgets/gimphistogrameditor.c
branches/soc-2008-tagging/app/widgets/gimphistogramview.c
branches/soc-2008-tagging/app/widgets/gimppdbdialog.c
branches/soc-2008-tagging/app/widgets/gimppluginaction.c
branches/soc-2008-tagging/app/widgets/gimpsessioninfo-aux.c
branches/soc-2008-tagging/app/widgets/gimpsessioninfo.c
branches/soc-2008-tagging/app/widgets/gimpstrokeeditor.c
branches/soc-2008-tagging/app/widgets/gimptemplateeditor.c
branches/soc-2008-tagging/app/widgets/gimpviewrendererimagefile.c
branches/soc-2008-tagging/app/widgets/gtkscalebutton.c
branches/soc-2008-tagging/configure.in
branches/soc-2008-tagging/data/images/gimp-splash.png
branches/soc-2008-tagging/devel-docs/ChangeLog
branches/soc-2008-tagging/devel-docs/libgimp/libgimp-sections.txt
branches/soc-2008-tagging/devel-docs/libgimp/tmpl/gimpvectors.sgml
branches/soc-2008-tagging/devel-docs/tools/widgets.c
branches/soc-2008-tagging/libgimp/gimp.def
branches/soc-2008-tagging/libgimp/gimpvectors_pdb.c
branches/soc-2008-tagging/libgimp/gimpvectors_pdb.h
branches/soc-2008-tagging/libgimpwidgets/gimpcolorprofilecombobox.c
branches/soc-2008-tagging/plug-ins/common/ (props changed)
branches/soc-2008-tagging/plug-ins/common/Makefile.am
branches/soc-2008-tagging/plug-ins/common/alien-map.c
branches/soc-2008-tagging/plug-ins/common/blinds.c
branches/soc-2008-tagging/plug-ins/common/channel-mixer.c
branches/soc-2008-tagging/plug-ins/common/color-exchange.c
branches/soc-2008-tagging/plug-ins/common/color-to-alpha.c
branches/soc-2008-tagging/plug-ins/common/contrast-retinex.c
branches/soc-2008-tagging/plug-ins/common/convolution-matrix.c
branches/soc-2008-tagging/plug-ins/common/cubism.c
branches/soc-2008-tagging/plug-ins/common/deinterlace.c
branches/soc-2008-tagging/plug-ins/common/destripe.c
branches/soc-2008-tagging/plug-ins/common/edge-dog.c
branches/soc-2008-tagging/plug-ins/common/edge.c
branches/soc-2008-tagging/plug-ins/common/emboss.c
branches/soc-2008-tagging/plug-ins/common/engrave.c
branches/soc-2008-tagging/plug-ins/common/filter-pack.c
branches/soc-2008-tagging/plug-ins/common/gif-save.c
branches/soc-2008-tagging/plug-ins/common/illusion.c
branches/soc-2008-tagging/plug-ins/common/jigsaw.c
branches/soc-2008-tagging/plug-ins/common/lens-apply.c
branches/soc-2008-tagging/plug-ins/common/lens-distortion.c
branches/soc-2008-tagging/plug-ins/common/max-rgb.c
branches/soc-2008-tagging/plug-ins/common/newsprint.c
branches/soc-2008-tagging/plug-ins/common/nl-filter.c
branches/soc-2008-tagging/plug-ins/common/noise-hsv.c
branches/soc-2008-tagging/plug-ins/common/noise-solid.c
branches/soc-2008-tagging/plug-ins/common/pixelize.c
branches/soc-2008-tagging/plug-ins/common/plasma.c
branches/soc-2008-tagging/plug-ins/common/plugin-defs.pl
branches/soc-2008-tagging/plug-ins/common/polar-coords.c
branches/soc-2008-tagging/plug-ins/common/ripple.c
branches/soc-2008-tagging/plug-ins/common/shift.c
branches/soc-2008-tagging/plug-ins/common/sparkle.c
branches/soc-2008-tagging/plug-ins/common/tile-glass.c
branches/soc-2008-tagging/plug-ins/common/value-propagate.c
branches/soc-2008-tagging/plug-ins/common/waves.c
branches/soc-2008-tagging/plug-ins/common/whirl-pinch.c
branches/soc-2008-tagging/plug-ins/common/wind.c
branches/soc-2008-tagging/plug-ins/help-browser/dialog.c
branches/soc-2008-tagging/plug-ins/help/gimphelplocale.c
branches/soc-2008-tagging/plug-ins/psd/ (props changed)
branches/soc-2008-tagging/plug-ins/psd/Makefile.am
branches/soc-2008-tagging/plug-ins/uri/Makefile.am
branches/soc-2008-tagging/plug-ins/uri/uri-backend-gvfs.c
branches/soc-2008-tagging/plug-ins/uri/uri-backend-libcurl.c
branches/soc-2008-tagging/po-libgimp/ChangeLog
branches/soc-2008-tagging/po-libgimp/ar.po
branches/soc-2008-tagging/po-libgimp/be.po
branches/soc-2008-tagging/po-libgimp/ca.po
branches/soc-2008-tagging/po-libgimp/gl.po
branches/soc-2008-tagging/po-libgimp/it.po
branches/soc-2008-tagging/po-plug-ins/ChangeLog
branches/soc-2008-tagging/po-plug-ins/POTFILES.in
branches/soc-2008-tagging/po-plug-ins/ar.po
branches/soc-2008-tagging/po-plug-ins/ca.po
branches/soc-2008-tagging/po-plug-ins/gl.po
branches/soc-2008-tagging/po-plug-ins/it.po
branches/soc-2008-tagging/po-python/ChangeLog
branches/soc-2008-tagging/po-python/gl.po
branches/soc-2008-tagging/po-python/it.po
branches/soc-2008-tagging/po-script-fu/ChangeLog
branches/soc-2008-tagging/po-script-fu/ar.po
branches/soc-2008-tagging/po-script-fu/gl.po
branches/soc-2008-tagging/po-tips/ChangeLog
branches/soc-2008-tagging/po-tips/ar.po
branches/soc-2008-tagging/po-tips/gl.po
branches/soc-2008-tagging/po/ChangeLog
branches/soc-2008-tagging/po/ar.po
branches/soc-2008-tagging/po/be.po
branches/soc-2008-tagging/po/ca.po
branches/soc-2008-tagging/po/de.po
branches/soc-2008-tagging/po/es.po
branches/soc-2008-tagging/po/gl.po
branches/soc-2008-tagging/po/it.po
branches/soc-2008-tagging/tools/pdbgen/pdb/edit.pdb
branches/soc-2008-tagging/tools/pdbgen/pdb/vectors.pdb
Modified: branches/soc-2008-tagging/app/actions/file-commands.c
==============================================================================
--- branches/soc-2008-tagging/app/actions/file-commands.c (original)
+++ branches/soc-2008-tagging/app/actions/file-commands.c Sat Aug 2 19:50:36 2008
@@ -65,6 +65,7 @@
/* local function prototypes */
static void file_open_dialog_show (GtkWidget *parent,
+ Gimp *gimp,
GimpImage *image,
const gchar *uri,
gboolean open_as_layers);
@@ -90,9 +91,11 @@
file_open_cmd_callback (GtkAction *action,
gpointer data)
{
+ Gimp *gimp;
GimpImage *image;
GtkWidget *widget;
const gchar *uri = NULL;
+ return_if_no_gimp (gimp, data);
return_if_no_widget (widget, data);
image = action_data_get_image (data);
@@ -100,24 +103,26 @@
if (image)
uri = gimp_object_get_name (GIMP_OBJECT (image));
- file_open_dialog_show (widget, NULL, uri, FALSE);
+ file_open_dialog_show (widget, gimp, NULL, uri, FALSE);
}
void
file_open_as_layers_cmd_callback (GtkAction *action,
gpointer data)
{
+ Gimp *gimp;
GimpDisplay *display;
GtkWidget *widget;
GimpImage *image;
const gchar *uri;
+ return_if_no_gimp (gimp, data);
return_if_no_display (display, data);
return_if_no_widget (widget, data);
image = display->image;
uri = gimp_object_get_name (GIMP_OBJECT (image));
- file_open_dialog_show (widget, image, uri, TRUE);
+ file_open_dialog_show (widget, gimp, image, uri, TRUE);
}
void
@@ -436,7 +441,7 @@
const gchar *uri,
GtkWidget *parent)
{
- file_open_dialog_show (parent, NULL, uri, FALSE);
+ file_open_dialog_show (parent, gimp, NULL, uri, FALSE);
}
@@ -444,6 +449,7 @@
static void
file_open_dialog_show (GtkWidget *parent,
+ Gimp *gimp,
GimpImage *image,
const gchar *uri,
gboolean open_as_layers)
@@ -456,6 +462,9 @@
if (dialog)
{
+ if (! uri)
+ uri = g_object_get_data (G_OBJECT (gimp), "gimp-file-open-last-uri");
+
if (uri)
gtk_file_chooser_set_uri (GTK_FILE_CHOOSER (dialog), uri);
Modified: branches/soc-2008-tagging/app/actions/windows-actions.c
==============================================================================
--- branches/soc-2008-tagging/app/actions/windows-actions.c (original)
+++ branches/soc-2008-tagging/app/actions/windows-actions.c Sat Aug 2 19:50:36 2008
@@ -321,9 +321,11 @@
GimpActionGroup *group)
{
GtkAction *action;
- gchar *action_name = g_strdup_printf ("windows-dock-%04d", dock->ID);
+ gchar *action_name;
+ action_name = g_strdup_printf ("windows-dock-%04d", dock->ID);
action = gtk_action_group_get_action (GTK_ACTION_GROUP (group), action_name);
+ g_free (action_name);
if (action)
g_object_set (action,
Modified: branches/soc-2008-tagging/app/base/gimphistogram.c
==============================================================================
--- branches/soc-2008-tagging/app/base/gimphistogram.c (original)
+++ branches/soc-2008-tagging/app/base/gimphistogram.c Sat Aug 2 19:50:36 2008
@@ -102,6 +102,39 @@
}
}
+/**
+ * gimp_histogram_duplicate:
+ * @histogram: a %GimpHistogram
+ *
+ * Creates a duplicate of @histogram. The duplicate has a reference
+ * count of 1 and contains the values from @histogram.
+ *
+ * Return value: a newly allocated %GimpHistogram
+ **/
+GimpHistogram *
+gimp_histogram_duplicate (GimpHistogram *histogram)
+{
+ GimpHistogram *dup;
+
+ g_return_val_if_fail (histogram != NULL, NULL);
+
+ dup = gimp_histogram_new ();
+
+#ifdef ENABLE_MP
+ g_static_mutex_lock (&histogram->mutex);
+#endif
+
+ dup->n_channels = histogram->n_channels;
+ dup->values[0] = g_memdup (histogram->values[0],
+ sizeof (gdouble) * dup->n_channels * 256);
+
+#ifdef ENABLE_MP
+ g_static_mutex_unlock (&histogram->mutex);
+#endif
+
+ return dup;
+}
+
void
gimp_histogram_calculate (GimpHistogram *histogram,
PixelRegion *region,
Modified: branches/soc-2008-tagging/app/base/gimphistogram.h
==============================================================================
--- branches/soc-2008-tagging/app/base/gimphistogram.h (original)
+++ branches/soc-2008-tagging/app/base/gimphistogram.h Sat Aug 2 19:50:36 2008
@@ -23,9 +23,12 @@
GimpHistogram * gimp_histogram_new (void);
+
GimpHistogram * gimp_histogram_ref (GimpHistogram *histogram);
void gimp_histogram_unref (GimpHistogram *histogram);
+GimpHistogram * gimp_histogram_duplicate (GimpHistogram *histogram);
+
void gimp_histogram_calculate (GimpHistogram *histogram,
PixelRegion *region,
PixelRegion *mask);
Modified: branches/soc-2008-tagging/app/core/gimpchannel.c
==============================================================================
--- branches/soc-2008-tagging/app/core/gimpchannel.c (original)
+++ branches/soc-2008-tagging/app/core/gimpchannel.c Sat Aug 2 19:50:36 2008
@@ -712,6 +712,7 @@
retval = gimp_paint_core_stroke_boundary (core, drawable,
stroke_desc->paint_options,
+ stroke_desc->emulate_dynamics,
segs_in, n_segs_in,
offset_x, offset_y,
error);
Modified: branches/soc-2008-tagging/app/core/gimpcoords.c
==============================================================================
--- branches/soc-2008-tagging/app/core/gimpcoords.c (original)
+++ branches/soc-2008-tagging/app/core/gimpcoords.c Sat Aug 2 19:50:36 2008
@@ -120,7 +120,8 @@
a->pressure * b->pressure +
a->xtilt * b->xtilt +
a->ytilt * b->ytilt +
- a->wheel * b->wheel);
+ a->wheel * b->wheel +
+ a->velocity * a->velocity);
}
@@ -141,6 +142,7 @@
upscaled_a.xtilt = a->xtilt * INPUT_RESOLUTION;
upscaled_a.ytilt = a->ytilt * INPUT_RESOLUTION;
upscaled_a.wheel = a->wheel * INPUT_RESOLUTION;
+ upscaled_a.velocity = a->velocity * INPUT_RESOLUTION;
return gimp_coords_scalarprod (&upscaled_a, &upscaled_a);
}
@@ -167,6 +169,7 @@
dist += ABS (a->xtilt - b->xtilt);
dist += ABS (a->ytilt - b->ytilt);
dist += ABS (a->wheel - b->wheel);
+ dist += ABS (a->velocity - b->velocity);
dist *= INPUT_RESOLUTION;
@@ -185,5 +188,6 @@
a->pressure == b->pressure &&
a->xtilt == b->xtilt &&
a->ytilt == b->ytilt &&
- a->wheel == b->wheel);
+ a->wheel == b->wheel &&
+ a->velocity == b->velocity);
}
Modified: branches/soc-2008-tagging/app/core/gimpguideundo.c
==============================================================================
--- branches/soc-2008-tagging/app/core/gimpguideundo.c (original)
+++ branches/soc-2008-tagging/app/core/gimpguideundo.c Sat Aug 2 19:50:36 2008
@@ -115,7 +115,7 @@
switch (property_id)
{
case PROP_GUIDE:
- guide_undo->guide = (GimpGuide *) g_value_dup_object (value);
+ guide_undo->guide = g_value_dup_object (value);
break;
default:
Modified: branches/soc-2008-tagging/app/core/gimpimage-scale.c
==============================================================================
--- branches/soc-2008-tagging/app/core/gimpimage-scale.c (original)
+++ branches/soc-2008-tagging/app/core/gimpimage-scale.c Sat Aug 2 19:50:36 2008
@@ -192,7 +192,9 @@
}
/* Scale all sample points */
- for (list = gimp_image_get_sample_points (image); list; list = g_list_next (list))
+ for (list = gimp_image_get_sample_points (image);
+ list;
+ list = g_list_next (list))
{
GimpSamplePoint *sample_point = list->data;
Modified: branches/soc-2008-tagging/app/core/gimpitemundo.c
==============================================================================
--- branches/soc-2008-tagging/app/core/gimpitemundo.c (original)
+++ branches/soc-2008-tagging/app/core/gimpitemundo.c Sat Aug 2 19:50:36 2008
@@ -107,8 +107,9 @@
switch (property_id)
{
case PROP_ITEM:
- item_undo->item = (GimpItem *) g_value_dup_object (value);
+ item_undo->item = g_value_dup_object (value);
break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@@ -128,6 +129,7 @@
case PROP_ITEM:
g_value_set_object (value, item_undo->item);
break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
Modified: branches/soc-2008-tagging/app/core/gimplayermaskundo.c
==============================================================================
--- branches/soc-2008-tagging/app/core/gimplayermaskundo.c (original)
+++ branches/soc-2008-tagging/app/core/gimplayermaskundo.c Sat Aug 2 19:50:36 2008
@@ -119,7 +119,7 @@
switch (property_id)
{
case PROP_LAYER_MASK:
- layer_mask_undo->layer_mask = (GimpLayerMask *) g_value_dup_object (value);
+ layer_mask_undo->layer_mask = g_value_dup_object (value);
break;
default:
Modified: branches/soc-2008-tagging/app/core/gimppdbprogress.c
==============================================================================
--- branches/soc-2008-tagging/app/core/gimppdbprogress.c (original)
+++ branches/soc-2008-tagging/app/core/gimppdbprogress.c Sat Aug 2 19:50:36 2008
@@ -237,13 +237,13 @@
case PROP_PDB:
if (progress->pdb)
g_object_unref (progress->pdb);
- progress->pdb = GIMP_PDB (g_value_dup_object (value));
+ progress->pdb = g_value_dup_object (value);
break;
case PROP_CONTEXT:
if (progress->context)
g_object_unref (progress->context);
- progress->context = GIMP_CONTEXT (g_value_dup_object (value));
+ progress->context = g_value_dup_object (value);
break;
case PROP_CALLBACK_NAME:
Modified: branches/soc-2008-tagging/app/core/gimpstrokedesc.c
==============================================================================
--- branches/soc-2008-tagging/app/core/gimpstrokedesc.c (original)
+++ branches/soc-2008-tagging/app/core/gimpstrokedesc.c Sat Aug 2 19:50:36 2008
@@ -47,6 +47,7 @@
PROP_METHOD,
PROP_STROKE_OPTIONS,
PROP_PAINT_INFO,
+ PROP_EMULATE_DYNAMICS,
PROP_PAINT_OPTIONS
};
@@ -109,6 +110,10 @@
"paint-info", NULL,
GIMP_TYPE_PAINT_INFO,
GIMP_PARAM_STATIC_STRINGS);
+ GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_EMULATE_DYNAMICS,
+ "emulate-brush-dynamics", NULL,
+ FALSE,
+ GIMP_PARAM_STATIC_STRINGS);
GIMP_CONFIG_INSTALL_PROP_OBJECT (object_class, PROP_PAINT_OPTIONS,
"paint-options", NULL,
GIMP_TYPE_PAINT_OPTIONS,
@@ -189,23 +194,31 @@
case PROP_GIMP:
desc->gimp = g_value_get_object (value);
break;
+
case PROP_METHOD:
desc->method = g_value_get_enum (value);
break;
+
case PROP_STROKE_OPTIONS:
if (g_value_get_object (value))
gimp_config_sync (g_value_get_object (value),
G_OBJECT (desc->stroke_options), 0);
break;
+
case PROP_PAINT_INFO:
if (desc->paint_info)
g_object_unref (desc->paint_info);
- desc->paint_info = (GimpPaintInfo *) g_value_dup_object (value);
+ desc->paint_info = g_value_dup_object (value);
break;
+
+ case PROP_EMULATE_DYNAMICS:
+ desc->emulate_dynamics = g_value_get_boolean (value);
+ break;
+
case PROP_PAINT_OPTIONS:
if (desc->paint_options)
g_object_unref (desc->paint_options);
- desc->paint_options = (GimpPaintOptions *) g_value_dup_object (value);
+ desc->paint_options = g_value_dup_object (value);
break;
default:
@@ -227,15 +240,23 @@
case PROP_GIMP:
g_value_set_object (value, desc->gimp);
break;
+
case PROP_METHOD:
g_value_set_enum (value, desc->method);
break;
+
case PROP_STROKE_OPTIONS:
g_value_set_object (value, desc->stroke_options);
break;
+
case PROP_PAINT_INFO:
g_value_set_object (value, desc->paint_info);
break;
+
+ case PROP_EMULATE_DYNAMICS:
+ g_value_set_boolean (value, desc->emulate_dynamics);
+ break;
+
case PROP_PAINT_OPTIONS:
g_value_set_object (value, desc->paint_options);
break;
Modified: branches/soc-2008-tagging/app/core/gimpstrokedesc.h
==============================================================================
--- branches/soc-2008-tagging/app/core/gimpstrokedesc.h (original)
+++ branches/soc-2008-tagging/app/core/gimpstrokedesc.h Sat Aug 2 19:50:36 2008
@@ -46,13 +46,14 @@
GimpStrokeOptions *stroke_options;
GimpPaintInfo *paint_info;
+ gboolean emulate_dynamics;
GimpPaintOptions *paint_options;
};
struct _GimpStrokeDescClass
{
- GimpObjectClass parent_class;
+ GimpObjectClass parent_class;
};
Modified: branches/soc-2008-tagging/app/core/gimptooloptions.c
==============================================================================
--- branches/soc-2008-tagging/app/core/gimptooloptions.c (original)
+++ branches/soc-2008-tagging/app/core/gimptooloptions.c Sat Aug 2 19:50:36 2008
@@ -106,7 +106,7 @@
options->tool_info == tool_info);
if (! options->tool_info)
- options->tool_info = GIMP_TOOL_INFO (g_value_dup_object (value));
+ options->tool_info = g_value_dup_object (value);
}
break;
Modified: branches/soc-2008-tagging/app/core/gimptoolpresets.c
==============================================================================
--- branches/soc-2008-tagging/app/core/gimptoolpresets.c (original)
+++ branches/soc-2008-tagging/app/core/gimptoolpresets.c Sat Aug 2 19:50:36 2008
@@ -139,7 +139,7 @@
switch (property_id)
{
case PROP_TOOL_INFO:
- presets->tool_info = GIMP_TOOL_INFO (g_value_dup_object (value));
+ presets->tool_info = g_value_dup_object (value);
break;
default:
Modified: branches/soc-2008-tagging/app/dialogs/file-open-dialog.c
==============================================================================
--- branches/soc-2008-tagging/app/dialogs/file-open-dialog.c (original)
+++ branches/soc-2008-tagging/app/dialogs/file-open-dialog.c Sat Aug 2 19:50:36 2008
@@ -118,6 +118,10 @@
uris = gtk_file_chooser_get_uris (GTK_FILE_CHOOSER (open_dialog));
+ if (uris)
+ g_object_set_data_full (G_OBJECT (gimp), "gimp-file-open-last-uri",
+ g_strdup (uris->data), (GDestroyNotify) g_free);
+
gimp_file_dialog_set_sensitive (dialog, FALSE);
for (list = uris; list; list = g_slist_next (list))
Modified: branches/soc-2008-tagging/app/dialogs/stroke-dialog.c
==============================================================================
--- branches/soc-2008-tagging/app/dialogs/stroke-dialog.c (original)
+++ branches/soc-2008-tagging/app/dialogs/stroke-dialog.c Sat Aug 2 19:50:36 2008
@@ -204,17 +204,23 @@
NULL);
{
+ GtkWidget *vbox;
GtkWidget *hbox;
GtkWidget *label;
GtkWidget *combo;
+ GtkWidget *button;
- hbox = gtk_hbox_new (FALSE, 6);
- gtk_container_add (GTK_CONTAINER (frame), hbox);
- gtk_widget_show (hbox);
+ vbox = gtk_vbox_new (FALSE, 6);
+ gtk_container_add (GTK_CONTAINER (frame), vbox);
+ gtk_widget_show (vbox);
- gtk_widget_set_sensitive (hbox,
+ gtk_widget_set_sensitive (vbox,
desc->method == GIMP_STROKE_METHOD_PAINT_CORE);
- g_object_set_data (G_OBJECT (paint_radio), "set_sensitive", hbox);
+ g_object_set_data (G_OBJECT (paint_radio), "set_sensitive", vbox);
+
+ hbox = gtk_hbox_new (FALSE, 6);
+ gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
+ gtk_widget_show (hbox);
label = gtk_label_new (_("Paint tool:"));
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
@@ -234,6 +240,12 @@
g_object_set_data (G_OBJECT (dialog), "gimp-tool-menu", combo);
+
+ button = gimp_prop_check_button_new (G_OBJECT (desc),
+ "emulate-brush-dynamics",
+ _("_Emulate brush dynamics"));
+ gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
+ gtk_widget_show (button);
}
return dialog;
Modified: branches/soc-2008-tagging/app/gui/session.c
==============================================================================
--- branches/soc-2008-tagging/app/gui/session.c (original)
+++ branches/soc-2008-tagging/app/gui/session.c Sat Aug 2 19:50:36 2008
@@ -155,6 +155,8 @@
skip = (info->toplevel_entry == NULL);
}
+ g_free (entry_name);
+
if (GIMP_CONFIG_GET_INTERFACE (info)->deserialize (GIMP_CONFIG (info),
scanner,
1,
Modified: branches/soc-2008-tagging/app/gui/splash.c
==============================================================================
--- branches/soc-2008-tagging/app/gui/splash.c (original)
+++ branches/soc-2008-tagging/app/gui/splash.c Sat Aug 2 19:50:36 2008
@@ -151,7 +151,7 @@
splash->area = gtk_image_new_from_animation (pixbuf);
}
- gtk_box_pack_start_defaults (GTK_BOX (vbox), splash->area);
+ gtk_box_pack_start (GTK_BOX (vbox), splash->area, TRUE, TRUE, 0);
gtk_widget_show (splash->area);
gtk_widget_set_size_request (splash->area, splash->width, splash->height);
Modified: branches/soc-2008-tagging/app/menus/file-menu.c
==============================================================================
--- branches/soc-2008-tagging/app/menus/file-menu.c (original)
+++ branches/soc-2008-tagging/app/menus/file-menu.c Sat Aug 2 19:50:36 2008
@@ -105,7 +105,12 @@
GtkTooltip *tooltip,
GimpAction *action)
{
- gtk_tooltip_set_text (tooltip, gtk_widget_get_tooltip_text (widget));
+ gchar *text;
+
+ text = gtk_widget_get_tooltip_text (widget);
+ gtk_tooltip_set_text (tooltip, text);
+ g_free (text);
+
gtk_tooltip_set_icon (tooltip,
gimp_viewable_get_pixbuf (action->viewable,
action->context,
Modified: branches/soc-2008-tagging/app/paint/gimppaintcore-stroke.c
==============================================================================
--- branches/soc-2008-tagging/app/paint/gimppaintcore-stroke.c (original)
+++ branches/soc-2008-tagging/app/paint/gimppaintcore-stroke.c Sat Aug 2 19:50:36 2008
@@ -34,6 +34,9 @@
#include "gimppaintoptions.h"
+static void gimp_paint_core_stroke_emulate_dynamics (GimpCoords *coords,
+ gint length);
+
static const GimpCoords default_coords = GIMP_COORDS_DEFAULT_VALUES;
@@ -91,6 +94,7 @@
gimp_paint_core_stroke_boundary (GimpPaintCore *core,
GimpDrawable *drawable,
GimpPaintOptions *paint_options,
+ gboolean emulate_dynamics,
const BoundSeg *bound_segs,
gint n_bound_segs,
gint offset_x,
@@ -160,6 +164,9 @@
n_coords++;
+ if (emulate_dynamics)
+ gimp_paint_core_stroke_emulate_dynamics (coords, n_coords);
+
if (initialized ||
gimp_paint_core_start (core, drawable, paint_options, &coords[0],
error))
@@ -219,15 +226,14 @@
gimp_paint_core_stroke_vectors (GimpPaintCore *core,
GimpDrawable *drawable,
GimpPaintOptions *paint_options,
+ gboolean emulate_dynamics,
GimpVectors *vectors,
GError **error)
{
- GList *stroke;
- GArray *coords = NULL;
- gboolean initialized = FALSE;
- gboolean closed;
- gint off_x, off_y;
- gint vectors_off_x, vectors_off_y;
+ GList *stroke;
+ gboolean initialized = FALSE;
+ gint off_x, off_y;
+ gint vectors_off_x, vectors_off_y;
g_return_val_if_fail (GIMP_IS_PAINT_CORE (core), FALSE);
g_return_val_if_fail (GIMP_IS_DRAWABLE (drawable), FALSE);
@@ -244,6 +250,9 @@
for (stroke = vectors->strokes; stroke; stroke = stroke->next)
{
+ GArray *coords;
+ gboolean closed;
+
coords = gimp_stroke_interpolate (GIMP_STROKE (stroke->data),
1.0, &closed);
@@ -257,6 +266,10 @@
g_array_index (coords, GimpCoords, i).y -= off_y;
}
+ if (emulate_dynamics)
+ gimp_paint_core_stroke_emulate_dynamics ((GimpCoords *) coords->data,
+ coords->len);
+
if (initialized ||
gimp_paint_core_start (core, drawable, paint_options,
&g_array_index (coords, GimpCoords, 0),
@@ -305,3 +318,42 @@
return initialized;
}
+
+static void
+gimp_paint_core_stroke_emulate_dynamics (GimpCoords *coords,
+ gint length)
+{
+ const gint ramp_length = length / 3;
+
+ /* Calculate and create pressure ramp parameters */
+ if (ramp_length > 0)
+ {
+ gdouble slope = 1.0 / (gdouble) (ramp_length);
+ gint i;
+
+ /* Calculate pressure start ramp */
+ for (i = 0; i < ramp_length; i++)
+ {
+ coords[i].pressure = i * slope;
+ }
+
+ /* Calculate pressure end ramp */
+ for (i = length - ramp_length; i < length; i++)
+ {
+ coords[i].pressure = 1.0 - (i - (length - ramp_length)) * slope;
+ }
+ }
+
+ /* Calculate and create velocity ramp parameters */
+ if (length > 0)
+ {
+ gdouble slope = 1.0 / length;
+ gint i;
+
+ /* Calculate velocity end ramp */
+ for (i = 0; i < length; i++)
+ {
+ coords[i].velocity = i * slope;
+ }
+ }
+}
Modified: branches/soc-2008-tagging/app/paint/gimppaintcore-stroke.h
==============================================================================
--- branches/soc-2008-tagging/app/paint/gimppaintcore-stroke.h (original)
+++ branches/soc-2008-tagging/app/paint/gimppaintcore-stroke.h Sat Aug 2 19:50:36 2008
@@ -29,6 +29,7 @@
gboolean gimp_paint_core_stroke_boundary (GimpPaintCore *core,
GimpDrawable *drawable,
GimpPaintOptions *paint_options,
+ gboolean emulate_dynamics,
const BoundSeg *bound_segs,
gint n_bound_segs,
gint offset_x,
@@ -37,6 +38,7 @@
gboolean gimp_paint_core_stroke_vectors (GimpPaintCore *core,
GimpDrawable *drawable,
GimpPaintOptions *paint_options,
+ gboolean emulate_dynamics,
GimpVectors *vectors,
GError **error);
Modified: branches/soc-2008-tagging/app/paint/gimppaintoptions.c
==============================================================================
--- branches/soc-2008-tagging/app/paint/gimppaintoptions.c (original)
+++ branches/soc-2008-tagging/app/paint/gimppaintoptions.c Sat Aug 2 19:50:36 2008
@@ -412,15 +412,17 @@
switch (property_id)
{
case PROP_PAINT_INFO:
- options->paint_info = (GimpPaintInfo *) g_value_dup_object (value);
+ options->paint_info = g_value_dup_object (value);
break;
case PROP_BRUSH_SCALE:
options->brush_scale = g_value_get_double (value);
break;
+
case PROP_APPLICATION_MODE:
options->application_mode = g_value_get_enum (value);
break;
+
case PROP_HARD:
options->hard = g_value_get_boolean (value);
break;
@@ -432,21 +434,27 @@
case PROP_PRESSURE_OPACITY:
pressure_options->opacity = g_value_get_boolean (value);
break;
+
case PROP_PRESSURE_HARDNESS:
pressure_options->hardness = g_value_get_boolean (value);
break;
+
case PROP_PRESSURE_RATE:
pressure_options->rate = g_value_get_boolean (value);
break;
+
case PROP_PRESSURE_SIZE:
pressure_options->size = g_value_get_boolean (value);
break;
+
case PROP_PRESSURE_INVERSE_SIZE:
pressure_options->inverse_size = g_value_get_boolean (value);
break;
+
case PROP_PRESSURE_COLOR:
pressure_options->color = g_value_get_boolean (value);
break;
+
case PROP_PRESSURE_PRESCALE:
pressure_options->prescale = g_value_get_double (value);
break;
@@ -454,21 +462,27 @@
case PROP_VELOCITY_OPACITY:
velocity_options->opacity = g_value_get_boolean (value);
break;
+
case PROP_VELOCITY_HARDNESS:
velocity_options->hardness = g_value_get_boolean (value);
break;
+
case PROP_VELOCITY_RATE:
velocity_options->rate = g_value_get_boolean (value);
break;
+
case PROP_VELOCITY_SIZE:
velocity_options->size = g_value_get_boolean (value);
break;
+
case PROP_VELOCITY_INVERSE_SIZE:
velocity_options->inverse_size = g_value_get_boolean (value);
break;
+
case PROP_VELOCITY_COLOR:
velocity_options->color = g_value_get_boolean (value);
break;
+
case PROP_VELOCITY_PRESCALE:
velocity_options->prescale = g_value_get_double (value);
break;
@@ -476,21 +490,27 @@
case PROP_RANDOM_OPACITY:
random_options->opacity = g_value_get_boolean (value);
break;
+
case PROP_RANDOM_HARDNESS:
random_options->hardness = g_value_get_boolean (value);
break;
+
case PROP_RANDOM_RATE:
random_options->rate = g_value_get_boolean (value);
break;
+
case PROP_RANDOM_SIZE:
random_options->size = g_value_get_boolean (value);
break;
+
case PROP_RANDOM_INVERSE_SIZE:
random_options->inverse_size = g_value_get_boolean (value);
break;
+
case PROP_RANDOM_COLOR:
random_options->color = g_value_get_boolean (value);
break;
+
case PROP_RANDOM_PRESCALE:
random_options->prescale = g_value_get_double (value);
break;
@@ -498,9 +518,11 @@
case PROP_USE_FADE:
fade_options->use_fade = g_value_get_boolean (value);
break;
+
case PROP_FADE_LENGTH:
fade_options->fade_length = g_value_get_double (value);
break;
+
case PROP_FADE_UNIT:
fade_options->fade_unit = g_value_get_int (value);
break;
@@ -508,6 +530,7 @@
case PROP_USE_JITTER:
jitter_options->use_jitter = g_value_get_boolean (value);
break;
+
case PROP_JITTER_AMOUNT:
jitter_options->jitter_amount = g_value_get_double (value);
break;
@@ -515,15 +538,19 @@
case PROP_USE_GRADIENT:
gradient_options->use_gradient = g_value_get_boolean (value);
break;
+
case PROP_GRADIENT_REVERSE:
gradient_options->gradient_reverse = g_value_get_boolean (value);
break;
+
case PROP_GRADIENT_REPEAT:
gradient_options->gradient_repeat = g_value_get_enum (value);
break;
+
case PROP_GRADIENT_LENGTH:
gradient_options->gradient_length = g_value_get_double (value);
break;
+
case PROP_GRADIENT_UNIT:
gradient_options->gradient_unit = g_value_get_int (value);
break;
@@ -531,6 +558,7 @@
case PROP_BRUSH_VIEW_TYPE:
options->brush_view_type = g_value_get_enum (value);
break;
+
case PROP_BRUSH_VIEW_SIZE:
options->brush_view_size = g_value_get_int (value);
break;
@@ -538,6 +566,7 @@
case PROP_PATTERN_VIEW_TYPE:
options->pattern_view_type = g_value_get_enum (value);
break;
+
case PROP_PATTERN_VIEW_SIZE:
options->pattern_view_size = g_value_get_int (value);
break;
@@ -545,6 +574,7 @@
case PROP_GRADIENT_VIEW_TYPE:
options->gradient_view_type = g_value_get_enum (value);
break;
+
case PROP_GRADIENT_VIEW_SIZE:
options->gradient_view_size = g_value_get_int (value);
break;
@@ -578,9 +608,11 @@
case PROP_BRUSH_SCALE:
g_value_set_double (value, options->brush_scale);
break;
+
case PROP_APPLICATION_MODE:
g_value_set_enum (value, options->application_mode);
break;
+
case PROP_HARD:
g_value_set_boolean (value, options->hard);
break;
@@ -592,21 +624,27 @@
case PROP_PRESSURE_OPACITY:
g_value_set_boolean (value, pressure_options->opacity);
break;
+
case PROP_PRESSURE_HARDNESS:
g_value_set_boolean (value, pressure_options->hardness);
break;
+
case PROP_PRESSURE_RATE:
g_value_set_boolean (value, pressure_options->rate);
break;
+
case PROP_PRESSURE_SIZE:
g_value_set_boolean (value, pressure_options->size);
break;
+
case PROP_PRESSURE_INVERSE_SIZE:
g_value_set_boolean (value, pressure_options->inverse_size);
break;
+
case PROP_PRESSURE_COLOR:
g_value_set_boolean (value, pressure_options->color);
break;
+
case PROP_PRESSURE_PRESCALE:
g_value_set_double (value, pressure_options->prescale);
break;
@@ -614,21 +652,27 @@
case PROP_VELOCITY_OPACITY:
g_value_set_boolean (value, velocity_options->opacity);
break;
+
case PROP_VELOCITY_HARDNESS:
g_value_set_boolean (value, velocity_options->hardness);
break;
+
case PROP_VELOCITY_RATE:
g_value_set_boolean (value, velocity_options->rate);
break;
+
case PROP_VELOCITY_SIZE:
g_value_set_boolean (value, velocity_options->size);
break;
+
case PROP_VELOCITY_INVERSE_SIZE:
g_value_set_boolean (value, velocity_options->inverse_size);
break;
+
case PROP_VELOCITY_COLOR:
g_value_set_boolean (value, velocity_options->color);
break;
+
case PROP_VELOCITY_PRESCALE:
g_value_set_double (value, velocity_options->prescale);
break;
@@ -636,21 +680,27 @@
case PROP_RANDOM_OPACITY:
g_value_set_boolean (value, random_options->opacity);
break;
+
case PROP_RANDOM_HARDNESS:
g_value_set_boolean (value, random_options->hardness);
break;
+
case PROP_RANDOM_RATE:
g_value_set_boolean (value, random_options->rate);
break;
+
case PROP_RANDOM_SIZE:
g_value_set_boolean (value, random_options->size);
break;
+
case PROP_RANDOM_INVERSE_SIZE:
g_value_set_boolean (value, random_options->inverse_size);
break;
+
case PROP_RANDOM_COLOR:
g_value_set_boolean (value, random_options->color);
break;
+
case PROP_RANDOM_PRESCALE:
g_value_set_double (value, random_options->prescale);
break;
@@ -658,9 +708,11 @@
case PROP_USE_FADE:
g_value_set_boolean (value, fade_options->use_fade);
break;
+
case PROP_FADE_LENGTH:
g_value_set_double (value, fade_options->fade_length);
break;
+
case PROP_FADE_UNIT:
g_value_set_int (value, fade_options->fade_unit);
break;
@@ -668,6 +720,7 @@
case PROP_USE_JITTER:
g_value_set_boolean (value, jitter_options->use_jitter);
break;
+
case PROP_JITTER_AMOUNT:
g_value_set_double (value, jitter_options->jitter_amount);
break;
@@ -675,15 +728,19 @@
case PROP_USE_GRADIENT:
g_value_set_boolean (value, gradient_options->use_gradient);
break;
+
case PROP_GRADIENT_REVERSE:
g_value_set_boolean (value, gradient_options->gradient_reverse);
break;
+
case PROP_GRADIENT_REPEAT:
g_value_set_enum (value, gradient_options->gradient_repeat);
break;
+
case PROP_GRADIENT_LENGTH:
g_value_set_double (value, gradient_options->gradient_length);
break;
+
case PROP_GRADIENT_UNIT:
g_value_set_int (value, gradient_options->gradient_unit);
break;
@@ -691,6 +748,7 @@
case PROP_BRUSH_VIEW_TYPE:
g_value_set_enum (value, options->brush_view_type);
break;
+
case PROP_BRUSH_VIEW_SIZE:
g_value_set_int (value, options->brush_view_size);
break;
@@ -698,6 +756,7 @@
case PROP_PATTERN_VIEW_TYPE:
g_value_set_enum (value, options->pattern_view_type);
break;
+
case PROP_PATTERN_VIEW_SIZE:
g_value_set_int (value, options->pattern_view_size);
break;
@@ -705,6 +764,7 @@
case PROP_GRADIENT_VIEW_TYPE:
g_value_set_enum (value, options->gradient_view_type);
break;
+
case PROP_GRADIENT_VIEW_SIZE:
g_value_set_int (value, options->gradient_view_size);
break;
Modified: branches/soc-2008-tagging/app/pdb/edit-cmds.c
==============================================================================
--- branches/soc-2008-tagging/app/pdb/edit-cmds.c (original)
+++ branches/soc-2008-tagging/app/pdb/edit-cmds.c Sat Aug 2 19:50:36 2008
@@ -766,7 +766,8 @@
if (success)
{
- if (gimp_pdb_item_is_attached (GIMP_ITEM (drawable), error))
+ if (gimp_pdb_item_is_attached (GIMP_ITEM (drawable), error) &&
+ gimp_pdb_item_is_attached (GIMP_ITEM (vectors), error))
{
GimpStrokeDesc *desc = gimp_stroke_desc_new (gimp, context);
Modified: branches/soc-2008-tagging/app/pdb/internal-procs.c
==============================================================================
--- branches/soc-2008-tagging/app/pdb/internal-procs.c (original)
+++ branches/soc-2008-tagging/app/pdb/internal-procs.c Sat Aug 2 19:50:36 2008
@@ -29,7 +29,7 @@
#include "internal-procs.h"
-/* 587 procedures registered total */
+/* 588 procedures registered total */
void
internal_procs_init (GimpPDB *pdb)
Modified: branches/soc-2008-tagging/app/pdb/vectors-cmds.c
==============================================================================
--- branches/soc-2008-tagging/app/pdb/vectors-cmds.c (original)
+++ branches/soc-2008-tagging/app/pdb/vectors-cmds.c Sat Aug 2 19:50:36 2008
@@ -145,6 +145,38 @@
}
static GValueArray *
+vectors_copy_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GValueArray *return_vals;
+ GimpVectors *vectors;
+ GimpVectors *vectors_copy = NULL;
+
+ vectors = gimp_value_get_vectors (&args->values[0], gimp);
+
+ if (success)
+ {
+ vectors_copy = GIMP_VECTORS (gimp_item_duplicate (GIMP_ITEM (vectors),
+ G_TYPE_FROM_INSTANCE (vectors)));
+
+ if (! vectors_copy)
+ success = FALSE;
+ }
+
+ return_vals = gimp_procedure_get_return_values (procedure, success);
+
+ if (success)
+ gimp_value_set_vectors (&return_vals->values[1], vectors_copy);
+
+ return return_vals;
+}
+
+static GValueArray *
vectors_get_image_invoker (GimpProcedure *procedure,
Gimp *gimp,
GimpContext *context,
@@ -1486,6 +1518,35 @@
g_object_unref (procedure);
/*
+ * gimp-vectors-copy
+ */
+ procedure = gimp_procedure_new (vectors_copy_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-vectors-copy");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-vectors-copy",
+ "Copy a vectors object.",
+ "This procedure copies the specified vectors object and returns the copy.",
+ "Barak Itkin <lightningismyname gmail com>",
+ "Barak Itkin",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_vectors_id ("vectors",
+ "vectors",
+ "The vectors object to copy",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ gimp_param_spec_vectors_id ("vectors-copy",
+ "vectors copy",
+ "The newly copied vectors object",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
* gimp-vectors-get-image
*/
procedure = gimp_procedure_new (vectors_get_image_invoker);
Modified: branches/soc-2008-tagging/app/text/gimpfont.c
==============================================================================
--- branches/soc-2008-tagging/app/text/gimpfont.c (original)
+++ branches/soc-2008-tagging/app/text/gimpfont.c Sat Aug 2 19:50:36 2008
@@ -165,7 +165,7 @@
case PROP_PANGO_CONTEXT:
if (font->pango_context)
g_object_unref (font->pango_context);
- font->pango_context = (PangoContext *) g_value_dup_object (value);
+ font->pango_context = g_value_dup_object (value);
break;
default:
Modified: branches/soc-2008-tagging/app/text/gimptext-compat.c
==============================================================================
--- branches/soc-2008-tagging/app/text/gimptext-compat.c (original)
+++ branches/soc-2008-tagging/app/text/gimptext-compat.c Sat Aug 2 19:50:36 2008
@@ -154,6 +154,17 @@
context = pango_ft2_font_map_create_context (PANGO_FT2_FONT_MAP (fontmap));
g_object_unref (fontmap);
+ /* Workaround for bug #143542 (PangoFT2Fontmap leak),
+ * see also bug #148997 (Text layer rendering leaks font file descriptor):
+ *
+ * Calling pango_ft2_font_map_substitute_changed() causes the
+ * font_map cache to be flushed, thereby removing the circular
+ * reference that causes the leak.
+ */
+ g_object_weak_ref (G_OBJECT (context),
+ (GWeakNotify) pango_ft2_font_map_substitute_changed,
+ fontmap);
+
layout = pango_layout_new (context);
g_object_unref (context);
@@ -176,7 +187,7 @@
PangoLayoutLine *line;
iter = pango_layout_get_iter (layout);
- line = pango_layout_iter_get_line (iter);
+ line = pango_layout_iter_get_line_readonly (iter);
pango_layout_iter_free (iter);
pango_layout_line_get_pixel_extents (line, NULL, &rect);
Modified: branches/soc-2008-tagging/app/text/gimptextlayout-render.c
==============================================================================
--- branches/soc-2008-tagging/app/text/gimptextlayout-render.c (original)
+++ branches/soc-2008-tagging/app/text/gimptextlayout-render.c Sat Aug 2 19:50:36 2008
@@ -91,7 +91,7 @@
PangoLayoutLine *line;
gint baseline;
- line = pango_layout_iter_get_line (iter);
+ line = pango_layout_iter_get_line_readonly (iter);
pango_layout_iter_get_line_extents (iter, NULL, &rect);
baseline = pango_layout_iter_get_baseline (iter);
Modified: branches/soc-2008-tagging/app/tools/gimpcolortool.c
==============================================================================
--- branches/soc-2008-tagging/app/tools/gimpcolortool.c (original)
+++ branches/soc-2008-tagging/app/tools/gimpcolortool.c Sat Aug 2 19:50:36 2008
@@ -247,6 +247,8 @@
color_tool->sample_point_x = color_tool->sample_point->x;
color_tool->sample_point_y = color_tool->sample_point->y;
+ gimp_tool_control_set_scroll_lock (tool->control, TRUE);
+
gimp_display_shell_selection_control (shell, GIMP_SELECTION_PAUSE);
gimp_draw_tool_start (GIMP_DRAW_TOOL (tool), display);
@@ -299,6 +301,7 @@
gimp_tool_pop_status (tool, display);
+ gimp_tool_control_set_scroll_lock (tool->control, FALSE);
gimp_draw_tool_stop (GIMP_DRAW_TOOL (tool));
if (release_type == GIMP_BUTTON_RELEASE_CANCEL)
@@ -811,6 +814,7 @@
tool->display = display;
gimp_tool_control_activate (tool->control);
+ gimp_tool_control_set_scroll_lock (tool->control, TRUE);
if (color_tool->sample_point)
gimp_display_shell_draw_sample_point (GIMP_DISPLAY_SHELL (display->shell),
Modified: branches/soc-2008-tagging/app/tools/gimpdrawtool.c
==============================================================================
--- branches/soc-2008-tagging/app/tools/gimpdrawtool.c (original)
+++ branches/soc-2008-tagging/app/tools/gimpdrawtool.c Sat Aug 2 19:50:36 2008
@@ -1362,7 +1362,6 @@
GimpStroke *pref_stroke = NULL;
GimpAnchor *anchor = NULL;
GimpAnchor *pref_anchor = NULL;
- GList *list;
gdouble dx, dy;
gdouble pref_mindist = -1;
gdouble mindist = -1;
@@ -1377,35 +1376,33 @@
while ((stroke = gimp_vectors_stroke_get_next (vectors, stroke)))
{
- GList *anchor_list;
+ GList *anchor_list = gimp_stroke_get_draw_anchors (stroke);
+ GList *list;
- anchor_list = gimp_stroke_get_draw_anchors (stroke);
+ anchor_list = g_list_concat (gimp_stroke_get_draw_anchors (stroke),
+ gimp_stroke_get_draw_controls (stroke));
- list = gimp_stroke_get_draw_controls (stroke);
- anchor_list = g_list_concat (anchor_list, list);
-
- while (anchor_list)
+ for (list = anchor_list; list; list = g_list_next (list))
{
- dx = coord->x - GIMP_ANCHOR (anchor_list->data)->position.x;
- dy = coord->y - GIMP_ANCHOR (anchor_list->data)->position.y;
+ dx = coord->x - GIMP_ANCHOR (list->data)->position.x;
+ dy = coord->y - GIMP_ANCHOR (list->data)->position.y;
if (mindist < 0 || mindist > dx * dx + dy * dy)
{
mindist = dx * dx + dy * dy;
- anchor = GIMP_ANCHOR (anchor_list->data);
+ anchor = GIMP_ANCHOR (list->data);
+
if (ret_stroke)
*ret_stroke = stroke;
}
if ((pref_mindist < 0 || pref_mindist > dx * dx + dy * dy) &&
- GIMP_ANCHOR (anchor_list->data)->type == preferred)
+ GIMP_ANCHOR (list->data)->type == preferred)
{
pref_mindist = dx * dx + dy * dy;
- pref_anchor = GIMP_ANCHOR (anchor_list->data);
+ pref_anchor = GIMP_ANCHOR (list->data);
pref_stroke = stroke;
}
-
- anchor_list = anchor_list->next;
}
g_list_free (anchor_list);
Modified: branches/soc-2008-tagging/app/tools/gimprectangletool.c
==============================================================================
--- branches/soc-2008-tagging/app/tools/gimprectangletool.c (original)
+++ branches/soc-2008-tagging/app/tools/gimprectangletool.c Sat Aug 2 19:50:36 2008
@@ -2183,23 +2183,33 @@
gdouble new_x,
gdouble new_y)
{
+ GimpTool *tool;
+ GimpDrawTool *draw_tool;
GimpRectangleToolPrivate *private;
GimpRectangleFunction old_function;
+ tool = GIMP_TOOL (rect_tool);
+ draw_tool = GIMP_DRAW_TOOL (rect_tool);
+ private = GIMP_RECTANGLE_TOOL_GET_PRIVATE (rect_tool);
+
/* We don't want to synthesize motions if the tool control is active
* since that means the mouse button is down and the rectangle will
* get updated in _motion anyway. The reason we want to prevent this
- * function from executing is that is emits the rectangle-changed
- * signal which we don't want in the middle of a rectangle change.
+ * function from executing is that is emits the
+ * rectangle-changed-complete signal which we don't want in the
+ * middle of a rectangle change.
+ *
+ * In addition to that, we don't want to synthesize a motion if
+ * there is no pending rectangle because that doesn't make any
+ * sense.
*/
- if (gimp_tool_control_is_active (GIMP_TOOL (rect_tool)->control))
+ if (gimp_tool_control_is_active (tool->control) ||
+ ! tool->display)
return;
- private = GIMP_RECTANGLE_TOOL_GET_PRIVATE (rect_tool);
-
old_function = private->function;
- gimp_draw_tool_pause (GIMP_DRAW_TOOL (rect_tool));
+ gimp_draw_tool_pause (draw_tool);
gimp_rectangle_tool_set_function (rect_tool, function);
@@ -2212,14 +2222,14 @@
private->center_y_on_fixed_center = (private->y1 + private->y2) / 2;
gimp_rectangle_tool_update_options (rect_tool,
- GIMP_TOOL (rect_tool)->display);
+ tool->display);
gimp_rectangle_tool_set_function (rect_tool, old_function);
gimp_rectangle_tool_update_highlight (rect_tool);
gimp_rectangle_tool_update_handle_sizes (rect_tool);
- gimp_draw_tool_resume (GIMP_DRAW_TOOL (rect_tool));
+ gimp_draw_tool_resume (draw_tool);
gimp_rectangle_tool_rectangle_change_complete (rect_tool);
}
Modified: branches/soc-2008-tagging/app/tools/gimptool.c
==============================================================================
--- branches/soc-2008-tagging/app/tools/gimptool.c (original)
+++ branches/soc-2008-tagging/app/tools/gimptool.c Sat Aug 2 19:50:36 2008
@@ -198,7 +198,7 @@
switch (property_id)
{
case PROP_TOOL_INFO:
- tool->tool_info = GIMP_TOOL_INFO (g_value_dup_object (value));
+ tool->tool_info = g_value_dup_object (value);
break;
default:
Modified: branches/soc-2008-tagging/app/tools/gimpvectortool.c
==============================================================================
--- branches/soc-2008-tagging/app/tools/gimpvectortool.c (original)
+++ branches/soc-2008-tagging/app/tools/gimpvectortool.c Sat Aug 2 19:50:36 2008
@@ -286,6 +286,7 @@
gimp_vector_tool_set_vectors (vector_tool, vectors);
gimp_image_set_active_vectors (display->image, vectors);
}
+
vector_tool->function = VECTORS_FINISHED;
}
@@ -306,7 +307,6 @@
gimp_vector_tool_set_vectors (vector_tool, vectors);
vector_tool->function = VECTORS_CREATE_STROKE;
-
}
gimp_vectors_freeze (vector_tool->vectors);
@@ -335,21 +335,28 @@
if (vector_tool->function == VECTORS_ADD_ANCHOR)
{
+ GimpCoords position = GIMP_COORDS_DEFAULT_VALUES;
+
+ position.x = coords->x;
+ position.y = coords->y;
+
gimp_vector_tool_undo_push (vector_tool, _("Add Anchor"));
vector_tool->undo_motion = TRUE;
vector_tool->cur_anchor =
- gimp_bezier_stroke_extend (vector_tool->sel_stroke, coords,
+ gimp_bezier_stroke_extend (vector_tool->sel_stroke,
+ &position,
vector_tool->sel_anchor,
EXTEND_EDITABLE);
vector_tool->restriction = GIMP_ANCHOR_FEATURE_SYMMETRIC;
- if (!options->polygonal)
+ if (! options->polygonal)
vector_tool->function = VECTORS_MOVE_HANDLE;
else
vector_tool->function = VECTORS_MOVE_ANCHOR;
+
vector_tool->cur_stroke = vector_tool->sel_stroke;
}
@@ -374,6 +381,7 @@
vector_tool->cur_anchor,
GIMP_ANCHOR_FEATURE_EDGE);
}
+
vector_tool->function = VECTORS_MOVE_ANCHOR;
}
else
@@ -391,7 +399,7 @@
if (vector_tool->cur_anchor->type == GIMP_ANCHOR_ANCHOR)
{
- if (!vector_tool->cur_anchor->selected)
+ if (! vector_tool->cur_anchor->selected)
{
gimp_vectors_anchor_select (vector_tool->vectors,
vector_tool->cur_stroke,
@@ -406,7 +414,7 @@
GIMP_ANCHOR_CONTROL, TRUE,
&vector_tool->cur_anchor,
&vector_tool->cur_stroke);
- if (!vector_tool->cur_anchor)
+ if (! vector_tool->cur_anchor)
vector_tool->function = VECTORS_FINISHED;
}
}
@@ -418,7 +426,7 @@
{
gimp_vector_tool_undo_push (vector_tool, _("Drag Anchor"));
- if (!vector_tool->cur_anchor->selected)
+ if (! vector_tool->cur_anchor->selected)
{
gimp_vectors_anchor_select (vector_tool->vectors,
vector_tool->cur_stroke,
@@ -442,7 +450,9 @@
vector_tool->cur_anchor,
!vector_tool->cur_anchor->selected,
FALSE);
+
vector_tool->undo_motion = TRUE;
+
if (vector_tool->cur_anchor->selected == FALSE)
vector_tool->function = VECTORS_FINISHED;
}
@@ -495,6 +505,7 @@
gimp_vectors_stroke_remove (vector_tool->vectors,
vector_tool->cur_stroke);
}
+
vector_tool->sel_anchor = vector_tool->cur_anchor;
vector_tool->cur_stroke = vector_tool->sel_stroke;
@@ -643,11 +654,15 @@
{
GimpVectorTool *vector_tool = GIMP_VECTOR_TOOL (tool);
GimpVectorOptions *options = GIMP_VECTOR_TOOL_GET_OPTIONS (tool);
+ GimpCoords position = GIMP_COORDS_DEFAULT_VALUES;
GimpAnchor *anchor;
if (vector_tool->function == VECTORS_FINISHED)
return;
+ position.x = coords->x;
+ position.y = coords->y;
+
gimp_vectors_freeze (vector_tool->vectors);
if ((vector_tool->saved_state & TOGGLE_MASK) != (state & TOGGLE_MASK))
@@ -675,7 +690,8 @@
{
gimp_stroke_anchor_move_absolute (vector_tool->cur_stroke,
vector_tool->cur_anchor,
- coords, vector_tool->restriction);
+ &position,
+ vector_tool->restriction);
vector_tool->undo_motion = TRUE;
}
break;
@@ -684,8 +700,8 @@
if (options->polygonal)
{
gimp_vector_tool_move_selected_anchors (vector_tool,
- coords->x - vector_tool->last_x,
- coords->y - vector_tool->last_y);
+ coords->x - vector_tool->last_x,
+ coords->y - vector_tool->last_y);
vector_tool->undo_motion = TRUE;
}
else
@@ -693,7 +709,8 @@
gimp_stroke_point_move_absolute (vector_tool->cur_stroke,
vector_tool->cur_anchor,
vector_tool->cur_position,
- coords, vector_tool->restriction);
+ &position,
+ vector_tool->restriction);
vector_tool->undo_motion = TRUE;
}
break;
@@ -977,6 +994,7 @@
else
{
vector_tool->function = VECTORS_MOVE_HANDLE;
+
if (state & TOGGLE_MASK)
vector_tool->restriction = GIMP_ANCHOR_FEATURE_SYMMETRIC;
else
@@ -988,6 +1006,7 @@
if (gimp_stroke_point_is_movable (stroke, anchor, position))
{
vector_tool->function = VECTORS_MOVE_CURVE;
+
if (state & TOGGLE_MASK)
vector_tool->restriction = GIMP_ANCHOR_FEATURE_SYMMETRIC;
else
@@ -1688,9 +1707,9 @@
{
GimpAnchor *cur_anchor;
GimpStroke *cur_stroke = NULL;
- GList *anchors;
- GList *list;
- GimpCoords offset = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
+ GList *anchors;
+ GList *list;
+ GimpCoords offset = { 0.0, };
offset.x = x;
offset.y = y;
@@ -1780,7 +1799,7 @@
vector_tool->sel_anchor = NULL;
vector_tool->sel_stroke = NULL;
- if (!vector_tool->vectors)
+ if (! vector_tool->vectors)
{
vector_tool->cur_position = -1;
vector_tool->cur_anchor = NULL;
@@ -1832,10 +1851,10 @@
}
}
- if (!cur_stroke_valid)
+ if (! cur_stroke_valid)
vector_tool->cur_stroke = NULL;
- if (!cur_anchor_valid)
+ if (! cur_anchor_valid)
vector_tool->cur_anchor = NULL;
}
Modified: branches/soc-2008-tagging/app/vectors/gimpbezierstroke.c
==============================================================================
--- branches/soc-2008-tagging/app/vectors/gimpbezierstroke.c (original)
+++ branches/soc-2008-tagging/app/vectors/gimpbezierstroke.c Sat Aug 2 19:50:36 2008
@@ -611,6 +611,7 @@
if (dist < min_dist || min_dist < 0)
{
min_dist = dist;
+
if (ret_pos)
*ret_pos = pos;
if (ret_point)
@@ -620,6 +621,7 @@
if (ret_segment_end)
*ret_segment_end = segment_end;
}
+
segment_start = anchorlist->data;
segmentcoords[0] = segmentcoords[3];
count = 1;
@@ -635,7 +637,9 @@
segmentcoords[count] = GIMP_ANCHOR (anchorlist->data)->position;
count++;
}
+
anchorlist = g_list_next (anchorlist);
+
if (anchorlist)
{
segment_end = GIMP_ANCHOR (anchorlist->data);
@@ -650,6 +654,7 @@
if (dist < min_dist || min_dist < 0)
{
min_dist = dist;
+
if (ret_pos)
*ret_pos = pos;
if (ret_point)
@@ -716,7 +721,8 @@
for (i = 0; i <= 15; i++)
{
pos2 *= 0.5;
- if (3*pos1*pos1*(1-pos1) + pos1*pos1*pos1 < scalar)
+
+ if (3 * pos1 * pos1 * (1-pos1) + pos1 * pos1 * pos1 < scalar)
pos1 += pos2;
else
pos1 -= pos2;
@@ -837,6 +843,7 @@
if (dist >= 0 && (dist < min_dist || min_dist < 0))
{
min_dist = dist;
+
if (ret_pos)
*ret_pos = pos;
if (nearest)
@@ -846,6 +853,7 @@
if (ret_segment_end)
*ret_segment_end = segment_end;
}
+
segment_start = anchorlist->data;
segmentcoords[0] = segmentcoords[3];
count = 1;
@@ -861,7 +869,9 @@
segmentcoords[count] = GIMP_ANCHOR (anchorlist->data)->position;
count++;
}
+
anchorlist = g_list_next (anchorlist);
+
if (anchorlist)
{
segment_end = GIMP_ANCHOR (anchorlist->data);
@@ -876,6 +886,7 @@
if (dist >= 0 && (dist < min_dist || min_dist < 0))
{
min_dist = dist;
+
if (ret_pos)
*ret_pos = pos;
if (nearest)
@@ -1536,6 +1547,7 @@
bezdesc->status = CAIRO_STATUS_SUCCESS;
bezdesc->data = (cairo_path_data_t *) cmd_array->data;
bezdesc->num_data = cmd_array->len;
+
g_array_free (points, TRUE);
g_array_free (cmd_array, FALSE);
@@ -1724,10 +1736,10 @@
while (dt >= 0.00001)
{
- pt0 = ( y[0]*(1-t0)*(1-t0)*(1-t0) +
- 3*y[1]*(1-t0)*(1-t0)*t0 +
- 3*y[2]*(1-t0)*t0*t0 +
- y[3]*t0*t0*t0 );
+ pt0 = ( y[0] * (1-t0) * (1-t0) * (1-t0) +
+ 3 * y[1] * (1-t0) * (1-t0) * t0 +
+ 3 * y[2] * (1-t0) * t0 * t0 +
+ y[3] * t0 * t0 * t0 );
if (pt0 > h)
t0 = t0 - dt;
@@ -1787,12 +1799,13 @@
gdouble phi1,
GimpCoords *ellips)
{
- gdouble phi_s, phi_e;
- GimpCoords template = GIMP_COORDS_DEFAULT_VALUES;
- const gdouble circlemagic = 4.0 * (G_SQRT2 - 1.0) / 3.0;
- gdouble y[4];
- gdouble h0, h1;
- gdouble t0, t1;
+ const GimpCoords template = GIMP_COORDS_DEFAULT_VALUES;
+ const gdouble circlemagic = 4.0 * (G_SQRT2 - 1.0) / 3.0;
+
+ gdouble phi_s, phi_e;
+ gdouble y[4];
+ gdouble h0, h1;
+ gdouble t0, t1;
g_return_if_fail (ellips != NULL);
@@ -1824,10 +1837,9 @@
ellips[0].x = cos (phi_s); ellips[0].y = sin (phi_s);
ellips[3].x = cos (phi_e); ellips[3].y = sin (phi_e);
- gimp_coords_mix (1, &(ellips[0]), circlemagic, &(ellips[3]),
- &(ellips[1]));
- gimp_coords_mix (circlemagic, &(ellips[0]), 1, &(ellips[3]),
- &(ellips[2]));
+
+ gimp_coords_mix (1, &(ellips[0]), circlemagic, &(ellips[3]), &(ellips[1]));
+ gimp_coords_mix (circlemagic, &(ellips[0]), 1, &(ellips[3]), &(ellips[2]));
if (h0 > y[0])
{
Modified: branches/soc-2008-tagging/app/vectors/gimpvectors.c
==============================================================================
--- branches/soc-2008-tagging/app/vectors/gimpvectors.c (original)
+++ branches/soc-2008-tagging/app/vectors/gimpvectors.c Sat Aug 2 19:50:36 2008
@@ -522,6 +522,7 @@
retval = gimp_paint_core_stroke_vectors (core, drawable,
stroke_desc->paint_options,
+ stroke_desc->emulate_dynamics,
vectors, error);
g_object_unref (core);
Modified: branches/soc-2008-tagging/app/widgets/gimpaction.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimpaction.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimpaction.c Sat Aug 2 19:50:36 2008
@@ -177,15 +177,19 @@
case PROP_CONTEXT:
g_value_set_object (value, action->context);
break;
+
case PROP_COLOR:
g_value_set_boxed (value, action->color);
break;
+
case PROP_VIEWABLE:
g_value_set_object (value, action->viewable);
break;
+
case PROP_ELLIPSIZE:
g_value_set_enum (value, action->ellipsize);
break;
+
case PROP_MAX_WIDTH_CHARS:
g_value_set_int (value, action->max_width_chars);
break;
@@ -210,24 +214,28 @@
case PROP_CONTEXT:
if (action->context)
g_object_unref (action->context);
- action->context = GIMP_CONTEXT (g_value_dup_object (value));
+ action->context = g_value_dup_object (value);
break;
+
case PROP_COLOR:
if (action->color)
g_free (action->color);
action->color = g_value_dup_boxed (value);
set_proxy = TRUE;
break;
+
case PROP_VIEWABLE:
if (action->viewable)
g_object_unref (action->viewable);
- action->viewable = GIMP_VIEWABLE (g_value_dup_object (value));
+ action->viewable = g_value_dup_object (value);
set_proxy = TRUE;
break;
+
case PROP_ELLIPSIZE:
action->ellipsize = g_value_get_enum (value);
set_proxy = TRUE;
break;
+
case PROP_MAX_WIDTH_CHARS:
action->max_width_chars = g_value_get_int (value);
set_proxy = TRUE;
Modified: branches/soc-2008-tagging/app/widgets/gimpcellrendererviewable.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimpcellrendererviewable.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimpcellrendererviewable.c Sat Aug 2 19:50:36 2008
@@ -174,11 +174,11 @@
{
case PROP_RENDERER:
{
- GimpViewRenderer *renderer;
+ GimpViewRenderer *renderer = g_value_dup_object (value);
- renderer = (GimpViewRenderer *) g_value_dup_object (value);
if (cell->renderer)
g_object_unref (cell->renderer);
+
cell->renderer = renderer;
}
break;
Modified: branches/soc-2008-tagging/app/widgets/gimpcontrollereditor.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimpcontrollereditor.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimpcontrollereditor.c Sat Aug 2 19:50:36 2008
@@ -410,11 +410,11 @@
switch (property_id)
{
case PROP_CONTROLLER_INFO:
- editor->info = GIMP_CONTROLLER_INFO (g_value_dup_object (value));
+ editor->info = g_value_dup_object (value);
break;
case PROP_CONTEXT:
- editor->context = GIMP_CONTEXT (g_value_dup_object (value));
+ editor->context = g_value_dup_object (value);
break;
default:
Modified: branches/soc-2008-tagging/app/widgets/gimpcontrollerinfo.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimpcontrollerinfo.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimpcontrollerinfo.c Sat Aug 2 19:50:36 2008
@@ -199,17 +199,20 @@
g_object_unref (info->controller);
}
- info->controller = GIMP_CONTROLLER (g_value_dup_object (value));
+ info->controller = g_value_dup_object (value);
if (info->controller)
{
+ GimpControllerClass *controller_class;
+
g_signal_connect_object (info->controller, "event",
G_CALLBACK (gimp_controller_info_event),
G_OBJECT (info),
0);
+ controller_class = GIMP_CONTROLLER_GET_CLASS (info->controller);
gimp_viewable_set_stock_id (GIMP_VIEWABLE (info),
- GIMP_CONTROLLER_GET_CLASS (info->controller)->stock_id);
+ controller_class->stock_id);
}
break;
case PROP_MAPPING:
Modified: branches/soc-2008-tagging/app/widgets/gimpcontrollerlist.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimpcontrollerlist.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimpcontrollerlist.c Sat Aug 2 19:50:36 2008
@@ -348,8 +348,9 @@
switch (property_id)
{
case PROP_GIMP:
- list->gimp = GIMP (g_value_dup_object (value));
+ list->gimp = g_value_dup_object (value);
break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@@ -369,6 +370,7 @@
case PROP_GIMP:
g_value_set_object (value, list->gimp);
break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
Modified: branches/soc-2008-tagging/app/widgets/gimpdasheditor.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimpdasheditor.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimpdasheditor.c Sat Aug 2 19:50:36 2008
@@ -170,7 +170,7 @@
case PROP_STROKE_OPTIONS:
g_return_if_fail (editor->stroke_options == NULL);
- editor->stroke_options = GIMP_STROKE_OPTIONS (g_value_dup_object (value));
+ editor->stroke_options = g_value_dup_object (value);
g_signal_connect_object (editor->stroke_options, "notify::dash-info",
G_CALLBACK (update_segments_from_options),
editor, G_CONNECT_SWAPPED);
Modified: branches/soc-2008-tagging/app/widgets/gimpdock.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimpdock.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimpdock.c Sat Aug 2 19:50:36 2008
@@ -225,11 +225,13 @@
switch (property_id)
{
case PROP_CONTEXT:
- dock->context = GIMP_CONTEXT (g_value_dup_object (value));
+ dock->context = g_value_dup_object (value);
break;
+
case PROP_DIALOG_FACTORY:
dock->dialog_factory = g_value_get_object (value);
break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@@ -249,9 +251,11 @@
case PROP_CONTEXT:
g_value_set_object (value, dock->context);
break;
+
case PROP_DIALOG_FACTORY:
g_value_set_object (value, dock->dialog_factory);
break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
Modified: branches/soc-2008-tagging/app/widgets/gimpeditor.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimpeditor.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimpeditor.c Sat Aug 2 19:50:36 2008
@@ -246,23 +246,29 @@
switch (property_id)
{
case PROP_MENU_FACTORY:
- editor->menu_factory = (GimpMenuFactory *) g_value_dup_object (value);
+ editor->menu_factory = g_value_dup_object (value);
break;
+
case PROP_MENU_IDENTIFIER:
editor->menu_identifier = g_value_dup_string (value);
break;
+
case PROP_UI_PATH:
editor->ui_path = g_value_dup_string (value);
break;
+
case PROP_POPUP_DATA:
editor->popup_data = g_value_get_pointer (value);
break;
+
case PROP_SHOW_NAME:
g_object_set_property (G_OBJECT (editor->name_label), "visible", value);
break;
+
case PROP_NAME:
gimp_editor_set_name (editor, g_value_get_string (value));
break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@@ -282,18 +288,23 @@
case PROP_MENU_FACTORY:
g_value_set_object (value, editor->menu_factory);
break;
+
case PROP_MENU_IDENTIFIER:
g_value_set_string (value, editor->menu_identifier);
break;
+
case PROP_UI_PATH:
g_value_set_string (value, editor->ui_path);
break;
+
case PROP_POPUP_DATA:
g_value_set_pointer (value, editor->popup_data);
break;
+
case PROP_SHOW_NAME:
g_object_get_property (G_OBJECT (editor->name_label), "visible", value);
break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
Modified: branches/soc-2008-tagging/app/widgets/gimpgrideditor.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimpgrideditor.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimpgrideditor.c Sat Aug 2 19:50:36 2008
@@ -126,17 +126,21 @@
switch (property_id)
{
case PROP_GRID:
- editor->grid = GIMP_GRID (g_value_dup_object (value));
+ editor->grid = g_value_dup_object (value);
break;
+
case PROP_CONTEXT:
- editor->context = GIMP_CONTEXT (g_value_dup_object (value));
+ editor->context = g_value_dup_object (value);
break;
+
case PROP_XRESOLUTION:
editor->xresolution = g_value_get_double (value);
break;
+
case PROP_YRESOLUTION:
editor->yresolution = g_value_get_double (value);
break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@@ -156,15 +160,19 @@
case PROP_GRID:
g_value_set_object (value, editor->grid);
break;
+
case PROP_CONTEXT:
g_value_set_object (value, editor->context);
break;
+
case PROP_XRESOLUTION:
g_value_set_double (value, editor->xresolution);
break;
+
case PROP_YRESOLUTION:
g_value_set_double (value, editor->yresolution);
break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
Modified: branches/soc-2008-tagging/app/widgets/gimphistogrameditor.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimphistogrameditor.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimphistogrameditor.c Sat Aug 2 19:50:36 2008
@@ -77,7 +77,7 @@
static void
-gimp_histogram_editor_class_init (GimpHistogramEditorClass* klass)
+gimp_histogram_editor_class_init (GimpHistogramEditorClass *klass)
{
GimpImageEditorClass *image_editor_class = GIMP_IMAGE_EDITOR_CLASS (klass);
@@ -365,6 +365,24 @@
gimp_histogram_editor_name_update (editor);
}
+static gboolean
+gimp_histogram_editor_validate (GimpHistogramEditor *editor)
+{
+ if (! editor->valid && editor->histogram)
+ {
+ if (editor->drawable)
+ gimp_drawable_calculate_histogram (editor->drawable, editor->histogram);
+ else
+ gimp_histogram_calculate (editor->histogram, NULL, NULL);
+
+ gimp_histogram_editor_info_update (editor);
+
+ editor->valid = TRUE;
+ }
+
+ return editor->valid;
+}
+
static void
gimp_histogram_editor_frozen_update (GimpHistogramEditor *editor,
const GParamSpec *pspec)
@@ -375,10 +393,8 @@
{
if (! editor->bg_histogram)
{
- editor->bg_histogram = gimp_histogram_new ();
-
- gimp_drawable_calculate_histogram (editor->drawable,
- editor->bg_histogram);
+ if (gimp_histogram_editor_validate (editor))
+ editor->bg_histogram = gimp_histogram_duplicate (editor->histogram);
gimp_histogram_view_set_background (view, editor->bg_histogram);
}
@@ -538,17 +554,7 @@
static gboolean
gimp_histogram_view_expose (GimpHistogramEditor *editor)
{
- if (! editor->valid && editor->histogram)
- {
- if (editor->drawable)
- gimp_drawable_calculate_histogram (editor->drawable, editor->histogram);
- else
- gimp_histogram_calculate (editor->histogram, NULL, NULL);
-
- editor->valid = TRUE;
-
- gimp_histogram_editor_info_update (editor);
- }
+ gimp_histogram_editor_validate (editor);
return FALSE;
}
Modified: branches/soc-2008-tagging/app/widgets/gimphistogramview.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimphistogramview.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimphistogramview.c Sat Aug 2 19:50:36 2008
@@ -632,7 +632,7 @@
if (view->bg_histogram != histogram)
{
if (view->bg_histogram)
- gimp_histogram_ref (view->bg_histogram);
+ gimp_histogram_unref (view->bg_histogram);
view->bg_histogram = histogram;
Modified: branches/soc-2008-tagging/app/widgets/gimppdbdialog.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimppdbdialog.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimppdbdialog.c Sat Aug 2 19:50:36 2008
@@ -242,11 +242,11 @@
switch (property_id)
{
case PROP_PDB:
- dialog->pdb = GIMP_PDB (g_value_dup_object (value));
+ dialog->pdb = g_value_dup_object (value);
break;
case PROP_CONTEXT:
- dialog->caller_context = GIMP_CONTEXT (g_value_dup_object (value));
+ dialog->caller_context = g_value_dup_object (value);
break;
case PROP_SELECT_TYPE:
@@ -265,7 +265,7 @@
break;
case PROP_MENU_FACTORY:
- dialog->menu_factory = (GimpMenuFactory *) g_value_dup_object (value);
+ dialog->menu_factory = g_value_dup_object (value);
break;
default:
Modified: branches/soc-2008-tagging/app/widgets/gimppluginaction.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimppluginaction.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimppluginaction.c Sat Aug 2 19:50:36 2008
@@ -150,7 +150,7 @@
case PROP_PROCEDURE:
if (action->procedure)
g_object_unref (action->procedure);
- action->procedure = GIMP_PLUG_IN_PROCEDURE (g_value_dup_object (value));
+ action->procedure = g_value_dup_object (value);
break;
default:
Modified: branches/soc-2008-tagging/app/widgets/gimpsessioninfo-aux.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimpsessioninfo-aux.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimpsessioninfo-aux.c Sat Aug 2 19:50:36 2008
@@ -100,6 +100,7 @@
}
g_value_unset (&value);
+ g_string_free (str, TRUE);
}
else
{
Modified: branches/soc-2008-tagging/app/widgets/gimpsessioninfo.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimpsessioninfo.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimpsessioninfo.c Sat Aug 2 19:50:36 2008
@@ -477,13 +477,21 @@
if (info->widget->window)
{
- gdk_window_get_root_origin (info->widget->window, &info->x, &info->y);
+ gint x, y;
+
+ gdk_window_get_root_origin (info->widget->window, &x, &y);
+
+ /* Don't write negative values to the sessionrc, they are
+ * interpreted as relative to the right, respective bottom edge
+ * of the screen.
+ */
+ info->x = MAX (0, x);
+ info->y = MAX (0, y);
if (! info->toplevel_entry || info->toplevel_entry->remember_size)
{
gdk_drawable_get_size (GDK_DRAWABLE (info->widget->window),
- &info->width,
- &info->height);
+ &info->width, &info->height);
}
else
{
Modified: branches/soc-2008-tagging/app/widgets/gimpstrokeeditor.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimpstrokeeditor.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimpstrokeeditor.c Sat Aug 2 19:50:36 2008
@@ -113,7 +113,7 @@
case PROP_OPTIONS:
if (editor->options)
g_object_unref (editor->options);
- editor->options = GIMP_STROKE_OPTIONS (g_value_dup_object (value));
+ editor->options = g_value_dup_object (value);
break;
case PROP_RESOLUTION:
Modified: branches/soc-2008-tagging/app/widgets/gimptemplateeditor.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimptemplateeditor.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimptemplateeditor.c Sat Aug 2 19:50:36 2008
@@ -437,8 +437,9 @@
switch (property_id)
{
case PROP_TEMPLATE:
- editor->template = GIMP_TEMPLATE (g_value_dup_object (value));
+ editor->template = g_value_dup_object (value);
break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@@ -458,6 +459,7 @@
case PROP_TEMPLATE:
g_value_set_object (value, editor->template);
break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
Modified: branches/soc-2008-tagging/app/widgets/gimpviewrendererimagefile.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimpviewrendererimagefile.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimpviewrendererimagefile.c Sat Aug 2 19:50:36 2008
@@ -169,18 +169,24 @@
{
GFile *file;
GFileInfo *file_info;
- GIcon *icon;
GtkIconInfo *info;
file = g_file_new_for_uri (gimp_object_get_name (GIMP_OBJECT (imagefile)));
file_info = g_file_query_info (file, "standard::icon", 0, NULL, NULL);
- icon = g_file_info_get_icon (file_info);
- info = gtk_icon_theme_lookup_by_gicon (icon_theme, icon, size, 0);
- pixbuf = gtk_icon_info_load_icon (info, NULL);
+ if (file_info)
+ {
+ GIcon *icon;
+
+ icon = g_file_info_get_icon (file_info);
+
+ info = gtk_icon_theme_lookup_by_gicon (icon_theme, icon, size, 0);
+ pixbuf = gtk_icon_info_load_icon (info, NULL);
+
+ g_object_unref (file_info);
+ }
g_object_unref (file);
- g_object_unref (file_info);
}
#endif
Modified: branches/soc-2008-tagging/app/widgets/gtkscalebutton.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gtkscalebutton.c (original)
+++ branches/soc-2008-tagging/app/widgets/gtkscalebutton.c Sat Aug 2 19:50:36 2008
@@ -1294,6 +1294,10 @@
* Scale stuff.
*/
+static GType gtk_scale_button_hscale_get_type (void) G_GNUC_CONST;
+static GType gtk_scale_button_vscale_get_type (void) G_GNUC_CONST;
+
+
#define GTK_TYPE_SCALE_BUTTON_VSCALE (gtk_scale_button_vscale_get_type ())
#define GTK_SCALE_BUTTON_VSCALE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SCALE_BUTTON_VSCALE, GtkScaleButtonVScale))
#define GTK_IS_SCALE_BUTTON_VSCALE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SCALE_BUTTON_VSCALE))
Modified: branches/soc-2008-tagging/configure.in
==============================================================================
--- branches/soc-2008-tagging/configure.in (original)
+++ branches/soc-2008-tagging/configure.in Sat Aug 2 19:50:36 2008
@@ -401,10 +401,10 @@
# Internationalisation
######################
-# Note to translators: you MUST have .po files in all 5 directories: po,
-# po-libgimp, po-plug-ins, po-python and po-script-fu before adding your
-# language code to ALL_LINGUAS.
-ALL_LINGUAS="ar bg ca ca valencia cs da de dz el en_CA en_GB eo es et eu fa fi fr ga gl gu he hu hr id is it ja km ko lt mk ms nb ne nl nn oc pa pl pt pt_BR ro ru rw sk sl sr sr Latn sv tr tt uk vi xh yi zh_CN zh_TW"
+# Note to translators: you MUST have .po files in all 6 directories:
+# po, po-libgimp, po-plug-ins, po-python, po-script-fu and po-tips
+# before adding your language code to ALL_LINGUAS.
+ALL_LINGUAS="ar be bg ca ca valencia cs da de dz el en_CA en_GB eo es et eu fa fi fr ga gl gu he hu hr id is it ja km ko lt mk ms nb ne nl nn oc pa pl pt pt_BR ro ru rw sk sl sr sr Latn sv tr tt uk vi xh yi zh_CN zh_TW"
IT_PROG_INTLTOOL(0.35.5)
AM_GLIB_GNU_GETTEXT
@@ -1319,8 +1319,6 @@
AM_CONDITIONAL(HAVE_GVFS, test "x$with_gvfs" != xno)
-gnome_vfs_modules="gnome-vfs-2.0 >= gnome_vfs_required_version"
-
AC_ARG_WITH(gnomevfs, [ --without-gnomevfs build without gnomevfs support])
have_gnomeui="no (disabled)"
@@ -1329,6 +1327,8 @@
if test "x$with_gnomevfs" != xno; then
+gnome_vfs_modules="gnome-vfs-2.0 >= gnome_vfs_required_version"
+
if $PKG_CONFIG --atleast-version=gnomeui_required_version libgnomeui-2.0; then
have_gnomeui=yes
gnome_vfs_modules="$gnome_vfs_modules libgnomeui-2.0"
@@ -1343,7 +1343,7 @@
have_gnome_keyring="no (gnome-keyring-1 not found)"
fi
-PKG_CHECK_MODULES(URI_GNOME_VFS, $gnome_vfs_modules,
+PKG_CHECK_MODULES(GNOME_VFS, $gnome_vfs_modules,
have_gnomevfs=yes,
have_gnomevfs="no (gnome-vfs-2.0 not found)")
@@ -1352,15 +1352,13 @@
AM_CONDITIONAL(HAVE_GNOMEVFS, test "x$have_gnomevfs" = xyes)
-libcurl_modules="libcurl >= libcurl_required_version"
-
AC_ARG_WITH(libcurl, [ --without-libcurl build without curl support])
have_libcurl="no (disabled)"
if test "x$with_libcurl" != xno; then
-PKG_CHECK_MODULES(URI_LIBCURL, $libcurl_modules,
+PKG_CHECK_MODULES(CURL, libcurl >= libcurl_required_version,
have_libcurl=yes,
have_libcurl="no (libcurl not found)")
Modified: branches/soc-2008-tagging/data/images/gimp-splash.png
==============================================================================
Binary files. No diff available.
Modified: branches/soc-2008-tagging/devel-docs/libgimp/libgimp-sections.txt
==============================================================================
--- branches/soc-2008-tagging/devel-docs/libgimp/libgimp-sections.txt (original)
+++ branches/soc-2008-tagging/devel-docs/libgimp/libgimp-sections.txt Sat Aug 2 19:50:36 2008
@@ -931,6 +931,7 @@
<FILE>gimpvectors</FILE>
gimp_vectors_new
gimp_vectors_new_from_text_layer
+gimp_vectors_copy
gimp_vectors_is_valid
gimp_vectors_get_strokes
gimp_vectors_get_image
Modified: branches/soc-2008-tagging/devel-docs/libgimp/tmpl/gimpvectors.sgml
==============================================================================
--- branches/soc-2008-tagging/devel-docs/libgimp/tmpl/gimpvectors.sgml (original)
+++ branches/soc-2008-tagging/devel-docs/libgimp/tmpl/gimpvectors.sgml Sat Aug 2 19:50:36 2008
@@ -37,6 +37,15 @@
@Returns:
+<!-- ##### FUNCTION gimp_vectors_copy ##### -->
+<para>
+
+</para>
+
+ vectors_ID:
+ Returns:
+
+
<!-- ##### FUNCTION gimp_vectors_is_valid ##### -->
<para>
Modified: branches/soc-2008-tagging/devel-docs/tools/widgets.c
==============================================================================
--- branches/soc-2008-tagging/devel-docs/tools/widgets.c (original)
+++ branches/soc-2008-tagging/devel-docs/tools/widgets.c Sat Aug 2 19:50:36 2008
@@ -168,7 +168,7 @@
gtk_box_pack_start (GTK_BOX (GIMP_BROWSER (browser)->left_vbox),
gtk_label_new ("TreeView goes here"), TRUE, TRUE, 0);
gtk_container_add (GTK_CONTAINER (align), browser);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Browser"), FALSE, FALSE, 0);
@@ -202,7 +202,7 @@
vbox = gtk_vbox_new (FALSE, 6);
align = gtk_alignment_new (0.5, 0.5, 0.0, 0.8);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
table = gtk_table_new (2, 5, FALSE);
gtk_table_set_row_spacings (GTK_TABLE (table), 6);
gtk_table_set_col_spacings (GTK_TABLE (table), 6);
@@ -231,7 +231,8 @@
gtk_table_attach (GTK_TABLE (table), chain, 4,5, 0,2,
GTK_SHRINK | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
- gtk_box_pack_end_defaults (GTK_BOX (vbox), gtk_label_new ("Chain Button"));
+ gtk_box_pack_end (GTK_BOX (vbox), gtk_label_new ("Chain Button"),
+ TRUE, TRUE, 0);
return new_widget_info ("gimp-chain-button", vbox, MEDIUM);
}
@@ -252,7 +253,7 @@
gimp_color_area_set_draw_border (GIMP_COLOR_AREA (area), TRUE);
gtk_widget_set_size_request (area, -1, 25);
gtk_container_add (GTK_CONTAINER (align), area);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Color Area"), FALSE, FALSE, 0);
@@ -275,7 +276,7 @@
80, 20, &color,
GIMP_COLOR_AREA_SMALL_CHECKS);
gtk_container_add (GTK_CONTAINER (align), button);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Color Button"), FALSE, FALSE, 0);
@@ -297,7 +298,7 @@
entry = gimp_color_hex_entry_new ();
gimp_color_hex_entry_set_color (GIMP_COLOR_HEX_ENTRY (entry), &color);
gtk_container_add (GTK_CONTAINER (align), entry);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Color Hex Entry"), FALSE, FALSE, 0);
@@ -318,7 +319,7 @@
NULL, "sRGB");
gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0);
gtk_container_add (GTK_CONTAINER (align), combo);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Color Profile Combo Box"),
FALSE, FALSE, 0);
@@ -345,7 +346,7 @@
gimp_color_scale_set_color (GIMP_COLOR_SCALE (scale), &rgb, &hsv);
gtk_range_set_value (GTK_RANGE (scale), 40);
gtk_container_add (GTK_CONTAINER (align), scale);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Color Scale"), FALSE, FALSE, 0);
@@ -369,7 +370,7 @@
gimp_color_selection_set_color (GIMP_COLOR_SELECTION (selection), &color);
gtk_widget_set_size_request (selection, 400, -1);
gtk_container_add (GTK_CONTAINER (align), selection);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Color Selection"), FALSE, FALSE, 0);
@@ -412,7 +413,7 @@
combo = gimp_enum_combo_box_new (GIMP_TYPE_CHANNEL_TYPE);
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo), GIMP_BLUE_CHANNEL);
gtk_container_add (GTK_CONTAINER (align), combo);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Enum Combo Box"), FALSE, FALSE, 0);
@@ -430,7 +431,7 @@
align = gtk_alignment_new (0.5, 0.5, 0.5, 0.0);
label = gimp_enum_label_new (GIMP_TYPE_IMAGE_BASE_TYPE, GIMP_RGB);
gtk_container_add (GTK_CONTAINER (align), label);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Enum Label"), FALSE, FALSE, 0);
@@ -450,7 +451,7 @@
"wilber.png",
FALSE, TRUE);
gtk_container_add (GTK_CONTAINER (align), entry);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("File Entry"), FALSE, FALSE, 0);
@@ -491,7 +492,7 @@
entry = gimp_number_pair_entry_new (":/", TRUE, 0.001, GIMP_MAX_IMAGE_SIZE);
gimp_number_pair_entry_set_values (GIMP_NUMBER_PAIR_ENTRY (entry), 4, 3);
gtk_container_add (GTK_CONTAINER (align), entry);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Number Pair Entry"), FALSE, FALSE, 0);
@@ -517,7 +518,7 @@
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo), 1);
gtk_container_add (GTK_CONTAINER (align), combo);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Int Combo Box"), FALSE, FALSE, 0);
@@ -536,7 +537,7 @@
entry = gimp_memsize_entry_new ((3 * 1024 + 512) * 1024,
0, 1024 * 1024 * 1024);
gtk_container_add (GTK_CONTAINER (align), entry);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Memsize Entry"), FALSE, FALSE, 0);
@@ -560,7 +561,7 @@
gimp_offset_area_set_size (GIMP_OFFSET_AREA (area), 180, 160);
gimp_offset_area_set_offsets (GIMP_OFFSET_AREA (area), 30, 30);
gtk_container_add (GTK_CONTAINER (frame), area);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Offset Area"), FALSE, FALSE, 0);
@@ -579,7 +580,7 @@
gimp_page_selector_set_n_pages (GIMP_PAGE_SELECTOR (selector), 16);
gimp_page_selector_select_range (GIMP_PAGE_SELECTOR (selector),
"1,3,7-9,12-15");
- gtk_box_pack_start_defaults (GTK_BOX (vbox), selector);
+ gtk_box_pack_start (GTK_BOX (vbox), selector, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Page Selector"), FALSE, FALSE, 0);
@@ -600,7 +601,7 @@
editor = gimp_path_editor_new ("Path Editor", path);
gtk_widget_set_size_request (editor, -1, 240);
gtk_container_add (GTK_CONTAINER (align), editor);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Path Editor"), FALSE, FALSE, 0);
@@ -621,7 +622,7 @@
align = gtk_alignment_new (0.5, 0.5, 0.5, 1.0);
button = gimp_pick_button_new ();
gtk_container_add (GTK_CONTAINER (align), button);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Pick Button"), FALSE, FALSE, 0);
@@ -664,7 +665,7 @@
gdk_pixbuf_get_width (pixbuf),
gdk_pixbuf_get_height (pixbuf));
g_object_unref (pixbuf);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Preview Area"), FALSE, FALSE, 0);
@@ -689,7 +690,7 @@
gimp_string_combo_box_set_active (GIMP_STRING_COMBO_BOX (combo), "Foo");
gtk_container_add (GTK_CONTAINER (align), combo);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("String Combo Box"), FALSE, FALSE, 0);
@@ -707,7 +708,7 @@
align = gtk_alignment_new (0.5, 0.5, 0.5, 0.0);
menu = gimp_unit_menu_new ("%p", GIMP_UNIT_MM, TRUE, FALSE, FALSE);
gtk_container_add (GTK_CONTAINER (align), menu);
- gtk_box_pack_start_defaults (GTK_BOX (vbox), align);
+ gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Unit Menu"), FALSE, FALSE, 0);
Modified: branches/soc-2008-tagging/libgimp/gimp.def
==============================================================================
--- branches/soc-2008-tagging/libgimp/gimp.def (original)
+++ branches/soc-2008-tagging/libgimp/gimp.def Sat Aug 2 19:50:36 2008
@@ -657,6 +657,7 @@
gimp_vectors_bezier_stroke_lineto
gimp_vectors_bezier_stroke_new_ellipse
gimp_vectors_bezier_stroke_new_moveto
+ gimp_vectors_copy
gimp_vectors_export_to_file
gimp_vectors_export_to_string
gimp_vectors_get_image
Modified: branches/soc-2008-tagging/libgimp/gimpvectors_pdb.c
==============================================================================
--- branches/soc-2008-tagging/libgimp/gimpvectors_pdb.c (original)
+++ branches/soc-2008-tagging/libgimp/gimpvectors_pdb.c Sat Aug 2 19:50:36 2008
@@ -133,6 +133,39 @@
}
/**
+ * gimp_vectors_copy:
+ * @vectors_ID: The vectors object to copy.
+ *
+ * Copy a vectors object.
+ *
+ * This procedure copies the specified vectors object and returns the
+ * copy.
+ *
+ * Returns: The newly copied vectors object.
+ *
+ * Since: GIMP 2.6
+ */
+gint32
+gimp_vectors_copy (gint32 vectors_ID)
+{
+ GimpParam *return_vals;
+ gint nreturn_vals;
+ gint32 vectors_copy_ID = -1;
+
+ return_vals = gimp_run_procedure ("gimp-vectors-copy",
+ &nreturn_vals,
+ GIMP_PDB_VECTORS, vectors_ID,
+ GIMP_PDB_END);
+
+ if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS)
+ vectors_copy_ID = return_vals[1].data.d_vectors;
+
+ gimp_destroy_params (return_vals, nreturn_vals);
+
+ return vectors_copy_ID;
+}
+
+/**
* gimp_vectors_get_image:
* @vectors_ID: The vectors object.
*
Modified: branches/soc-2008-tagging/libgimp/gimpvectors_pdb.h
==============================================================================
--- branches/soc-2008-tagging/libgimp/gimpvectors_pdb.h (original)
+++ branches/soc-2008-tagging/libgimp/gimpvectors_pdb.h Sat Aug 2 19:50:36 2008
@@ -34,6 +34,7 @@
const gchar *name);
gint32 gimp_vectors_new_from_text_layer (gint32 image_ID,
gint32 layer_ID);
+gint32 gimp_vectors_copy (gint32 vectors_ID);
gint32 gimp_vectors_get_image (gint32 vectors_ID);
gchar* gimp_vectors_get_name (gint32 vectors_ID);
gboolean gimp_vectors_set_name (gint32 vectors_ID,
Modified: branches/soc-2008-tagging/libgimpwidgets/gimpcolorprofilecombobox.c
==============================================================================
--- branches/soc-2008-tagging/libgimpwidgets/gimpcolorprofilecombobox.c (original)
+++ branches/soc-2008-tagging/libgimpwidgets/gimpcolorprofilecombobox.c Sat Aug 2 19:50:36 2008
@@ -169,7 +169,7 @@
{
case PROP_DIALOG:
g_return_if_fail (combo_box->dialog == NULL);
- combo_box->dialog = (GtkWidget *) g_value_dup_object (value);
+ combo_box->dialog = g_value_dup_object (value);
break;
case PROP_MODEL:
Modified: branches/soc-2008-tagging/plug-ins/common/Makefile.am
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/Makefile.am (original)
+++ branches/soc-2008-tagging/plug-ins/common/Makefile.am Sat Aug 2 19:50:36 2008
@@ -138,7 +138,6 @@
$(POPPLER) \
postscript \
procedure-browser \
- psd-save \
$(PSP) \
qbist \
raw \
@@ -1808,22 +1807,6 @@
$(RT_LIBS) \
$(INTLLIBS)
-psd_save_SOURCES = \
- psd-save.c
-
-psd_save_LDADD = \
- $(libgimpui) \
- $(libgimpwidgets) \
- $(libgimpmodule) \
- $(libgimp) \
- $(libgimpmath) \
- $(libgimpconfig) \
- $(libgimpcolor) \
- $(libgimpbase) \
- $(GTK_LIBS) \
- $(RT_LIBS) \
- $(INTLLIBS)
-
psp_SOURCES = \
psp.c
Modified: branches/soc-2008-tagging/plug-ins/common/alien-map.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/alien-map.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/alien-map.c Sat Aug 2 19:50:36 2008
@@ -412,8 +412,9 @@
gtk_widget_show (main_vbox);
preview = gimp_zoom_preview_new (drawable);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (dialog_update_preview),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/blinds.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/blinds.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/blinds.c Sat Aug 2 19:50:36 2008
@@ -245,8 +245,9 @@
gtk_widget_show (main_vbox);
preview = gimp_aspect_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (dialog_update_preview),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/channel-mixer.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/channel-mixer.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/channel-mixer.c Sat Aug 2 19:50:36 2008
@@ -511,8 +511,9 @@
gtk_widget_show (main_vbox);
preview = gimp_zoom_preview_new (drawable);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (cm_preview),
mix);
Modified: branches/soc-2008-tagging/plug-ins/common/color-exchange.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/color-exchange.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/color-exchange.c Sat Aug 2 19:50:36 2008
@@ -307,7 +307,7 @@
gtk_widget_show (main_vbox);
frame = gimp_frame_new (_("Middle-Click Inside Preview to Pick \"From Color\""));
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), frame);
+ gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0);
gtk_widget_show (frame);
preview = gimp_drawable_preview_new (drawable, NULL);
Modified: branches/soc-2008-tagging/plug-ins/common/color-to-alpha.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/color-to-alpha.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/color-to-alpha.c Sat Aug 2 19:50:36 2008
@@ -396,8 +396,9 @@
gtk_widget_show (main_vbox);
preview = gimp_drawable_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect (preview, "invalidated",
G_CALLBACK (color_to_alpha_preview),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/contrast-retinex.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/contrast-retinex.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/contrast-retinex.c Sat Aug 2 19:50:36 2008
@@ -305,7 +305,7 @@
gtk_widget_show (main_vbox);
preview = gimp_zoom_preview_new (drawable);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
g_signal_connect_swapped (preview, "invalidated",
Modified: branches/soc-2008-tagging/plug-ins/common/convolution-matrix.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/convolution-matrix.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/convolution-matrix.c Sat Aug 2 19:50:36 2008
@@ -927,8 +927,9 @@
gtk_widget_show (main_vbox);
preview = gimp_drawable_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (convolve_image),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/cubism.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/cubism.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/cubism.c Sat Aug 2 19:50:36 2008
@@ -287,8 +287,9 @@
gtk_widget_show (main_vbox);
preview = gimp_drawable_preview_new (drawable, &cvals.preview);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (cubism),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/deinterlace.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/deinterlace.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/deinterlace.c Sat Aug 2 19:50:36 2008
@@ -344,7 +344,7 @@
gtk_widget_show (main_vbox);
preview = gimp_drawable_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (deinterlace),
Modified: branches/soc-2008-tagging/plug-ins/common/destripe.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/destripe.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/destripe.c Sat Aug 2 19:50:36 2008
@@ -457,8 +457,9 @@
gtk_widget_show (main_vbox);
preview = gimp_drawable_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (destripe),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/edge-dog.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/edge-dog.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/edge-dog.c Sat Aug 2 19:50:36 2008
@@ -297,8 +297,9 @@
gtk_widget_show (main_vbox);
preview = gimp_drawable_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, FALSE, FALSE, 0);
gtk_widget_show (preview);
+
g_signal_connect (preview, "invalidated",
G_CALLBACK (preview_update_preview),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/edge.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/edge.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/edge.c Sat Aug 2 19:50:36 2008
@@ -652,8 +652,9 @@
gtk_widget_show (main_vbox);
preview = gimp_drawable_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect (preview, "invalidated",
G_CALLBACK (edge_preview_update),
NULL);
Modified: branches/soc-2008-tagging/plug-ins/common/emboss.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/emboss.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/emboss.c Sat Aug 2 19:50:36 2008
@@ -465,7 +465,7 @@
gtk_widget_show (main_vbox);
preview = gimp_drawable_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (emboss),
Modified: branches/soc-2008-tagging/plug-ins/common/engrave.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/engrave.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/engrave.c Sat Aug 2 19:50:36 2008
@@ -228,8 +228,9 @@
gtk_widget_show (main_vbox);
preview = gimp_drawable_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (engrave),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/filter-pack.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/filter-pack.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/filter-pack.c Sat Aug 2 19:50:36 2008
@@ -1333,7 +1333,7 @@
gtk_widget_show (inner_vbox);
alignment = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
- gtk_box_pack_start_defaults (GTK_BOX (inner_vbox), alignment);
+ gtk_box_pack_start (GTK_BOX (inner_vbox), alignment, TRUE, TRUE, 0);
gtk_widget_show (alignment);
innermost_vbox = gtk_vbox_new (FALSE, 0);
Modified: branches/soc-2008-tagging/plug-ins/common/gif-save.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/gif-save.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/gif-save.c Sat Aug 2 19:50:36 2008
@@ -1051,7 +1051,7 @@
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
- gtk_box_pack_start_defaults (GTK_BOX (hbox), scrolled_window);
+ gtk_box_pack_start (GTK_BOX (hbox), scrolled_window, TRUE, TRUE, 0);
gtk_widget_show (scrolled_window);
text_buffer = gtk_text_buffer_new (NULL);
Modified: branches/soc-2008-tagging/plug-ins/common/illusion.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/illusion.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/illusion.c Sat Aug 2 19:50:36 2008
@@ -369,7 +369,7 @@
gtk_widget_show (main_vbox);
preview = gimp_zoom_preview_new (drawable);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
g_signal_connect (preview, "invalidated",
Modified: branches/soc-2008-tagging/plug-ins/common/jigsaw.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/jigsaw.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/jigsaw.c Sat Aug 2 19:50:36 2008
@@ -2435,8 +2435,9 @@
gtk_widget_show (main_vbox);
preview = gimp_aspect_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (jigsaw),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/lens-apply.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/lens-apply.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/lens-apply.c Sat Aug 2 19:50:36 2008
@@ -412,8 +412,9 @@
gtk_widget_show (main_vbox);
preview = gimp_aspect_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (drawlens),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/lens-distortion.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/lens-distortion.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/lens-distortion.c Sat Aug 2 19:50:36 2008
@@ -504,8 +504,9 @@
gtk_widget_show (main_vbox);
preview = gimp_zoom_preview_new (drawable);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (lens_distort_preview),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/max-rgb.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/max-rgb.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/max-rgb.c Sat Aug 2 19:50:36 2008
@@ -278,8 +278,9 @@
gtk_widget_show (main_vbox);
preview = gimp_zoom_preview_new (drawable);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (main_function),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/newsprint.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/newsprint.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/newsprint.c Sat Aug 2 19:50:36 2008
@@ -1216,8 +1216,9 @@
gtk_widget_show (vbox);
preview = gimp_drawable_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (hbox), preview);
+ gtk_box_pack_start (GTK_BOX (hbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (newsprint),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/nl-filter.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/nl-filter.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/nl-filter.c Sat Aug 2 19:50:36 2008
@@ -1034,8 +1034,9 @@
gtk_widget_show (main_vbox);
preview = gimp_drawable_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (nlfilter),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/noise-hsv.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/noise-hsv.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/noise-hsv.c Sat Aug 2 19:50:36 2008
@@ -380,7 +380,7 @@
gtk_widget_show (main_vbox);
preview = gimp_drawable_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
g_signal_connect (preview, "invalidated",
Modified: branches/soc-2008-tagging/plug-ins/common/noise-solid.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/noise-solid.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/noise-solid.c Sat Aug 2 19:50:36 2008
@@ -582,8 +582,9 @@
gtk_widget_show (main_vbox);
preview = gimp_aspect_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (solid_noise),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/pixelize.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/pixelize.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/pixelize.c Sat Aug 2 19:50:36 2008
@@ -333,7 +333,7 @@
gtk_widget_show (main_vbox);
preview = gimp_drawable_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (pixelize),
Modified: branches/soc-2008-tagging/plug-ins/common/plasma.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/plasma.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/plasma.c Sat Aug 2 19:50:36 2008
@@ -319,8 +319,9 @@
gtk_widget_show (main_vbox);
preview = gimp_aspect_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (plasma_seed_changed_callback),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/plugin-defs.pl
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/plugin-defs.pl (original)
+++ branches/soc-2008-tagging/plug-ins/common/plugin-defs.pl Sat Aug 2 19:50:36 2008
@@ -101,7 +101,6 @@
'poppler' => { ui => 1, optional => 1, cflags => 1 },
'postscript' => { ui => 1 },
'procedure-browser' => { ui => 1 },
- 'psd-save' => { ui => 1 },
'psp' => { ui => 1, optional => 1, libopt => 'z' },
'qbist' => { ui => 1 },
'raw' => { ui => 1 },
Modified: branches/soc-2008-tagging/plug-ins/common/polar-coords.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/polar-coords.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/polar-coords.c Sat Aug 2 19:50:36 2008
@@ -612,8 +612,9 @@
/* Preview */
preview = gimp_zoom_preview_new (drawable);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (dialog_update_preview),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/ripple.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/ripple.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/ripple.c Sat Aug 2 19:50:36 2008
@@ -488,8 +488,9 @@
gtk_widget_show (main_vbox);
preview = gimp_drawable_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (ripple),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/shift.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/shift.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/shift.c Sat Aug 2 19:50:36 2008
@@ -374,10 +374,12 @@
gtk_widget_show (main_vbox);
preview = gimp_drawable_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
- G_CALLBACK (shift), drawable);
+ G_CALLBACK (shift),
+ drawable);
frame = gimp_int_radio_group_new (FALSE, NULL,
G_CALLBACK (gimp_radio_button_update),
Modified: branches/soc-2008-tagging/plug-ins/common/sparkle.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/sparkle.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/sparkle.c Sat Aug 2 19:50:36 2008
@@ -356,7 +356,7 @@
gtk_widget_show (main_vbox);
preview = gimp_drawable_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (sparkle),
Modified: branches/soc-2008-tagging/plug-ins/common/tile-glass.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/tile-glass.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/tile-glass.c Sat Aug 2 19:50:36 2008
@@ -269,8 +269,9 @@
gtk_widget_show (main_vbox);
preview = gimp_drawable_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (glasstile),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/value-propagate.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/value-propagate.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/value-propagate.c Sat Aug 2 19:50:36 2008
@@ -1082,8 +1082,9 @@
gtk_widget_show (main_vbox);
preview = gimp_drawable_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (value_propagate_body),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/waves.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/waves.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/waves.c Sat Aug 2 19:50:36 2008
@@ -267,8 +267,9 @@
gtk_widget_show (main_vbox);
preview = gimp_zoom_preview_new (drawable);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (waves_preview),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/whirl-pinch.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/whirl-pinch.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/whirl-pinch.c Sat Aug 2 19:50:36 2008
@@ -547,8 +547,9 @@
gtk_widget_show (main_vbox);
preview = gimp_zoom_preview_new (drawable);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
G_CALLBACK (dialog_update_preview),
drawable);
Modified: branches/soc-2008-tagging/plug-ins/common/wind.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/common/wind.c (original)
+++ branches/soc-2008-tagging/plug-ins/common/wind.c Sat Aug 2 19:50:36 2008
@@ -898,10 +898,12 @@
gtk_widget_show (main_vbox);
preview = gimp_drawable_preview_new (drawable, NULL);
- gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
+ gtk_box_pack_start (GTK_BOX (main_vbox), preview, TRUE, TRUE, 0);
gtk_widget_show (preview);
+
g_signal_connect_swapped (preview, "invalidated",
- G_CALLBACK (render_effect), drawable);
+ G_CALLBACK (render_effect),
+ drawable);
/*****************************************************
outer frame and table
Modified: branches/soc-2008-tagging/plug-ins/help-browser/dialog.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/help-browser/dialog.c (original)
+++ branches/soc-2008-tagging/plug-ins/help-browser/dialog.c Sat Aug 2 19:50:36 2008
@@ -876,20 +876,23 @@
for (list = items; list; list = g_list_next (list))
{
WebKitWebHistoryItem *item = list->data;
- GtkWidget *menu_item;
const gchar *title;
title = webkit_web_history_item_get_title (item);
- menu_item = gtk_menu_item_new_with_label (title);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
- gtk_widget_show (menu_item);
+ if (title)
+ {
+ GtkWidget *menu_item = gtk_menu_item_new_with_label (title);
+
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
+ gtk_widget_show (menu_item);
+
+ g_signal_connect_object (menu_item, "activate",
+ G_CALLBACK (menu_callback),
+ item, 0);
- g_signal_connect_object (menu_item, "activate",
- G_CALLBACK (menu_callback),
- item, 0);
-
- g_object_unref (item);
+ g_object_unref (item);
+ }
}
g_list_free (items);
Modified: branches/soc-2008-tagging/plug-ins/help/gimphelplocale.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/help/gimphelplocale.c (original)
+++ branches/soc-2008-tagging/plug-ins/help/gimphelplocale.c Sat Aug 2 19:50:36 2008
@@ -194,7 +194,7 @@
}
#ifdef GIMP_HELP_DEBUG
- g_printerr ("help (%s): parsing '%s' for locale \"%s\"\n",
+ g_printerr ("help (%s): parsing '%s' for \"%s\"\n",
locale->locale_id, uri, help_domain);
#endif
@@ -219,8 +219,8 @@
cancellable, error);
if (! info)
{
- locale_set_error (error, _("Could not open '%s' for reading: %s"),
- file);
+ locale_set_error (error,
+ _("Could not open '%s' for reading: %s"), file);
g_object_unref (file);
return FALSE;
@@ -235,7 +235,8 @@
if (! stream)
{
- locale_set_error (error, _("Could not open '%s' for reading: %s"), file);
+ locale_set_error (error,
+ _("Could not open '%s' for reading: %s"), file);
g_object_unref (file);
return FALSE;
Modified: branches/soc-2008-tagging/plug-ins/psd/Makefile.am
==============================================================================
--- branches/soc-2008-tagging/plug-ins/psd/Makefile.am (original)
+++ branches/soc-2008-tagging/plug-ins/psd/Makefile.am Sat Aug 2 19:50:36 2008
@@ -16,9 +16,11 @@
libexecdir = $(gimpplugindir)/plug-ins
-libexec_PROGRAMS = psd
+libexec_PROGRAMS = \
+ psd-load \
+ psd-save
-psd_SOURCES = \
+psd_load_SOURCES = \
psd.c \
psd.h \
psd-util.c \
@@ -32,6 +34,9 @@
psd-layer-res-load.c \
psd-layer-res-load.h
+psd_save_SOURCES = \
+ psd-save.c
+
EXTRA_DIST = \
TODO.txt \
new-resource-ids.txt
Modified: branches/soc-2008-tagging/plug-ins/uri/Makefile.am
==============================================================================
--- branches/soc-2008-tagging/plug-ins/uri/Makefile.am (original)
+++ branches/soc-2008-tagging/plug-ins/uri/Makefile.am Sat Aug 2 19:50:36 2008
@@ -25,13 +25,13 @@
else
if HAVE_GNOMEVFS
backend_sources = uri-backend-gnomevfs.c
-backend_cflags = $(URI_GNOME_VFS_CFLAGS)
-backend_libs = $(URI_GNOME_VFS_LIBS)
+backend_cflags = $(GNOME_VFS_CFLAGS)
+backend_libs = $(GNOME_VFS_LIBS)
else
if HAVE_LIBCURL
backend_sources = uri-backend-libcurl.c
-backend_cflags = $(URI_LIBCURL_CFLAGS)
-backend_libs = $(URI_LIBCURL_LIBS)
+backend_cflags = $(CURL_CFLAGS)
+backend_libs = $(CURL_LIBS)
else
backend_sources = uri-backend-wget.c
backend_cflags =
Modified: branches/soc-2008-tagging/plug-ins/uri/uri-backend-gvfs.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/uri/uri-backend-gvfs.c (original)
+++ branches/soc-2008-tagging/plug-ins/uri/uri-backend-gvfs.c Sat Aug 2 19:50:36 2008
@@ -199,9 +199,11 @@
case DOWNLOAD:
format = _("Downloading image (%s of %s)");
break;
+
case UPLOAD:
format = _("Uploading image (%s of %s)");
break;
+
default:
g_assert_not_reached ();
}
@@ -223,9 +225,11 @@
case DOWNLOAD:
format = _("Downloaded %s of image data");
break;
+
case UPLOAD:
format = _("Uploaded %s of image data");
break;
+
default:
g_assert_not_reached ();
}
Modified: branches/soc-2008-tagging/plug-ins/uri/uri-backend-libcurl.c
==============================================================================
--- branches/soc-2008-tagging/plug-ins/uri/uri-backend-libcurl.c (original)
+++ branches/soc-2008-tagging/plug-ins/uri/uri-backend-libcurl.c Sat Aug 2 19:50:36 2008
@@ -21,12 +21,12 @@
#include "config.h"
-#include <stdio.h>
-
#include <curl/curl.h>
#include <curl/types.h>
#include <curl/easy.h>
+#include <glib/gstdio.h>
+
#include <libgimp/gimp.h>
#include <libgimp/gimpui.h>
@@ -154,7 +154,7 @@
gimp_progress_init (_("Connecting to server"));
- if ((out_file = fopen(tmpname, "wb")) == NULL)
+ if ((out_file = g_fopen (tmpname, "wb")) == NULL)
{
g_set_error (error, 0, 0,
_("Could not open output file for writing"));
Modified: branches/soc-2008-tagging/po-plug-ins/POTFILES.in
==============================================================================
--- branches/soc-2008-tagging/po-plug-ins/POTFILES.in (original)
+++ branches/soc-2008-tagging/po-plug-ins/POTFILES.in Sat Aug 2 19:50:36 2008
@@ -111,7 +111,6 @@
plug-ins/common/poppler.c
plug-ins/common/postscript.c
plug-ins/common/procedure-browser.c
-plug-ins/common/psd-save.c
plug-ins/common/psp.c
plug-ins/common/qbist.c
plug-ins/common/raw.c
@@ -263,6 +262,7 @@
plug-ins/print/print.c
plug-ins/psd/psd-image-res-load.c
plug-ins/psd/psd-load.c
+plug-ins/psd/psd-save.c
plug-ins/psd/psd-thumb-load.c
plug-ins/psd/psd-util.c
plug-ins/psd/psd.c
Modified: branches/soc-2008-tagging/tools/pdbgen/pdb/edit.pdb
==============================================================================
--- branches/soc-2008-tagging/tools/pdbgen/pdb/edit.pdb (original)
+++ branches/soc-2008-tagging/tools/pdbgen/pdb/edit.pdb Sat Aug 2 19:50:36 2008
@@ -871,7 +871,8 @@
headers => [ qw("core/gimpstrokedesc.h") ],
code => <<'CODE'
{
- if (gimp_pdb_item_is_attached (GIMP_ITEM (drawable), error))
+ if (gimp_pdb_item_is_attached (GIMP_ITEM (drawable), error) &&
+ gimp_pdb_item_is_attached (GIMP_ITEM (vectors), error))
{
GimpStrokeDesc *desc = gimp_stroke_desc_new (gimp, context);
Modified: branches/soc-2008-tagging/tools/pdbgen/pdb/vectors.pdb
==============================================================================
--- branches/soc-2008-tagging/tools/pdbgen/pdb/vectors.pdb (original)
+++ branches/soc-2008-tagging/tools/pdbgen/pdb/vectors.pdb Sat Aug 2 19:50:36 2008
@@ -122,6 +122,41 @@
);
}
+sub vectors_copy {
+ $blurb = 'Copy a vectors object.';
+
+ $help = <<'HELP';
+This procedure copies the specified vectors object and returns the copy.
+HELP
+
+ $author = 'Barak Itkin <lightningismyname gmail com>';
+ $copyright = 'Barak Itkin';
+ $date = '2008';
+ $since = '2.6';
+
+ @inargs = (
+ { name => 'vectors', type => 'vectors',
+ desc => 'The vectors object to copy' }
+ );
+
+ @outargs = (
+ { name => 'vectors_copy', type => 'vectors',
+ desc => 'The newly copied vectors object' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ vectors_copy = GIMP_VECTORS (gimp_item_duplicate (GIMP_ITEM (vectors),
+ G_TYPE_FROM_INSTANCE (vectors)));
+
+ if (! vectors_copy)
+ success = FALSE;
+}
+CODE
+ );
+}
+
sub vectors_get_image {
$blurb = 'Returns the vectors objects image.';
$help = 'Returns the vectors objects image.';
@@ -1404,6 +1439,7 @@
@procs = qw(vectors_is_valid
vectors_new
vectors_new_from_text_layer
+ vectors_copy
vectors_get_image
vectors_get_name vectors_set_name
vectors_get_visible vectors_set_visible
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]