Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Gimp/libgimp/   (Gimp Bildeditor Version 3.2.0©)  Datei vom 14.2.2026 mit Größe 54 kB image not shown  

Quelle  gimptextlayer_pdb.c   Sprache: C

 

/* LIBGIMP - The GIMP Library
 * Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball
 *
 * gimptextlayer_pdb.c
 *
 * This library is free software: you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 3 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library.  If not, see
 * <https://www.gnu.org/licenses/>.
 */


/* NOTE: This file is auto-generated by pdbgen.pl */

#include "config.h"

#include "stamp-pdbgen.h"

#include "gimp.h"


/**
 * SECTION: gimptextlayer
 * @title: gimptextlayer
 * @short_description: Functions for querying and manipulating text layers.
 *
 * Functions for querying and manipulating text layers.
 **/



/**
 * gimp_text_layer_new:
 * @image: The image.
 * @text: The text to generate (in UTF-8 encoding).
 * @font: The font to write the text with.
 * @size: The size of text in either pixels or points.
 * @unit: The units of specified size.
 *
 * Creates a new text layer.
 *
 * This procedure creates a new text layer displaying the specified
 * @text. By default the width and height of the layer will be
 * determined by the @text contents, the @font, @size and @unit.
 *
 * The new layer still needs to be added to the image as this is not
 * automatic. Add the new layer with the [method@Image.insert_layer]
 * method.
 *
 * The arguments are kept as simple as necessary for the basic case.
 * All text attributes, however, can be modified with the appropriate
 * `gimp_text_layer_set_*()` procedures.
 *
 * Returns: (transfer none):
 *          The new text layer. The object belongs to libgimp and you should not free it.
 *
 * Since: 2.6
 **/

GimpTextLayer *
gimp_text_layer_new (GimpImage   *image,
                     const gchar *text,
                     GimpFont    *font,
                     gdouble      size,
                     GimpUnit    *unit)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  GimpTextLayer *layer = NULL;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_IMAGE, image,
                                          G_TYPE_STRING, text,
                                          GIMP_TYPE_FONT, font,
                                          G_TYPE_DOUBLE, size,
                                          GIMP_TYPE_UNIT, unit,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-new",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    layer = GIMP_VALUES_GET_TEXT_LAYER (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return layer;
}

/**
 * gimp_text_layer_get_text:
 * @layer: The text layer.
 *
 * Get the text from a text layer as string.
 *
 * This procedure returns the text from a text layer as a string.
 *
 * Returns: (transfer full): The text from the specified text layer.
 *          The returned value must be freed with g_free().
 *
 * Since: 2.6
 **/

gchar *
gimp_text_layer_get_text (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gchar *text = NULL;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-text",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    text = GIMP_VALUES_DUP_STRING (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return text;
}

/**
 * gimp_text_layer_set_text:
 * @layer: The text layer.
 * @text: The new text to set.
 *
 * Set the text of a text layer.
 *
 * This procedure changes the text of a text layer.
 *
 * Returns: TRUE on success.
 *
 * Since: 2.6
 **/

gboolean
gimp_text_layer_set_text (GimpTextLayer *layer,
                          const gchar   *text)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_STRING, text,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-text",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_markup:
 * @layer: The text layer.
 *
 * 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.
 *
 * Returns: (transfer full):
 *          The markup which represents the style of the specified text layer.
 *          The returned value must be freed with g_free().
 *
 * Since: 2.8
 **/

gchar *
gimp_text_layer_get_markup (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gchar *markup = NULL;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-markup",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    markup = GIMP_VALUES_DUP_STRING (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return markup;
}

/**
 * gimp_text_layer_set_markup:
 * @layer: The text layer.
 * @markup: The new markup to set.
 *
 * Set the markup for a text layer from a string.
 *
 * This procedure sets the markup of the styles for a text layer. The
 * markup should be in the form of Pango's markup - See
 * https://docs.gtk.org/Pango/pango_markup.html for a reference.
 * Note that GIMP's text tool does not support all of Pango markup. Any
 * unsupported markup will still be applied to your text layer, yet
 * would be dropped as soon as you edit text with the tool.
 *
 * Returns: TRUE on success.
 *
 * Since: 3.0
 **/

gboolean
gimp_text_layer_set_markup (GimpTextLayer *layer,
                            const gchar   *markup)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_STRING, markup,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-markup",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_font:
 * @layer: The text layer.
 *
 * Get the font from a text layer as string.
 *
 * This procedure returns the font from a text layer.
 *
 * Returns: (transfer none):
 *          The font which is used in the specified text layer.
 *
 * Since: 2.6
 **/

