1 /* LIBGIMP - The GIMP Library
2  * Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball
3  *
4  * gimpimageguides_pdb.c
5  *
6  * This library is free software: you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 3 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library.  If not, see
18  * <https://www.gnu.org/licenses/>.
19  */
20 
21 /* NOTE: This file is auto-generated by pdbgen.pl */
22 
23 #include "config.h"
24 
25 #include "gimp.h"
26 
27 
28 /**
29  * SECTION: gimpimageguides
30  * @title: gimpimageguides
31  * @short_description: Functions for manipulating an image's guides.
32  *
33  * Functions for manipulating an image's guides.
34  **/
35 
36 
37 /**
38  * gimp_image_add_hguide:
39  * @image_ID: The image.
40  * @yposition: The guide's y-offset from top of image.
41  *
42  * Add a horizontal guide to an image.
43  *
44  * This procedure adds a horizontal guide to an image. It takes the
45  * input image and the y-position of the new guide as parameters. It
46  * returns the guide ID of the new guide.
47  *
48  * Returns: The new guide.
49  **/
50 gint32
gimp_image_add_hguide(gint32 image_ID,gint yposition)51 gimp_image_add_hguide (gint32 image_ID,
52                        gint   yposition)
53 {
54   GimpParam *return_vals;
55   gint nreturn_vals;
56   gint32 guide_ID = -1;
57 
58   return_vals = gimp_run_procedure ("gimp-image-add-hguide",
59                                     &nreturn_vals,
60                                     GIMP_PDB_IMAGE, image_ID,
61                                     GIMP_PDB_INT32, yposition,
62                                     GIMP_PDB_END);
63 
64   if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS)
65     guide_ID = return_vals[1].data.d_int32;
66 
67   gimp_destroy_params (return_vals, nreturn_vals);
68 
69   return guide_ID;
70 }
71 
72 /**
73  * gimp_image_add_vguide:
74  * @image_ID: The image.
75  * @xposition: The guide's x-offset from left of image.
76  *
77  * Add a vertical guide to an image.
78  *
79  * This procedure adds a vertical guide to an image. It takes the input
80  * image and the x-position of the new guide as parameters. It returns
81  * the guide ID of the new guide.
82  *
83  * Returns: The new guide.
84  **/
85 gint32
gimp_image_add_vguide(gint32 image_ID,gint xposition)86 gimp_image_add_vguide (gint32 image_ID,
87                        gint   xposition)
88 {
89   GimpParam *return_vals;
90   gint nreturn_vals;
91   gint32 guide_ID = -1;
92 
93   return_vals = gimp_run_procedure ("gimp-image-add-vguide",
94                                     &nreturn_vals,
95                                     GIMP_PDB_IMAGE, image_ID,
96                                     GIMP_PDB_INT32, xposition,
97                                     GIMP_PDB_END);
98 
99   if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS)
100     guide_ID = return_vals[1].data.d_int32;
101 
102   gimp_destroy_params (return_vals, nreturn_vals);
103 
104   return guide_ID;
105 }
106 
107 /**
108  * gimp_image_delete_guide:
109  * @image_ID: The image.
110  * @guide_ID: The ID of the guide to be removed.
111  *
112  * Deletes a guide from an image.
113  *
114  * This procedure takes an image and a guide ID as input and removes
115  * the specified guide from the specified image.
116  *
117  * Returns: TRUE on success.
118  **/
119 gboolean
gimp_image_delete_guide(gint32 image_ID,gint32 guide_ID)120 gimp_image_delete_guide (gint32 image_ID,
121                          gint32 guide_ID)
122 {
123   GimpParam *return_vals;
124   gint nreturn_vals;
125   gboolean success = TRUE;
126 
127   return_vals = gimp_run_procedure ("gimp-image-delete-guide",
128                                     &nreturn_vals,
129                                     GIMP_PDB_IMAGE, image_ID,
130                                     GIMP_PDB_INT32, guide_ID,
131                                     GIMP_PDB_END);
132 
133   success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;
134 
135   gimp_destroy_params (return_vals, nreturn_vals);
136 
137   return success;
138 }
139 
140 /**
141  * gimp_image_find_next_guide:
142  * @image_ID: The image.
143  * @guide_ID: The ID of the current guide (0 if first invocation).
144  *
145  * Find next guide on an image.
146  *
147  * This procedure takes an image and a guide ID as input and finds the
148  * guide ID of the successor of the given guide ID in the image's guide
149  * list. If the supplied guide ID is 0, the procedure will return the
150  * first Guide. The procedure will return 0 if given the final guide ID
151  * as an argument or the image has no guides.
152  *
153  * Returns: The next guide's ID.
154  **/
155 gint32
gimp_image_find_next_guide(gint32 image_ID,gint32 guide_ID)156 gimp_image_find_next_guide (gint32 image_ID,
157                             gint32 guide_ID)
158 {
159   GimpParam *return_vals;
160   gint nreturn_vals;
161   gint32 next_guide_ID = -1;
162 
163   return_vals = gimp_run_procedure ("gimp-image-find-next-guide",
164                                     &nreturn_vals,
165                                     GIMP_PDB_IMAGE, image_ID,
166                                     GIMP_PDB_INT32, guide_ID,
167                                     GIMP_PDB_END);
168 
169   if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS)
170     next_guide_ID = return_vals[1].data.d_int32;
171 
172   gimp_destroy_params (return_vals, nreturn_vals);
173 
174   return next_guide_ID;
175 }
176 
177 /**
178  * gimp_image_get_guide_orientation:
179  * @image_ID: The image.
180  * @guide_ID: The guide.
181  *
182  * Get orientation of a guide on an image.
183  *
184  * This procedure takes an image and a guide ID as input and returns
185  * the orientations of the guide.
186  *
187  * Returns: The guide's orientation.
188  **/
189 GimpOrientationType
gimp_image_get_guide_orientation(gint32 image_ID,gint32 guide_ID)190 gimp_image_get_guide_orientation (gint32 image_ID,
191                                   gint32 guide_ID)
192 {
193   GimpParam *return_vals;
194   gint nreturn_vals;
195   GimpOrientationType orientation = GIMP_ORIENTATION_UNKNOWN;
196 
197   return_vals = gimp_run_procedure ("gimp-image-get-guide-orientation",
198                                     &nreturn_vals,
199                                     GIMP_PDB_IMAGE, image_ID,
200                                     GIMP_PDB_INT32, guide_ID,
201                                     GIMP_PDB_END);
202 
203   if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS)
204     orientation = return_vals[1].data.d_int32;
205 
206   gimp_destroy_params (return_vals, nreturn_vals);
207 
208   return orientation;
209 }
210 
211 /**
212  * gimp_image_get_guide_position:
213  * @image_ID: The image.
214  * @guide_ID: The guide.
215  *
216  * Get position of a guide on an image.
217  *
218  * This procedure takes an image and a guide ID as input and returns
219  * the position of the guide relative to the top or left of the image.
220  *
221  * Returns: The guide's position relative to top or left of image.
222  **/
223 gint
gimp_image_get_guide_position(gint32 image_ID,gint32 guide_ID)224 gimp_image_get_guide_position (gint32 image_ID,
225                                gint32 guide_ID)
226 {
227   GimpParam *return_vals;
228   gint nreturn_vals;
229   gint position = G_MININT /* GIMP_GUIDE_POSITION_UNDEFINED */;
230 
231   return_vals = gimp_run_procedure ("gimp-image-get-guide-position",
232                                     &nreturn_vals,
233                                     GIMP_PDB_IMAGE, image_ID,
234                                     GIMP_PDB_INT32, guide_ID,
235                                     GIMP_PDB_END);
236 
237   if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS)
238     position = return_vals[1].data.d_int32;
239 
240   gimp_destroy_params (return_vals, nreturn_vals);
241 
242   return position;
243 }
244