diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:30:19 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:30:19 +0000 |
commit | 5c1676dfe6d2f3c837a5e074117b45613fd29a72 (patch) | |
tree | cbffb45144febf451e54061db2b21395faf94bfe /libgimp/gimppalette_pdb.c | |
parent | Initial commit. (diff) | |
download | gimp-5c1676dfe6d2f3c837a5e074117b45613fd29a72.tar.xz gimp-5c1676dfe6d2f3c837a5e074117b45613fd29a72.zip |
Adding upstream version 2.10.34.upstream/2.10.34upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | libgimp/gimppalette_pdb.c | 591 |
1 files changed, 591 insertions, 0 deletions
diff --git a/libgimp/gimppalette_pdb.c b/libgimp/gimppalette_pdb.c new file mode 100644 index 0000000..926ef30 --- /dev/null +++ b/libgimp/gimppalette_pdb.c @@ -0,0 +1,591 @@ +/* LIBGIMP - The GIMP Library + * Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball + * + * gimppalette_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 <string.h> + +#include "gimp.h" + + +/** + * SECTION: gimppalette + * @title: gimppalette + * @short_description: Functions operating on a single palette. + * + * Functions operating on a single palette. + **/ + + +/** + * gimp_palette_new: + * @name: The requested name of the new palette. + * + * Creates a new palette + * + * This procedure creates a new, uninitialized palette + * + * Returns: The actual new palette name. + * + * Since: 2.2 + **/ +gchar * +gimp_palette_new (const gchar *name) +{ + GimpParam *return_vals; + gint nreturn_vals; + gchar *actual_name = NULL; + + return_vals = gimp_run_procedure ("gimp-palette-new", + &nreturn_vals, + GIMP_PDB_STRING, name, + GIMP_PDB_END); + + if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS) + actual_name = g_strdup (return_vals[1].data.d_string); + + gimp_destroy_params (return_vals, nreturn_vals); + + return actual_name; +} + +/** + * gimp_palette_duplicate: + * @name: The palette name. + * + * Duplicates a palette + * + * This procedure creates an identical palette by a different name + * + * Returns: The name of the palette's copy. + * + * Since: 2.2 + **/ +gchar * +gimp_palette_duplicate (const gchar *name) +{ + GimpParam *return_vals; + gint nreturn_vals; + gchar *copy_name = NULL; + + return_vals = gimp_run_procedure ("gimp-palette-duplicate", + &nreturn_vals, + GIMP_PDB_STRING, name, + GIMP_PDB_END); + + if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS) + copy_name = g_strdup (return_vals[1].data.d_string); + + gimp_destroy_params (return_vals, nreturn_vals); + + return copy_name; +} + +/** + * gimp_palette_rename: + * @name: The palette name. + * @new_name: The new name of the palette. + * + * Rename a palette + * + * This procedure renames a palette + * + * Returns: The actual new name of the palette. + * + * Since: 2.2 + **/ +gchar * +gimp_palette_rename (const gchar *name, + const gchar *new_name) +{ + GimpParam *return_vals; + gint nreturn_vals; + gchar *actual_name = NULL; + + return_vals = gimp_run_procedure ("gimp-palette-rename", + &nreturn_vals, + GIMP_PDB_STRING, name, + GIMP_PDB_STRING, new_name, + GIMP_PDB_END); + + if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS) + actual_name = g_strdup (return_vals[1].data.d_string); + + gimp_destroy_params (return_vals, nreturn_vals); + + return actual_name; +} + +/** + * gimp_palette_delete: + * @name: The palette name. + * + * Deletes a palette + * + * This procedure deletes a palette + * + * Returns: TRUE on success. + * + * Since: 2.2 + **/ +gboolean +gimp_palette_delete (const gchar *name) +{ + GimpParam *return_vals; + gint nreturn_vals; + gboolean success = TRUE; + + return_vals = gimp_run_procedure ("gimp-palette-delete", + &nreturn_vals, + GIMP_PDB_STRING, name, + GIMP_PDB_END); + + success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS; + + gimp_destroy_params (return_vals, nreturn_vals); + + return success; +} + +/** + * gimp_palette_is_editable: + * @name: The palette name. + * + * Tests if palette can be edited + * + * Returns TRUE if you have permission to change the palette + * + * Returns: TRUE if the palette can be edited. + * + * Since: 2.4 + **/ +gboolean +gimp_palette_is_editable (const gchar *name) +{ + GimpParam *return_vals; + gint nreturn_vals; + gboolean editable = FALSE; + + return_vals = gimp_run_procedure ("gimp-palette-is-editable", + &nreturn_vals, + GIMP_PDB_STRING, name, + GIMP_PDB_END); + + if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS) + editable = return_vals[1].data.d_int32; + + gimp_destroy_params (return_vals, nreturn_vals); + + return editable; +} + +/** + * gimp_palette_get_info: + * @name: The palette name. + * @num_colors: The number of colors in the palette. + * + * Retrieve information about the specified palette. + * + * This procedure retrieves information about the specified palette. + * This includes the name, and the number of colors. + * + * Returns: TRUE on success. + * + * Since: 2.2 + **/ +gboolean +gimp_palette_get_info (const gchar *name, + gint *num_colors) +{ + GimpParam *return_vals; + gint nreturn_vals; + gboolean success = TRUE; + + return_vals = gimp_run_procedure ("gimp-palette-get-info", + &nreturn_vals, + GIMP_PDB_STRING, name, + GIMP_PDB_END); + + *num_colors = 0; + + success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS; + + if (success) + *num_colors = return_vals[1].data.d_int32; + + gimp_destroy_params (return_vals, nreturn_vals); + + return success; +} + +/** + * gimp_palette_get_colors: + * @name: The palette name. + * @num_colors: Length of the colors array. + * + * Gets all colors from the specified palette. + * + * This procedure retrieves all color entries of the specified palette. + * + * Returns: The colors in the palette. + * + * Since: 2.6 + **/ +GimpRGB * +gimp_palette_get_colors (const gchar *name, + gint *num_colors) +{ + GimpParam *return_vals; + gint nreturn_vals; + GimpRGB *colors = NULL; + + return_vals = gimp_run_procedure ("gimp-palette-get-colors", + &nreturn_vals, + GIMP_PDB_STRING, name, + GIMP_PDB_END); + + *num_colors = 0; + + if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS) + { + *num_colors = return_vals[1].data.d_int32; + colors = g_new (GimpRGB, *num_colors); + memcpy (colors, + return_vals[2].data.d_colorarray, + *num_colors * sizeof (GimpRGB)); + } + + gimp_destroy_params (return_vals, nreturn_vals); + + return colors; +} + +/** + * gimp_palette_get_columns: + * @name: The palette name. + * + * Retrieves the number of columns to use to display this palette + * + * This procedures retrieves the preferred number of columns to use + * when the palette is being displayed. + * + * Returns: The number of columns used to display this palette. + * + * Since: 2.4 + **/ +gint +gimp_palette_get_columns (const gchar *name) +{ + GimpParam *return_vals; + gint nreturn_vals; + gint num_columns = 0; + + return_vals = gimp_run_procedure ("gimp-palette-get-columns", + &nreturn_vals, + GIMP_PDB_STRING, name, + GIMP_PDB_END); + + if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS) + num_columns = return_vals[1].data.d_int32; + + gimp_destroy_params (return_vals, nreturn_vals); + + return num_columns; +} + +/** + * gimp_palette_set_columns: + * @name: The palette name. + * @columns: The new number of columns. + * + * Sets the number of columns to use when displaying the palette + * + * This procedures controls how many colors are shown per row when the + * palette is being displayed. This value can only be changed if the + * palette is writable. The maximum allowed value is 64. + * + * Returns: TRUE on success. + * + * Since: 2.4 + **/ +gboolean +gimp_palette_set_columns (const gchar *name, + gint columns) +{ + GimpParam *return_vals; + gint nreturn_vals; + gboolean success = TRUE; + + return_vals = gimp_run_procedure ("gimp-palette-set-columns", + &nreturn_vals, + GIMP_PDB_STRING, name, + GIMP_PDB_INT32, columns, + GIMP_PDB_END); + + success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS; + + gimp_destroy_params (return_vals, nreturn_vals); + + return success; +} + +/** + * gimp_palette_add_entry: + * @name: The palette name. + * @entry_name: The name of the entry. + * @color: The new entry's color color. + * @entry_num: The index of the added entry. + * + * Adds a palette entry to the specified palette. + * + * This procedure adds an entry to the specified palette. It returns an + * error if the entry palette does not exist. + * + * Returns: TRUE on success. + * + * Since: 2.2 + **/ +gboolean +gimp_palette_add_entry (const gchar *name, + const gchar *entry_name, + const GimpRGB *color, + gint *entry_num) +{ + GimpParam *return_vals; + gint nreturn_vals; + gboolean success = TRUE; + + return_vals = gimp_run_procedure ("gimp-palette-add-entry", + &nreturn_vals, + GIMP_PDB_STRING, name, + GIMP_PDB_STRING, entry_name, + GIMP_PDB_COLOR, color, + GIMP_PDB_END); + + *entry_num = 0; + + success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS; + + if (success) + *entry_num = return_vals[1].data.d_int32; + + gimp_destroy_params (return_vals, nreturn_vals); + + return success; +} + +/** + * gimp_palette_delete_entry: + * @name: The palette name. + * @entry_num: The index of the added entry. + * + * Deletes a palette entry from the specified palette. + * + * This procedure deletes an entry from the specified palette. It + * returns an error if the entry palette does not exist. + * + * Returns: TRUE on success. + * + * Since: 2.2 + **/ +gboolean +gimp_palette_delete_entry (const gchar *name, + gint entry_num) +{ + GimpParam *return_vals; + gint nreturn_vals; + gboolean success = TRUE; + + return_vals = gimp_run_procedure ("gimp-palette-delete-entry", + &nreturn_vals, + GIMP_PDB_STRING, name, + GIMP_PDB_INT32, entry_num, + GIMP_PDB_END); + + success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS; + + gimp_destroy_params (return_vals, nreturn_vals); + + return success; +} + +/** + * gimp_palette_entry_get_color: + * @name: The palette name. + * @entry_num: The entry to retrieve. + * @color: The color requested. + * + * Gets the specified palette entry from the specified palette. + * + * This procedure retrieves the color of the zero-based entry specified + * for the specified palette. It returns an error if the entry does not + * exist. + * + * Returns: TRUE on success. + * + * Since: 2.2 + **/ +gboolean +gimp_palette_entry_get_color (const gchar *name, + gint entry_num, + GimpRGB *color) +{ + GimpParam *return_vals; + gint nreturn_vals; + gboolean success = TRUE; + + return_vals = gimp_run_procedure ("gimp-palette-entry-get-color", + &nreturn_vals, + GIMP_PDB_STRING, name, + GIMP_PDB_INT32, entry_num, + GIMP_PDB_END); + + success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS; + + if (success) + *color = return_vals[1].data.d_color; + + gimp_destroy_params (return_vals, nreturn_vals); + + return success; +} + +/** + * gimp_palette_entry_set_color: + * @name: The palette name. + * @entry_num: The entry to retrieve. + * @color: The new color. + * + * Sets the specified palette entry in the specified palette. + * + * This procedure sets the color of the zero-based entry specified for + * the specified palette. It returns an error if the entry does not + * exist. + * + * Returns: TRUE on success. + * + * Since: 2.2 + **/ +gboolean +gimp_palette_entry_set_color (const gchar *name, + gint entry_num, + const GimpRGB *color) +{ + GimpParam *return_vals; + gint nreturn_vals; + gboolean success = TRUE; + + return_vals = gimp_run_procedure ("gimp-palette-entry-set-color", + &nreturn_vals, + GIMP_PDB_STRING, name, + GIMP_PDB_INT32, entry_num, + GIMP_PDB_COLOR, color, + GIMP_PDB_END); + + success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS; + + gimp_destroy_params (return_vals, nreturn_vals); + + return success; +} + +/** + * gimp_palette_entry_get_name: + * @name: The palette name. + * @entry_num: The entry to retrieve. + * @entry_name: The name requested. + * + * Gets the specified palette entry from the specified palette. + * + * This procedure retrieves the name of the zero-based entry specified + * for the specified palette. It returns an error if the entry does not + * exist. + * + * Returns: TRUE on success. + * + * Since: 2.2 + **/ +gboolean +gimp_palette_entry_get_name (const gchar *name, + gint entry_num, + gchar **entry_name) +{ + GimpParam *return_vals; + gint nreturn_vals; + gboolean success = TRUE; + + return_vals = gimp_run_procedure ("gimp-palette-entry-get-name", + &nreturn_vals, + GIMP_PDB_STRING, name, + GIMP_PDB_INT32, entry_num, + GIMP_PDB_END); + + *entry_name = NULL; + + success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS; + + if (success) + *entry_name = g_strdup (return_vals[1].data.d_string); + + gimp_destroy_params (return_vals, nreturn_vals); + + return success; +} + +/** + * gimp_palette_entry_set_name: + * @name: The palette name. + * @entry_num: The entry to retrieve. + * @entry_name: The new name. + * + * Sets the specified palette entry in the specified palette. + * + * This procedure sets the name of the zero-based entry specified for + * the specified palette. It returns an error if the entry does not + * exist. + * + * Returns: TRUE on success. + * + * Since: 2.2 + **/ +gboolean +gimp_palette_entry_set_name (const gchar *name, + gint entry_num, + const gchar *entry_name) +{ + GimpParam *return_vals; + gint nreturn_vals; + gboolean success = TRUE; + + return_vals = gimp_run_procedure ("gimp-palette-entry-set-name", + &nreturn_vals, + GIMP_PDB_STRING, name, + GIMP_PDB_INT32, entry_num, + GIMP_PDB_STRING, entry_name, + GIMP_PDB_END); + + success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS; + + gimp_destroy_params (return_vals, nreturn_vals); + + return success; +} |