GimpFont *
gimp_text_layer_get_font (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  GimpFont *font = NULL;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-font",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    font = GIMP_VALUES_GET_FONT (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return font;
}

/**
 * gimp_text_layer_set_font:
 * @layer: The text layer.
 * @font: The new font to use.
 *
 * Set the font of a text layer.
 *
 * This procedure modifies the font used in the specified text layer.
 *
 * Returns: TRUE on success.
 *
 * Since: 2.6
 **/

gboolean
gimp_text_layer_set_font (GimpTextLayer *layer,
                          GimpFont      *font)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          GIMP_TYPE_FONT, font,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-font",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_font_size:
 * @layer: The text layer.
 * @unit: (out) (transfer none): The unit used for the 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 double 'font-size' in 'unit'
 * units.
 *
 * Returns: The font size.
 *
 * Since: 2.6
 **/

gdouble
gimp_text_layer_get_font_size (GimpTextLayer  *layer,
                               GimpUnit      **unit)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gdouble font_size = 0.0;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-font-size",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    {
      font_size = GIMP_VALUES_GET_DOUBLE (return_vals, 1);
      *unit = GIMP_VALUES_GET_UNIT (return_vals, 2);
    }

  gimp_value_array_unref (return_vals);

  return font_size;
}

/**
 * gimp_text_layer_set_font_size:
 * @layer: The text layer.
 * @font_size: The font size.
 * @unit: The unit to use for the 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.
 *
 * Returns: TRUE on success.
 *
 * Since: 2.6
 **/

gboolean
gimp_text_layer_set_font_size (GimpTextLayer *layer,
                               gdouble        font_size,
                               GimpUnit      *unit)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_DOUBLE, font_size,
                                          GIMP_TYPE_UNIT, unit,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-font-size",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_antialias:
 * @layer: The text layer.
 *
 * Check if antialiasing is used in the text layer.
 *
 * This procedure checks if antialiasing is enabled in the specified
 * text layer.
 *
 * Returns: A flag which is true if antialiasing is used for rendering the font in the text layer.
 *
 * Since: 2.6
 **/

gboolean
gimp_text_layer_get_antialias (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean antialias = FALSE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-antialias",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    antialias = GIMP_VALUES_GET_BOOLEAN (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return antialias;
}

/**
 * gimp_text_layer_set_antialias:
 * @layer: The text layer.
 * @antialias: Enable/disable antialiasing of the text.
 *
 * Enable/disable anti-aliasing in a text layer.
 *
 * This procedure enables or disables anti-aliasing of the text in a
 * text layer.
 *
 * Returns: TRUE on success.
 *
 * Since: 2.6
 **/

gboolean
gimp_text_layer_set_antialias (GimpTextLayer *layer,
                               gboolean       antialias)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_BOOLEAN, antialias,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-antialias",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_hint_style:
 * @layer: The text layer.
 *
 * 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.
 *
 * Returns: The hint style used for font outlines.
 *
 * Since: 2.8
 **/

GimpTextHintStyle
gimp_text_layer_get_hint_style (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  GimpTextHintStyle style = 0;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-hint-style",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    style = GIMP_VALUES_GET_ENUM (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return style;
}

/**
 * gimp_text_layer_set_hint_style:
 * @layer: The text layer.
 * @style: The new 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.
 *
 * Returns: TRUE on success.
 *
 * Since: 2.8
 **/

gboolean
gimp_text_layer_set_hint_style (GimpTextLayer     *layer,
                                GimpTextHintStyle  style)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          GIMP_TYPE_TEXT_HINT_STYLE, style,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-hint-style",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_kerning:
 * @layer: The text layer.
 *
 * Check if kerning is used in the text layer.
 *
 * This procedure checks if kerning is enabled in the specified text
 * layer.
 *
 * Returns: A flag which is true if kerning is used in the text layer.
 *
 * Since: 2.6
 **/

gboolean
gimp_text_layer_get_kerning (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean kerning = FALSE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-kerning",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    kerning = GIMP_VALUES_GET_BOOLEAN (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return kerning;
}

/**
 * gimp_text_layer_set_kerning:
 * @layer: The text layer.
 * @kerning: Enable/disable kerning in the text.
 *
 * Enable/disable kerning in a text layer.
 *
 * This procedure enables or disables kerning in a text layer.
 *
 * Returns: TRUE on success.
 *
 * Since: 2.6
 **/

