summaryrefslogtreecommitdiffstats
path: root/app/pdb/text-layer-cmds.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 16:23:22 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 16:23:22 +0000
commite42129241681dde7adae7d20697e7b421682fbb4 (patch)
treeaf1fe815a5e639e68e59fabd8395ec69458b3e5e /app/pdb/text-layer-cmds.c
parentInitial commit. (diff)
downloadgimp-e42129241681dde7adae7d20697e7b421682fbb4.tar.xz
gimp-e42129241681dde7adae7d20697e7b421682fbb4.zip
Adding upstream version 2.10.22.upstream/2.10.22upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--app/pdb/text-layer-cmds.c2196
1 files changed, 2196 insertions, 0 deletions
diff --git a/app/pdb/text-layer-cmds.c b/app/pdb/text-layer-cmds.c
new file mode 100644
index 0000000..5e7d91d
--- /dev/null
+++ b/app/pdb/text-layer-cmds.c
@@ -0,0 +1,2196 @@
+/* GIMP - The GNU Image Manipulation Program
+ * Copyright (C) 1995-2003 Spencer Kimball and Peter Mattis
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+/* NOTE: This file is auto-generated by pdbgen.pl. */
+
+#include "config.h"
+
+#include <cairo.h>
+
+#include <gegl.h>
+
+#include <gdk-pixbuf/gdk-pixbuf.h>
+
+#include "libgimpbase/gimpbase.h"
+#include "libgimpcolor/gimpcolor.h"
+
+#include "libgimpbase/gimpbase.h"
+
+#include "pdb-types.h"
+
+#include "core/gimpcontext.h"
+#include "core/gimpimage.h"
+#include "core/gimplayer.h"
+#include "core/gimpparamspecs.h"
+#include "text/gimptext.h"
+#include "text/gimptextlayer.h"
+
+#include "gimppdb.h"
+#include "gimppdberror.h"
+#include "gimppdb-utils.h"
+#include "gimpprocedure.h"
+#include "internal-procs.h"
+
+#include "gimp-intl.h"
+
+
+static GimpValueArray *
+text_layer_new_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpValueArray *return_vals;
+ GimpImage *image;
+ const gchar *text;
+ const gchar *fontname;
+ gdouble size;
+ GimpUnit unit;
+ GimpLayer *layer = NULL;
+
+ image = gimp_value_get_image (gimp_value_array_index (args, 0), gimp);
+ text = g_value_get_string (gimp_value_array_index (args, 1));
+ fontname = g_value_get_string (gimp_value_array_index (args, 2));
+ size = g_value_get_double (gimp_value_array_index (args, 3));
+ unit = g_value_get_int (gimp_value_array_index (args, 4));
+
+ if (success)
+ {
+ GimpText *gimp_text;
+ GimpRGB color;
+
+ gimp_context_get_foreground (context, &color);
+
+ gimp_text = g_object_new (GIMP_TYPE_TEXT,
+ "text", text,
+ "font", fontname,
+ "font-size", size,
+ "font-size-unit", unit,
+ "color", &color,
+ NULL);
+
+ layer = gimp_text_layer_new (image, gimp_text);
+ g_object_unref (gimp_text);
+
+ if (! layer)
+ {
+ g_set_error (error, GIMP_PDB_ERROR, GIMP_PDB_ERROR_INVALID_ARGUMENT,
+ _("Failed to create text layer"));
+
+ success = FALSE;
+ }
+ }
+
+ return_vals = gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+
+ if (success)
+ gimp_value_set_layer (gimp_value_array_index (return_vals, 1), layer);
+
+ return return_vals;
+}
+
+static GimpValueArray *
+text_layer_get_text_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpValueArray *return_vals;
+ GimpLayer *layer;
+ gchar *text = NULL;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, 0, error))
+ {
+ g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
+ "text", &text,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return_vals = gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+
+ if (success)
+ g_value_take_string (gimp_value_array_index (return_vals, 1), text);
+
+ return return_vals;
+}
+
+static GimpValueArray *
+text_layer_set_text_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpLayer *layer;
+ const gchar *text;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+ text = g_value_get_string (gimp_value_array_index (args, 1));
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, GIMP_PDB_ITEM_CONTENT, error))
+ {
+ gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
+ _("Set text layer attribute"),
+ "text", text,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+}
+
+static GimpValueArray *
+text_layer_get_markup_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpValueArray *return_vals;
+ GimpLayer *layer;
+ gchar *markup = NULL;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, 0, error))
+ {
+ g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
+ "markup", &markup,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return_vals = gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+
+ if (success)
+ g_value_take_string (gimp_value_array_index (return_vals, 1), markup);
+
+ return return_vals;
+}
+
+static GimpValueArray *
+text_layer_get_font_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpValueArray *return_vals;
+ GimpLayer *layer;
+ gchar *font = NULL;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, 0, error))
+ {
+ g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
+ "font", &font,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return_vals = gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+
+ if (success)
+ g_value_take_string (gimp_value_array_index (return_vals, 1), font);
+
+ return return_vals;
+}
+
+static GimpValueArray *
+text_layer_set_font_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpLayer *layer;
+ const gchar *font;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+ font = g_value_get_string (gimp_value_array_index (args, 1));
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, GIMP_PDB_ITEM_CONTENT, error))
+ {
+ gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
+ _("Set text layer attribute"),
+ "font", font,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+}
+
+static GimpValueArray *
+text_layer_get_font_size_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpValueArray *return_vals;
+ GimpLayer *layer;
+ gdouble font_size = 0.0;
+ GimpUnit unit = 0;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, 0, error))
+ {
+ g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
+ "font-size", &font_size,
+ "font-size-unit", &unit,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return_vals = gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+
+ if (success)
+ {
+ g_value_set_double (gimp_value_array_index (return_vals, 1), font_size);
+ g_value_set_int (gimp_value_array_index (return_vals, 2), unit);
+ }
+
+ return return_vals;
+}
+
+static GimpValueArray *
+text_layer_set_font_size_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpLayer *layer;
+ gdouble font_size;
+ GimpUnit unit;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+ font_size = g_value_get_double (gimp_value_array_index (args, 1));
+ unit = g_value_get_int (gimp_value_array_index (args, 2));
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, GIMP_PDB_ITEM_CONTENT, error))
+ {
+ gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
+ _("Set text layer attribute"),
+ "font-size-unit", unit,
+ "font-size", font_size,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+}
+
+static GimpValueArray *
+text_layer_get_antialias_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpValueArray *return_vals;
+ GimpLayer *layer;
+ gboolean antialias = FALSE;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, 0, error))
+ {
+ g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
+ "antialias", &antialias,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return_vals = gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+
+ if (success)
+ g_value_set_boolean (gimp_value_array_index (return_vals, 1), antialias);
+
+ return return_vals;
+}
+
+static GimpValueArray *
+text_layer_set_antialias_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpLayer *layer;
+ gboolean antialias;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+ antialias = g_value_get_boolean (gimp_value_array_index (args, 1));
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, GIMP_PDB_ITEM_CONTENT, error))
+ {
+ gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
+ _("Set text layer attribute"),
+ "antialias", antialias,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+}
+
+static GimpValueArray *
+text_layer_get_hint_style_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpValueArray *return_vals;
+ GimpLayer *layer;
+ gint32 style = 0;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, 0, error))
+ {
+ g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
+ "hint-style", &style,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return_vals = gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+
+ if (success)
+ g_value_set_enum (gimp_value_array_index (return_vals, 1), style);
+
+ return return_vals;
+}
+
+static GimpValueArray *
+text_layer_set_hint_style_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpLayer *layer;
+ gint32 style;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+ style = g_value_get_enum (gimp_value_array_index (args, 1));
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, GIMP_PDB_ITEM_CONTENT, error))
+ {
+ gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
+ _("Set text layer attribute"),
+ "hint-style", style,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+}
+
+static GimpValueArray *
+text_layer_get_kerning_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpValueArray *return_vals;
+ GimpLayer *layer;
+ gboolean kerning = FALSE;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, 0, error))
+ {
+ g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
+ "kerning", &kerning,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return_vals = gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+
+ if (success)
+ g_value_set_boolean (gimp_value_array_index (return_vals, 1), kerning);
+
+ return return_vals;
+}
+
+static GimpValueArray *
+text_layer_set_kerning_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpLayer *layer;
+ gboolean kerning;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+ kerning = g_value_get_boolean (gimp_value_array_index (args, 1));
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, GIMP_PDB_ITEM_CONTENT, error))
+ {
+ gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
+ _("Set text layer attribute"),
+ "kerning", kerning,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+}
+
+static GimpValueArray *
+text_layer_get_language_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpValueArray *return_vals;
+ GimpLayer *layer;
+ gchar *language = NULL;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, 0, error))
+ {
+ g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
+ "language", &language,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return_vals = gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+
+ if (success)
+ g_value_take_string (gimp_value_array_index (return_vals, 1), language);
+
+ return return_vals;
+}
+
+static GimpValueArray *
+text_layer_set_language_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpLayer *layer;
+ const gchar *language;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+ language = g_value_get_string (gimp_value_array_index (args, 1));
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, GIMP_PDB_ITEM_CONTENT, error))
+ {
+ gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
+ _("Set text layer attribute"),
+ "language", language,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+}
+
+static GimpValueArray *
+text_layer_get_base_direction_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpValueArray *return_vals;
+ GimpLayer *layer;
+ gint32 direction = 0;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, 0, error))
+ {
+ g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
+ "base-direction", &direction,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return_vals = gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+
+ if (success)
+ g_value_set_enum (gimp_value_array_index (return_vals, 1), direction);
+
+ return return_vals;
+}
+
+static GimpValueArray *
+text_layer_set_base_direction_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpLayer *layer;
+ gint32 direction;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+ direction = g_value_get_enum (gimp_value_array_index (args, 1));
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, GIMP_PDB_ITEM_CONTENT, error))
+ {
+ gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
+ _("Set text layer attribute"),
+ "base-direction", direction,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+}
+
+static GimpValueArray *
+text_layer_get_justification_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpValueArray *return_vals;
+ GimpLayer *layer;
+ gint32 justify = 0;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, 0, error))
+ {
+ g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
+ "justify", &justify,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return_vals = gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+
+ if (success)
+ g_value_set_enum (gimp_value_array_index (return_vals, 1), justify);
+
+ return return_vals;
+}
+
+static GimpValueArray *
+text_layer_set_justification_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpLayer *layer;
+ gint32 justify;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+ justify = g_value_get_enum (gimp_value_array_index (args, 1));
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, GIMP_PDB_ITEM_CONTENT, error))
+ {
+ gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
+ _("Set text layer attribute"),
+ "justify", justify,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+}
+
+static GimpValueArray *
+text_layer_get_color_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpValueArray *return_vals;
+ GimpLayer *layer;
+ GimpRGB color = { 0.0, 0.0, 0.0, 1.0 };
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, 0, error))
+ {
+ color = gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer))->color;
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return_vals = gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+
+ if (success)
+ gimp_value_set_rgb (gimp_value_array_index (return_vals, 1), &color);
+
+ return return_vals;
+}
+
+static GimpValueArray *
+text_layer_set_color_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpLayer *layer;
+ GimpRGB color;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+ gimp_value_get_rgb (gimp_value_array_index (args, 1), &color);
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, GIMP_PDB_ITEM_CONTENT, error))
+ {
+ gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
+ _("Set text layer attribute"),
+ "color", &color,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+}
+
+static GimpValueArray *
+text_layer_get_indent_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpValueArray *return_vals;
+ GimpLayer *layer;
+ gdouble indent = 0.0;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, 0, error))
+ {
+ g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
+ "indent", &indent,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return_vals = gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+
+ if (success)
+ g_value_set_double (gimp_value_array_index (return_vals, 1), indent);
+
+ return return_vals;
+}
+
+static GimpValueArray *
+text_layer_set_indent_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpLayer *layer;
+ gdouble indent;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+ indent = g_value_get_double (gimp_value_array_index (args, 1));
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, GIMP_PDB_ITEM_CONTENT, error))
+ {
+ gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
+ _("Set text layer attribute"),
+ "indent", indent,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+}
+
+static GimpValueArray *
+text_layer_get_line_spacing_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpValueArray *return_vals;
+ GimpLayer *layer;
+ gdouble line_spacing = 0.0;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, 0, error))
+ {
+ g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
+ "line-spacing", &line_spacing,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return_vals = gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+
+ if (success)
+ g_value_set_double (gimp_value_array_index (return_vals, 1), line_spacing);
+
+ return return_vals;
+}
+
+static GimpValueArray *
+text_layer_set_line_spacing_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpLayer *layer;
+ gdouble line_spacing;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+ line_spacing = g_value_get_double (gimp_value_array_index (args, 1));
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, GIMP_PDB_ITEM_CONTENT, error))
+ {
+ gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
+ _("Set text layer attribute"),
+ "line-spacing", line_spacing,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+}
+
+static GimpValueArray *
+text_layer_get_letter_spacing_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpValueArray *return_vals;
+ GimpLayer *layer;
+ gdouble letter_spacing = 0.0;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, 0, error))
+ {
+ g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
+ "letter-spacing", &letter_spacing,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return_vals = gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+
+ if (success)
+ g_value_set_double (gimp_value_array_index (return_vals, 1), letter_spacing);
+
+ return return_vals;
+}
+
+static GimpValueArray *
+text_layer_set_letter_spacing_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpLayer *layer;
+ gdouble letter_spacing;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+ letter_spacing = g_value_get_double (gimp_value_array_index (args, 1));
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, GIMP_PDB_ITEM_CONTENT, error))
+ {
+ gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
+ _("Set text layer attribute"),
+ "letter-spacing", letter_spacing,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+}
+
+static GimpValueArray *
+text_layer_resize_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpLayer *layer;
+ gdouble width;
+ gdouble height;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+ width = g_value_get_double (gimp_value_array_index (args, 1));
+ height = g_value_get_double (gimp_value_array_index (args, 2));
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, GIMP_PDB_ITEM_CONTENT, error))
+ {
+ GimpText *text = gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer));
+ gdouble xres, yres;
+
+ gimp_image_get_resolution (gimp_item_get_image (GIMP_ITEM (layer)),
+ &xres, &yres);
+
+ gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
+ _("Set text layer attribute"),
+ "box-mode", GIMP_TEXT_BOX_FIXED,
+ "box-width", gimp_pixels_to_units (width,
+ text->box_unit,
+ xres),
+ "box-height", gimp_pixels_to_units (height,
+ text->box_unit,
+ yres),
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+}
+
+static GimpValueArray *
+text_layer_get_hinting_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpValueArray *return_vals;
+ GimpLayer *layer;
+ gboolean hinting = FALSE;
+ gboolean autohint = FALSE;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, 0, error))
+ {
+ g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
+ "hinting", &hinting,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return_vals = gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+
+ if (success)
+ {
+ g_value_set_boolean (gimp_value_array_index (return_vals, 1), hinting);
+ g_value_set_boolean (gimp_value_array_index (return_vals, 2), autohint);
+ }
+
+ return return_vals;
+}
+
+static GimpValueArray *
+text_layer_set_hinting_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GimpValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ GimpLayer *layer;
+ gboolean hinting;
+
+ layer = gimp_value_get_layer (gimp_value_array_index (args, 0), gimp);
+ hinting = g_value_get_boolean (gimp_value_array_index (args, 1));
+
+ if (success)
+ {
+ if (gimp_pdb_layer_is_text_layer (layer, GIMP_PDB_ITEM_CONTENT, error))
+ {
+ gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
+ _("Set text layer attribute"),
+ "hinting", hinting,
+ NULL);
+ }
+ else
+ {
+ success = FALSE;
+ }
+ }
+
+ return gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+}
+
+void
+register_text_layer_procs (GimpPDB *pdb)
+{
+ GimpProcedure *procedure;
+
+ /*
+ * gimp-text-layer-new
+ */
+ procedure = gimp_procedure_new (text_layer_new_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-new");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-new",
+ "Creates a new text layer.",
+ "This procedure creates a new text layer. The arguments are kept as simple as necessary for the normal case. All text attributes, however, can be modified with the appropriate gimp_text_layer_set_*() procedures. The new layer still needs to be added to the image, as this is not automatic. Add the new layer using 'gimp-image-insert-layer'.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_image_id ("image",
+ "image",
+ "The image",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_string ("text",
+ "text",
+ "The text to generate (in UTF-8 encoding)",
+ FALSE, FALSE, FALSE,
+ NULL,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_string ("fontname",
+ "fontname",
+ "The name of the font",
+ FALSE, FALSE, FALSE,
+ NULL,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ g_param_spec_double ("size",
+ "size",
+ "The size of text in either pixels or points",
+ 0.0, 8192.0, 0.0,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_unit ("unit",
+ "unit",
+ "The units of specified size",
+ TRUE,
+ FALSE,
+ GIMP_UNIT_PIXEL,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The new text layer.",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-get-text
+ */
+ procedure = gimp_procedure_new (text_layer_get_text_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-get-text");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-get-text",
+ "Get the text from a text layer as string.",
+ "This procedure returns the text from a text layer as a string.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ gimp_param_spec_string ("text",
+ "text",
+ "The text from the specified text layer.",
+ FALSE, FALSE, FALSE,
+ NULL,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-set-text
+ */
+ procedure = gimp_procedure_new (text_layer_set_text_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-set-text");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-set-text",
+ "Set the text of a text layer.",
+ "This procedure changes the text of a text layer.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_string ("text",
+ "text",
+ "The new text to set",
+ FALSE, FALSE, FALSE,
+ NULL,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-get-markup
+ */
+ procedure = gimp_procedure_new (text_layer_get_markup_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-get-markup");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-get-markup",
+ "Get the markup from a text layer as string.",
+ "This procedure returns the markup of the styles from a text layer. The markup will be in the form of Pango's markup - See https://www.pango.org/ for more information about Pango and its markup. Note: Setting the markup of a text layer using Pango's markup is not supported for now.",
+ "Barak Itkin <lightningismyname@gmail.com>",
+ "Barak Itkin",
+ "2010",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ gimp_param_spec_string ("markup",
+ "markup",
+ "The markup which represents the style of the specified text layer.",
+ FALSE, FALSE, FALSE,
+ NULL,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-get-font
+ */
+ procedure = gimp_procedure_new (text_layer_get_font_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-get-font");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-get-font",
+ "Get the font from a text layer as string.",
+ "This procedure returns the name of the font from a text layer.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ gimp_param_spec_string ("font",
+ "font",
+ "The font which is used in the specified text layer.",
+ FALSE, FALSE, FALSE,
+ NULL,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-set-font
+ */
+ procedure = gimp_procedure_new (text_layer_set_font_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-set-font");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-set-font",
+ "Set the font of a text layer.",
+ "This procedure modifies the font used in the specified text layer.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_string ("font",
+ "font",
+ "The new font to use",
+ FALSE, FALSE, FALSE,
+ NULL,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-get-font-size
+ */
+ procedure = gimp_procedure_new (text_layer_get_font_size_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-get-font-size");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-get-font-size",
+ "Get the font size from a text layer.",
+ "This procedure returns the size of the font which is used in a text layer. You will receive the size as a float 'font-size' in 'unit' units.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ g_param_spec_double ("font-size",
+ "font size",
+ "The font size",
+ -G_MAXDOUBLE, G_MAXDOUBLE, 0,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ gimp_param_spec_unit ("unit",
+ "unit",
+ "The unit used for the font size",
+ TRUE,
+ FALSE,
+ GIMP_UNIT_PIXEL,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-set-font-size
+ */
+ procedure = gimp_procedure_new (text_layer_set_font_size_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-set-font-size");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-set-font-size",
+ "Set the font size.",
+ "This procedure changes the font size of a text layer. The size of your font will be a double 'font-size' of 'unit' units.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ g_param_spec_double ("font-size",
+ "font size",
+ "The font size",
+ 0.0, 8192.0, 0.0,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_unit ("unit",
+ "unit",
+ "The unit to use for the font size",
+ TRUE,
+ FALSE,
+ GIMP_UNIT_PIXEL,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-get-antialias
+ */
+ procedure = gimp_procedure_new (text_layer_get_antialias_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-get-antialias");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-get-antialias",
+ "Check if antialiasing is used in the text layer.",
+ "This procedure checks if antialiasing is enabled in the specified text layer.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ g_param_spec_boolean ("antialias",
+ "antialias",
+ "A flag which is true if antialiasing is used for rendering the font in the text layer.",
+ FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-set-antialias
+ */
+ procedure = gimp_procedure_new (text_layer_set_antialias_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-set-antialias");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-set-antialias",
+ "Enable/disable anti-aliasing in a text layer.",
+ "This procedure enables or disables anti-aliasing of the text in a text layer.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ g_param_spec_boolean ("antialias",
+ "antialias",
+ "Enable/disable antialiasing of the text",
+ FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-get-hint-style
+ */
+ procedure = gimp_procedure_new (text_layer_get_hint_style_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-get-hint-style");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-get-hint-style",
+ "Get information about hinting in the specified text layer.",
+ "This procedure provides information about the hinting that is being used in a text layer. Hinting can be optimized for fidelity or contrast or it can be turned entirely off.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ g_param_spec_enum ("style",
+ "style",
+ "The hint style used for font outlines",
+ GIMP_TYPE_TEXT_HINT_STYLE,
+ GIMP_TEXT_HINT_STYLE_NONE,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-set-hint-style
+ */
+ procedure = gimp_procedure_new (text_layer_set_hint_style_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-set-hint-style");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-set-hint-style",
+ "Control how font outlines are hinted in a text layer.",
+ "This procedure sets the hint style for font outlines in a text layer. This controls whether to fit font outlines to the pixel grid, and if so, whether to optimize for fidelity or contrast.",
+ "Sven Neumann <sven@gimp.org>",
+ "Sven Neumann",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ g_param_spec_enum ("style",
+ "style",
+ "The new hint style",
+ GIMP_TYPE_TEXT_HINT_STYLE,
+ GIMP_TEXT_HINT_STYLE_NONE,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-get-kerning
+ */
+ procedure = gimp_procedure_new (text_layer_get_kerning_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-get-kerning");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-get-kerning",
+ "Check if kerning is used in the text layer.",
+ "This procedure checks if kerning is enabled in the specified text layer.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ g_param_spec_boolean ("kerning",
+ "kerning",
+ "A flag which is true if kerning is used in the text layer.",
+ FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-set-kerning
+ */
+ procedure = gimp_procedure_new (text_layer_set_kerning_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-set-kerning");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-set-kerning",
+ "Enable/disable kerning in a text layer.",
+ "This procedure enables or disables kerning in a text layer.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ g_param_spec_boolean ("kerning",
+ "kerning",
+ "Enable/disable kerning in the text",
+ FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-get-language
+ */
+ procedure = gimp_procedure_new (text_layer_get_language_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-get-language");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-get-language",
+ "Get the language used in the text layer.",
+ "This procedure returns the language string which is set for the text in the text layer.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer.",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ gimp_param_spec_string ("language",
+ "language",
+ "The language used in the text layer.",
+ FALSE, FALSE, FALSE,
+ NULL,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-set-language
+ */
+ procedure = gimp_procedure_new (text_layer_set_language_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-set-language");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-set-language",
+ "Set the language of the text layer.",
+ "This procedure sets the language of the text in text layer. For some scripts the language has an influence of how the text is rendered.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_string ("language",
+ "language",
+ "The new language to use for the text layer",
+ FALSE, FALSE, FALSE,
+ NULL,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-get-base-direction
+ */
+ procedure = gimp_procedure_new (text_layer_get_base_direction_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-get-base-direction");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-get-base-direction",
+ "Get the base direction used for rendering the text layer.",
+ "This procedure returns the base direction used for rendering the text in the text layer",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer.",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ g_param_spec_enum ("direction",
+ "direction",
+ "The based direction used for the text layer.",
+ GIMP_TYPE_TEXT_DIRECTION,
+ GIMP_TEXT_DIRECTION_LTR,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-set-base-direction
+ */
+ procedure = gimp_procedure_new (text_layer_set_base_direction_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-set-base-direction");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-set-base-direction",
+ "Set the base direction in the text layer.",
+ "This procedure sets the base direction used in applying the Unicode bidirectional algorithm when rendering the text.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ g_param_spec_enum ("direction",
+ "direction",
+ "The base direction of the text.",
+ GIMP_TYPE_TEXT_DIRECTION,
+ GIMP_TEXT_DIRECTION_LTR,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-get-justification
+ */
+ procedure = gimp_procedure_new (text_layer_get_justification_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-get-justification");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-get-justification",
+ "Get the text justification information of the text layer.",
+ "This procedure returns the alignment of the lines in the text layer relative to each other.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer.",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ g_param_spec_enum ("justify",
+ "justify",
+ "The justification used in the text layer.",
+ GIMP_TYPE_TEXT_JUSTIFICATION,
+ GIMP_TEXT_JUSTIFY_LEFT,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-set-justification
+ */
+ procedure = gimp_procedure_new (text_layer_set_justification_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-set-justification");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-set-justification",
+ "Set the justification of the text in a text layer.",
+ "This procedure sets the alignment of the lines in the text layer relative to each other.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ g_param_spec_enum ("justify",
+ "justify",
+ "The justification for your text.",
+ GIMP_TYPE_TEXT_JUSTIFICATION,
+ GIMP_TEXT_JUSTIFY_LEFT,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-get-color
+ */
+ procedure = gimp_procedure_new (text_layer_get_color_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-get-color");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-get-color",
+ "Get the color of the text in a text layer.",
+ "This procedure returns the color of the text in a text layer.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer.",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ gimp_param_spec_rgb ("color",
+ "color",
+ "The color of the text.",
+ FALSE,
+ NULL,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-set-color
+ */
+ procedure = gimp_procedure_new (text_layer_set_color_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-set-color");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-set-color",
+ "Set the color of the text in the text layer.",
+ "This procedure sets the text color in the text layer 'layer'.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_rgb ("color",
+ "color",
+ "The color to use for the text",
+ FALSE,
+ NULL,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-get-indent
+ */
+ procedure = gimp_procedure_new (text_layer_get_indent_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-get-indent");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-get-indent",
+ "Get the line indentation of text layer.",
+ "This procedure returns the indentation of the first line in a text layer.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer.",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ g_param_spec_double ("indent",
+ "indent",
+ "The indentation value of the first line.",
+ -G_MAXDOUBLE, G_MAXDOUBLE, 0,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-set-indent
+ */
+ procedure = gimp_procedure_new (text_layer_set_indent_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-set-indent");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-set-indent",
+ "Set the indentation of the first line in a text layer.",
+ "This procedure sets the indentation of the first line in the text layer.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ g_param_spec_double ("indent",
+ "indent",
+ "The indentation for the first line.",
+ -8192.0, 8192.0, -8192.0,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-get-line-spacing
+ */
+ procedure = gimp_procedure_new (text_layer_get_line_spacing_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-get-line-spacing");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-get-line-spacing",
+ "Get the spacing between lines of text.",
+ "This procedure returns the line-spacing between lines of text in a text layer.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer.",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ g_param_spec_double ("line-spacing",
+ "line spacing",
+ "The line-spacing value.",
+ -G_MAXDOUBLE, G_MAXDOUBLE, 0,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-set-line-spacing
+ */
+ procedure = gimp_procedure_new (text_layer_set_line_spacing_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-set-line-spacing");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-set-line-spacing",
+ "Adjust the line spacing in a text layer.",
+ "This procedure sets the additional spacing used between lines a text layer.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ g_param_spec_double ("line-spacing",
+ "line spacing",
+ "The additional line spacing to use.",
+ -8192.0, 8192.0, -8192.0,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-get-letter-spacing
+ */
+ procedure = gimp_procedure_new (text_layer_get_letter_spacing_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-get-letter-spacing");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-get-letter-spacing",
+ "Get the letter spacing used in a text layer.",
+ "This procedure returns the additional spacing between the single glyphs in a text layer.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer.",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ g_param_spec_double ("letter-spacing",
+ "letter spacing",
+ "The letter-spacing value.",
+ -G_MAXDOUBLE, G_MAXDOUBLE, 0,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-set-letter-spacing
+ */
+ procedure = gimp_procedure_new (text_layer_set_letter_spacing_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-set-letter-spacing");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-set-letter-spacing",
+ "Adjust the letter spacing in a text layer.",
+ "This procedure sets the additional spacing between the single glyphs in a text layer.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ g_param_spec_double ("letter-spacing",
+ "letter spacing",
+ "The additional letter spacing to use.",
+ -8192.0, 8192.0, -8192.0,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-resize
+ */
+ procedure = gimp_procedure_new (text_layer_resize_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-resize");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-resize",
+ "Resize the box of a text layer.",
+ "This procedure changes the width and height of a text layer while keeping it as a text layer and not converting it to a bitmap like 'gimp-layer-resize' would do.",
+ "Barak Itkin <lightningismyname@gmail.com>",
+ "Barak Itkin",
+ "2009",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ g_param_spec_double ("width",
+ "width",
+ "The new box width in pixels",
+ 0.0, GIMP_MAX_IMAGE_SIZE, 0.0,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ g_param_spec_double ("height",
+ "height",
+ "The new box height in pixels",
+ 0.0, GIMP_MAX_IMAGE_SIZE, 0.0,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-get-hinting
+ */
+ procedure = gimp_procedure_new (text_layer_get_hinting_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-get-hinting");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-get-hinting",
+ "Deprecated: Use 'gimp-text-layer-get-hint-style' instead.",
+ "Deprecated: Use 'gimp-text-layer-get-hint-style' instead.",
+ "",
+ "",
+ "",
+ "gimp-text-layer-get-hint-style");
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ g_param_spec_boolean ("hinting",
+ "hinting",
+ "A flag which is true if hinting is used on the font.",
+ FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ g_param_spec_boolean ("autohint",
+ "autohint",
+ "A flag which is true if the text layer is forced to use the autohinter from FreeType.",
+ FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-text-layer-set-hinting
+ */
+ procedure = gimp_procedure_new (text_layer_set_hinting_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-text-layer-set-hinting");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-text-layer-set-hinting",
+ "Enable/disable the use of hinting in a text layer.",
+ "This procedure enables or disables hinting on the text of a text layer. If you enable 'auto-hint', FreeType\'s automatic hinter will be used and hinting information from the font will be ignored.\n"
+ "\n"
+ "Deprecated: Use 'gimp-text-layer-set-hint-style' instead.",
+ "Marcus Heese <heese@cip.ifi.lmu.de>",
+ "Marcus Heese",
+ "2008",
+ "gimp-text-layer-set-hint-style");
+ gimp_procedure_add_argument (procedure,
+ gimp_param_spec_layer_id ("layer",
+ "layer",
+ "The text layer",
+ pdb->gimp, FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ g_param_spec_boolean ("hinting",
+ "hinting",
+ "Enable/disable the use of hinting on the text",
+ FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ g_param_spec_boolean ("autohint",
+ "autohint",
+ "Force the use of the autohinter provided through FreeType",
+ FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+}