211 lines
6.6 KiB
C
211 lines
6.6 KiB
C
/* 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;
|
|
}
|