gboolean
gimp_text_layer_set_kerning (GimpTextLayer *layer,
                             gboolean       kerning)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_BOOLEAN, kerning,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-kerning",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_language:
 * @layer: The text layer.
 *
 * Get the language used in the text layer.
 *
 * This procedure returns the language string which is set for the text
 * in the text layer.
 *
 * Returns: (transfer full): The language used in the text layer.
 *          The returned value must be freed with g_free().
 *
 * Since: 2.6
 **/

gchar *
gimp_text_layer_get_language (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gchar *language = NULL;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-language",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    language = GIMP_VALUES_DUP_STRING (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return language;
}

/**
 * gimp_text_layer_set_language:
 * @layer: The text layer.
 * @language: The new language to use for the text layer.
 *
 * 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.
 *
 * Returns: TRUE on success.
 *
 * Since: 2.6
 **/

gboolean
gimp_text_layer_set_language (GimpTextLayer *layer,
                              const gchar   *language)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_STRING, language,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-language",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_base_direction:
 * @layer: The text layer.
 *
 * 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
 *
 * Returns: The based direction used for the text layer.
 *
 * Since: 2.6
 **/

GimpTextDirection
gimp_text_layer_get_base_direction (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  GimpTextDirection direction = 0;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-base-direction",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    direction = GIMP_VALUES_GET_ENUM (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return direction;
}

/**
 * gimp_text_layer_set_base_direction:
 * @layer: The text layer.
 * @direction: The base direction of the text.
 *
 * 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.
 *
 * Returns: TRUE on success.
 *
 * Since: 2.6
 **/

gboolean
gimp_text_layer_set_base_direction (GimpTextLayer     *layer,
                                    GimpTextDirection  direction)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          GIMP_TYPE_TEXT_DIRECTION, direction,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-base-direction",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_justification:
 * @layer: The text layer.
 *
 * 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.
 *
 * Returns: The justification used in the text layer.
 *
 * Since: 2.6
 **/

GimpTextJustification
gimp_text_layer_get_justification (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  GimpTextJustification justify = 0;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-justification",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    justify = GIMP_VALUES_GET_ENUM (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return justify;
}

/**
 * gimp_text_layer_set_justification:
 * @layer: The text layer.
 * @justify: The justification for your text.
 *
 * 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.
 *
 * Returns: TRUE on success.
 *
 * Since: 2.6
 **/

gboolean
gimp_text_layer_set_justification (GimpTextLayer         *layer,
                                   GimpTextJustification  justify)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          GIMP_TYPE_TEXT_JUSTIFICATION, justify,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-justification",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_color:
 * @layer: The text layer.
 *
 * Get the color of the text in a text layer.
 *
 * This procedure returns the color of the text in a text layer.
 *
 * Returns: (transfer full): The color of the text.
 *
 * Since: 2.6
 **/

GeglColor *
gimp_text_layer_get_color (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  GeglColor *color = NULL;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-color",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    color = g_value_dup_object (gimp_value_array_index (return_vals, 1));

  gimp_value_array_unref (return_vals);

  return color;
}

/**
 * gimp_text_layer_set_color:
 * @layer: The text layer.
 * @color: The color to use for the text.
 *
 * Set the color of the text in the text layer.
 *
 * This procedure sets the text color in the text layer 'layer'.
 *
 * Returns: TRUE on success.
 *
 * Since: 2.6
 **/

gboolean
gimp_text_layer_set_color (GimpTextLayer *layer,
                           GeglColor     *color)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          GEGL_TYPE_COLOR, color,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-color",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_indent:
 * @layer: The text layer.
 *
 * Get the line indentation of text layer.
 *
 * This procedure returns the indentation of the first line in a text
 * layer.
 *
 * Returns: The indentation value of the first line.
 *
 * Since: 2.6
 **/

gdouble
gimp_text_layer_get_indent (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gdouble indent = 0.0;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-indent",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    indent = GIMP_VALUES_GET_DOUBLE (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return indent;
}

/**
 * gimp_text_layer_set_indent:
 * @layer: The text layer.
 * @indent: The indentation for the first line.
 *
 * Set the indentation of the first line in a text layer.
 *
 * This procedure sets the indentation of the first line in the text
 * layer.
 *
 * Returns: TRUE on success.
 *
 * Since: 2.6
 **/

