PIKApp/libpika/pikaimagesamplepoints_pdb.c

211 lines
6.6 KiB
C
Raw Normal View History

2023-09-26 00:35:21 +02:00
/* LIBPIKA - The PIKA Library
* Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball
*
* pikaimagesamplepoints_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 "pika.h"
/**
* SECTION: pikaimagesamplepoints
* @title: pikaimagesamplepoints
* @short_description: Functions for manipulating an image's sample points.
*
* Functions for manipulating an image's sample points.
**/
/**
* pika_image_add_sample_point:
* @image: The image.
* @position_x: The sample point's x-offset from left of image.
* @position_y: The sample point's y-offset from top of image.
*
* Add a sample point to an image.
*
* This procedure adds a sample point to an image. It takes the input
* image and the position of the new sample points as parameters. It
* returns the sample point ID of the new sample point.
*
* Returns: The new sample point.
*
* Since: 2.10
**/
guint
pika_image_add_sample_point (PikaImage *image,
gint position_x,
gint position_y)
{
PikaValueArray *args;
PikaValueArray *return_vals;
guint sample_point = 0;
args = pika_value_array_new_from_types (NULL,
PIKA_TYPE_IMAGE, image,
G_TYPE_INT, position_x,
G_TYPE_INT, position_y,
G_TYPE_NONE);
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
"pika-image-add-sample-point",
args);
pika_value_array_unref (args);
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
sample_point = PIKA_VALUES_GET_UINT (return_vals, 1);
pika_value_array_unref (return_vals);
return sample_point;
}
/**
* pika_image_delete_sample_point:
* @image: The image.
* @sample_point: The ID of the sample point to be removed.
*
* Deletes a sample point from an image.
*
* This procedure takes an image and a sample point ID as input and
* removes the specified sample point from the specified image.
*
* Returns: TRUE on success.
*
* Since: 2.10
**/
gboolean
pika_image_delete_sample_point (PikaImage *image,
guint sample_point)
{
PikaValueArray *args;
PikaValueArray *return_vals;
gboolean success = TRUE;
args = pika_value_array_new_from_types (NULL,
PIKA_TYPE_IMAGE, image,
G_TYPE_UINT, sample_point,
G_TYPE_NONE);
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
"pika-image-delete-sample-point",
args);
pika_value_array_unref (args);
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
pika_value_array_unref (return_vals);
return success;
}
/**
* pika_image_find_next_sample_point:
* @image: The image.
* @sample_point: The ID of the current sample point (0 if first invocation).
*
* Find next sample point on an image.
*
* This procedure takes an image and a sample point ID as input and
* finds the sample point ID of the successor of the given sample point
* ID in the image's sample point list. If the supplied sample point ID
* is 0, the procedure will return the first sample point. The
* procedure will return 0 if given the final sample point ID as an
* argument or the image has no sample points.
*
* Returns: The next sample point's ID.
*
* Since: 2.10
**/
guint
pika_image_find_next_sample_point (PikaImage *image,
guint sample_point)
{
PikaValueArray *args;
PikaValueArray *return_vals;
guint next_sample_point = 0;
args = pika_value_array_new_from_types (NULL,
PIKA_TYPE_IMAGE, image,
G_TYPE_UINT, sample_point,
G_TYPE_NONE);
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
"pika-image-find-next-sample-point",
args);
pika_value_array_unref (args);
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
next_sample_point = PIKA_VALUES_GET_UINT (return_vals, 1);
pika_value_array_unref (return_vals);
return next_sample_point;
}
/**
* pika_image_get_sample_point_position:
* @image: The image.
* @sample_point: The guide.
* @position_y: (out): The sample point's y-offset relative to top of image.
*
* Get position of a sample point on an image.
*
* This procedure takes an image and a sample point ID as input and
* returns the position of the sample point relative to the top and
* left of the image.
*
* Returns: The sample point's x-offset relative to left of image.
*
* Since: 2.10
**/
gint
pika_image_get_sample_point_position (PikaImage *image,
guint sample_point,
gint *position_y)
{
PikaValueArray *args;
PikaValueArray *return_vals;
gint position_x = G_MININT;
args = pika_value_array_new_from_types (NULL,
PIKA_TYPE_IMAGE, image,
G_TYPE_UINT, sample_point,
G_TYPE_NONE);
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
"pika-image-get-sample-point-position",
args);
pika_value_array_unref (args);
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
{
position_x = PIKA_VALUES_GET_INT (return_vals, 1);
*position_y = PIKA_VALUES_GET_INT (return_vals, 2);
}
pika_value_array_unref (return_vals);
return position_x;
}