gimp/libgimp/gimppattern_pdb.c

189 lines
5.2 KiB
C

/* LIBGIMP - The GIMP Library
* Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball
*
* gimppattern_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: gimppattern
* @title: gimppattern
* @short_description: Installable object used by fill and clone tools.
*
* Installable object used by fill and clone tools.
**/
/**
* gimp_pattern_get_info:
* @pattern: The pattern.
* @width: (out): The pattern width.
* @height: (out): The pattern height.
* @bpp: (out): The pattern bpp.
*
* Gets information about the pattern.
*
* Gets information about the pattern: the pattern extents (width and
* height) and bytes per pixel.
*
* Returns: TRUE on success.
*
* Since: 2.2
**/
gboolean
gimp_pattern_get_info (GimpPattern *pattern,
gint *width,
gint *height,
gint *bpp)
{
GimpValueArray *args;
GimpValueArray *return_vals;
gboolean success = TRUE;
args = gimp_value_array_new_from_types (NULL,
GIMP_TYPE_PATTERN, pattern,
G_TYPE_NONE);
return_vals = gimp_pdb_run_procedure_array (gimp_get_pdb (),
"gimp-pattern-get-info",
args);
gimp_value_array_unref (args);
*width = 0;
*height = 0;
*bpp = 0;
success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;
if (success)
{
*width = GIMP_VALUES_GET_INT (return_vals, 1);
*height = GIMP_VALUES_GET_INT (return_vals, 2);
*bpp = GIMP_VALUES_GET_INT (return_vals, 3);
}
gimp_value_array_unref (return_vals);
return success;
}
/**
* gimp_pattern_get_pixels:
* @pattern: The pattern.
* @width: (out): The pattern width.
* @height: (out): The pattern height.
* @bpp: (out): The pattern bpp.
* @num_color_bytes: (out): Number of pattern bytes.
* @color_bytes: (out) (array length=num_color_bytes) (element-type guint8) (transfer full): The pattern data.
*
* Gets information about the pattern (including pixels).
*
* Gets information about the pattern: the pattern extents (width and
* height), its bpp, and its pixel data. The pixel data is an array in
* C or a list in some languages.
*
* Returns: TRUE on success.
*
* Since: 2.2
**/
gboolean
gimp_pattern_get_pixels (GimpPattern *pattern,
gint *width,
gint *height,
gint *bpp,
gint *num_color_bytes,
guint8 **color_bytes)
{
GimpValueArray *args;
GimpValueArray *return_vals;
gboolean success = TRUE;
args = gimp_value_array_new_from_types (NULL,
GIMP_TYPE_PATTERN, pattern,
G_TYPE_NONE);
return_vals = gimp_pdb_run_procedure_array (gimp_get_pdb (),
"gimp-pattern-get-pixels",
args);
gimp_value_array_unref (args);
*width = 0;
*height = 0;
*bpp = 0;
*num_color_bytes = 0;
*color_bytes = NULL;
success = GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS;
if (success)
{
*width = GIMP_VALUES_GET_INT (return_vals, 1);
*height = GIMP_VALUES_GET_INT (return_vals, 2);
*bpp = GIMP_VALUES_GET_INT (return_vals, 3);
*num_color_bytes = GIMP_VALUES_GET_INT (return_vals, 4);
*color_bytes = GIMP_VALUES_DUP_UINT8_ARRAY (return_vals, 5);
}
gimp_value_array_unref (return_vals);
return success;
}
/**
* gimp_pattern_id_is_valid:
* @id: The pattern ID.
*
* Whether the ID is a valid reference to installed data.
*
* Returns TRUE if this ID is valid.
*
* Returns: TRUE if the pattern ID is valid.
*
* Since: 3.0
**/
gboolean
gimp_pattern_id_is_valid (const gchar *id)
{
GimpValueArray *args;
GimpValueArray *return_vals;
gboolean valid = FALSE;
args = gimp_value_array_new_from_types (NULL,
G_TYPE_STRING, id,
G_TYPE_NONE);
return_vals = gimp_pdb_run_procedure_array (gimp_get_pdb (),
"gimp-pattern-id-is-valid",
args);
gimp_value_array_unref (args);
if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS)
valid = GIMP_VALUES_GET_BOOLEAN (return_vals, 1);
gimp_value_array_unref (return_vals);
return valid;
}