gboolean
gimp_text_layer_set_indent (GimpTextLayer *layer,
                            gdouble        indent)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_DOUBLE, indent,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-indent",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_line_spacing:
 * @layer: The text layer.
 *
 * Get the spacing between lines of text.
 *
 * This procedure returns the line-spacing between lines of text in a
 * text layer.
 *
 * Returns: The line-spacing value.
 *
 * Since: 2.6
 **/

gdouble
gimp_text_layer_get_line_spacing (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gdouble line_spacing = 0.0;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-line-spacing",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    line_spacing = GIMP_VALUES_GET_DOUBLE (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return line_spacing;
}

/**
 * gimp_text_layer_set_line_spacing:
 * @layer: The text layer.
 * @line_spacing: The additional line spacing to use.
 *
 * Adjust the line spacing in a text layer.
 *
 * This procedure sets the additional spacing used between lines a text
 * layer.
 *
 * Returns: TRUE on success.
 *
 * Since: 2.6
 **/

gboolean
gimp_text_layer_set_line_spacing (GimpTextLayer *layer,
                                  gdouble        line_spacing)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_DOUBLE, line_spacing,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-line-spacing",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_letter_spacing:
 * @layer: The text layer.
 *
 * Get the letter spacing used in a text layer.
 *
 * This procedure returns the additional spacing between the single
 * glyphs in a text layer.
 *
 * Returns: The letter-spacing value.
 *
 * Since: 2.6
 **/

gdouble
gimp_text_layer_get_letter_spacing (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gdouble letter_spacing = 0.0;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-letter-spacing",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    letter_spacing = GIMP_VALUES_GET_DOUBLE (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return letter_spacing;
}

/**
 * gimp_text_layer_set_letter_spacing:
 * @layer: The text layer.
 * @letter_spacing: The additional letter spacing to use.
 *
 * Adjust the letter spacing in a text layer.
 *
 * This procedure sets the additional spacing between the single glyphs
 * in a text layer.
 *
 * Returns: TRUE on success.
 *
 * Since: 2.6
 **/

gboolean
gimp_text_layer_set_letter_spacing (GimpTextLayer *layer,
                                    gdouble        letter_spacing)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_DOUBLE, letter_spacing,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-letter-spacing",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_outline:
 * @layer: The text layer.
 *
 * Get the outline type from a text layer.
 *
 * This procedure returns the outline type of a text layer.
 *
 * Returns: The type of outline in the text layer.
 *
 * Since: 3.2
 **/

GimpTextOutline
gimp_text_layer_get_outline (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  GimpTextOutline outline = 0;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-outline",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    outline = GIMP_VALUES_GET_ENUM (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return outline;
}

/**
 * gimp_text_layer_set_outline:
 * @layer: The text layer.
 * @outline: The type of outline in the text layer.
 *
 * Set the outline type for the text layer.
 *
 * This procedure sets the type of the outline in the text layer
 * 'layer'.
 *
 * Returns: TRUE on success.
 *
 * Since: 3.2
 **/

gboolean
gimp_text_layer_set_outline (GimpTextLayer   *layer,
                             GimpTextOutline  outline)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          GIMP_TYPE_TEXT_OUTLINE, outline,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-outline",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_outline_antialias:
 * @layer: The text layer.
 *
 * Get the outline antialias setting from a text layer.
 *
 * This procedure returns the antialias setting of the text outline in
 * a text layer.
 *
 * Returns: The text outline antialias setting.
 *
 * Since: 3.2
 **/

gboolean
gimp_text_layer_get_outline_antialias (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean outline_antialias = FALSE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-outline-antialias",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    outline_antialias = GIMP_VALUES_GET_BOOLEAN (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return outline_antialias;
}

/**
 * gimp_text_layer_set_outline_antialias:
 * @layer: The text layer.
 * @outline_antialias: The text outline antialias setting.
 *
 * Set the outline antialias setting from a text layer.
 *
 * This procedure sets the text outline antialias in the text layer
 * 'layer'.
 *
 * Returns: TRUE on success.
 *
 * Since: 3.2
 **/

gboolean
gimp_text_layer_set_outline_antialias (GimpTextLayer *layer,
                                       gboolean       outline_antialias)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_BOOLEAN, outline_antialias,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-outline-antialias",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_outline_cap_style:
 * @layer: The text layer.
 *
 * Get the outline cap style from a text layer.
 *
 * This procedure returns the outline cap style of a text layer.
 *
 * Returns: The cap style of the outline in the text layer.
 *
 * Since: 3.2
 **/

