summaryrefslogtreecommitdiffstats
path: root/libgimp/gimppalette_pdb.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 /libgimp/gimppalette_pdb.c
parentInitial commit. (diff)
downloadgimp-upstream.tar.xz
gimp-upstream.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--libgimp/gimppalette_pdb.c591
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;
+}