GimpCapStyle
gimp_text_layer_get_outline_cap_style (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  GimpCapStyle outline_cap_style = 0;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-outline-cap-style",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    outline_cap_style = GIMP_VALUES_GET_ENUM (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return outline_cap_style;
}

/**
 * gimp_text_layer_set_outline_cap_style:
 * @layer: The text layer.
 * @outline_cap_style: The cap style of the outline in the text layer.
 *
 * Set the outline cap style for the text layer.
 *
 * This procedure sets the cap style of the outline in the text layer
 * 'layer'.
 *
 * Returns: TRUE on success.
 *
 * Since: 3.2
 **/

gboolean
gimp_text_layer_set_outline_cap_style (GimpTextLayer *layer,
                                       GimpCapStyle   outline_cap_style)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          GIMP_TYPE_CAP_STYLE, outline_cap_style,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-outline-cap-style",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_outline_color:
 * @layer: The text layer.
 *
 * Get the color of the text outline in a text layer.
 *
 * This procedure returns the color of the text outline in a text
 * layer.
 *
 * Returns: (transfer full): The color of the text outline.
 *
 * Since: 3.2
 **/

GeglColor *
gimp_text_layer_get_outline_color (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  GeglColor *color = NULL;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-outline-color",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    color = g_value_dup_object (gimp_value_array_index (return_vals, 1));

  gimp_value_array_unref (return_vals);

  return color;
}

/**
 * gimp_text_layer_set_outline_color:
 * @layer: The text layer.
 * @color: The color to use for the text outline.
 *
 * Set the color of the text outline in the text layer.
 *
 * This procedure sets the outline color in the text layer 'layer'.
 *
 * Returns: TRUE on success.
 *
 * Since: 3.2
 **/

gboolean
gimp_text_layer_set_outline_color (GimpTextLayer *layer,
                                   GeglColor     *color)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          GEGL_TYPE_COLOR, color,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-outline-color",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_outline_dash_offset:
 * @layer: The text layer.
 *
 * Get the outline dash offset from a text layer.
 *
 * This procedure returns the dash offset of the text outline in a text
 * layer.
 *
 * Returns: The text outline dash offset.
 *
 * Since: 3.2
 **/

gdouble
gimp_text_layer_get_outline_dash_offset (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gdouble outline_dash_offset = 0.0;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-outline-dash-offset",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    outline_dash_offset = GIMP_VALUES_GET_DOUBLE (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return outline_dash_offset;
}

/**
 * gimp_text_layer_set_outline_dash_offset:
 * @layer: The text layer.
 * @outline_dash_offset: The text outline dash offset.
 *
 * Set the outline dash offset from a text layer.
 *
 * This procedure sets the outline dash offset in the text layer
 * 'layer'.
 *
 * Returns: TRUE on success.
 *
 * Since: 3.2
 **/

gboolean
gimp_text_layer_set_outline_dash_offset (GimpTextLayer *layer,
                                         gdouble        outline_dash_offset)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_DOUBLE, outline_dash_offset,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-outline-dash-offset",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_outline_direction:
 * @layer: The text layer.
 *
 * Get the outline direction from a text layer.
 *
 * This procedure returns the outline direction of a text layer.
 *
 * Returns: The direction of the outline in the text layer.
 *
 * Since: 3.2
 **/

GimpTextOutlineDirection
gimp_text_layer_get_outline_direction (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  GimpTextOutlineDirection outline_direction = 0;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-outline-direction",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    outline_direction = GIMP_VALUES_GET_ENUM (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return outline_direction;
}

/**
 * gimp_text_layer_set_outline_direction:
 * @layer: The text layer.
 * @outline_direction: The direction of the outline in the text layer.
 *
 * Set the outline direction for the text layer.
 *
 * This procedure sets the direction of the outline in the text layer
 * 'layer'.
 *
 * Returns: TRUE on success.
 *
 * Since: 3.2
 **/

gboolean
gimp_text_layer_set_outline_direction (GimpTextLayer            *layer,
                                       GimpTextOutlineDirection  outline_direction)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          GIMP_TYPE_TEXT_OUTLINE_DIRECTION, outline_direction,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-outline-direction",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_outline_join_style:
 * @layer: The text layer.
 *
 * Get the outline join style from a text layer.
 *
 * This procedure returns the outline join style of a text layer.
 *
 * Returns: The join style of the outline in the text layer.
 *
 * Since: 3.2
 **/

GimpJoinStyle
gimp_text_layer_get_outline_join_style (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  GimpJoinStyle outline_join_style = 0;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-outline-join-style",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    outline_join_style = GIMP_VALUES_GET_ENUM (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return outline_join_style;
}

/**
 * gimp_text_layer_set_outline_join_style:
 * @layer: The text layer.
 * @outline_join_style: The join style of the outline in the text layer.
 *
 * Set the outline join style for the text layer.
 *
 * This procedure sets the join style of the outline in the text layer
 * 'layer'.
 *
 * Returns: TRUE on success.
 *
 * Since: 3.2
 **/

gboolean
gimp_text_layer_set_outline_join_style (GimpTextLayer *layer,
                                        GimpJoinStyle  outline_join_style)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          GIMP_TYPE_JOIN_STYLE, outline_join_style,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-outline-join-style",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_outline_miter_limit:
 * @layer: The text layer.
 *
 * Get the outline miter limit from a text layer.
 *
 * This procedure returns the miter limit of the text outline in a text
 * layer.
 *
 * Returns: The text outline miter limit.
 *
 * Since: 3.2
 **/

gdouble
gimp_text_layer_get_outline_miter_limit (GimpTextLayer *layer)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gdouble outline_miter_limit = 0.0;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-outline-miter-limit",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    outline_miter_limit = GIMP_VALUES_GET_DOUBLE (return_vals, 1);

  gimp_value_array_unref (return_vals);

  return outline_miter_limit;
}

/**
 * gimp_text_layer_set_outline_miter_limit:
 * @layer: The text layer.
 * @outline_miter_limit: The text outline miter limit.
 *
 * Set the outline miter limit from a text layer.
 *
 * This procedure sets the text outline miter limit in the text layer
 * 'layer'.
 *
 * Returns: TRUE on success.
 *
 * Since: 3.2
 **/

gboolean
gimp_text_layer_set_outline_miter_limit (GimpTextLayer *layer,
                                         gdouble        outline_miter_limit)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_DOUBLE, outline_miter_limit,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-outline-miter-limit",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_get_outline_width:
 * @layer: The text layer.
 * @outline_unit: (out) (transfer none): The unit used for the outline width.
 *
 * Get the outline width from a text layer.
 *
 * This procedure returns the color of the text outline in a text
 * layer.
 *
 * Returns: The text outline width.
 *
 * Since: 3.2
 **/

gdouble
gimp_text_layer_get_outline_width (GimpTextLayer  *layer,
                                   GimpUnit      **outline_unit)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gdouble outline_width = 0.0;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-get-outline-width",
                                               args);
  gimp_value_array_unref (args);

  if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
    {
      outline_width = GIMP_VALUES_GET_DOUBLE (return_vals, 1);
      *outline_unit = GIMP_VALUES_GET_UNIT (return_vals, 2);
    }

  gimp_value_array_unref (return_vals);

  return outline_width;
}

/**
 * gimp_text_layer_set_outline_width:
 * @layer: The text layer.
 * @outline_width: The text outline width.
 * @outline_unit: The unit to use for the outline width.
 *
 * Set the outline width from a text layer.
 *
 * This procedure sets the text outline color in the text layer
 * 'layer'.
 *
 * Returns: TRUE on success.
 *
 * Since: 3.2
 **/

gboolean
gimp_text_layer_set_outline_width (GimpTextLayer *layer,
                                   gdouble        outline_width,
                                   GimpUnit      *outline_unit)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_DOUBLE, outline_width,
                                          GIMP_TYPE_UNIT, outline_unit,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-set-outline-width",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

/**
 * gimp_text_layer_resize:
 * @layer: The text layer.
 * @width: The new box width in pixels.
 * @height: The new box height in pixels.
 *
 * 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.
 *
 * Returns: TRUE on success.
 *
 * Since: 2.8
 **/

gboolean
gimp_text_layer_resize (GimpTextLayer *layer,
                        gdouble        width,
                        gdouble        height)
{
  GimpValueArray *args;
  GimpValueArray *return_vals;
  gboolean success = TRUE;

  args = gimp_value_array_new_from_types (NULL,
                                          GIMP_TYPE_TEXT_LAYER, layer,
                                          G_TYPE_DOUBLE, width,
                                          G_TYPE_DOUBLE, height,
                                          G_TYPE_NONE);

  return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (),
                                               "gimp-text-layer-resize",
                                               args);
  gimp_value_array_unref (args);

  success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;

  gimp_value_array_unref (return_vals);

  return success;
}

Messung
CHZG
839610093

¤ Dauer der Verarbeitung: 0.26 Sekunden  (vorverarbeitet am  2026-11-04) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover


Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.