gimpchannel_pdb.c 8.7 KB
Newer Older
1
/* LIBGIMP - The GIMP Library
2
 * Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball
3 4
 *
 * gimpchannel_pdb.c
Manish Singh's avatar
Manish Singh committed
5 6
 *
 * This library is free software; you can redistribute it and/or
Marc Lehmann's avatar
Marc Lehmann committed
7
 * modify it under the terms of the GNU Lesser General Public
Manish Singh's avatar
Manish Singh committed
8
 * License as published by the Free Software Foundation; either
9 10 11 12 13
 * version 2 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
14
 * Lesser General Public License for more details.
Manish Singh's avatar
Manish Singh committed
15
 *
Marc Lehmann's avatar
Marc Lehmann committed
16
 * You should have received a copy of the GNU Lesser General Public
17 18 19
 * License along with this library; if not, write to the
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 * Boston, MA 02111-1307, USA.
20
 */
21

22
/* NOTE: This file is autogenerated by pdbgen.pl */
Elliot Lee's avatar
Elliot Lee committed
23

Sven Neumann's avatar
Sven Neumann committed
24 25
#include "config.h"

26
#include "gimp.h"
Elliot Lee's avatar
Elliot Lee committed
27

28 29 30 31 32 33 34
/**
 * _gimp_channel_new:
 * @image_ID: The image to which to add the channel.
 * @width: The channel width.
 * @height: The channel height.
 * @name: The channel name.
 * @opacity: The channel opacity.
35
 * @color: The channel compositing color.
36 37 38 39 40 41 42 43 44 45 46 47 48
 *
 * Create a new channel.
 *
 * This procedure creates a new channel with the specified width and
 * height. Name, opacity, and color are also supplied parameters. The
 * new channel still needs to be added to the image, as this is not
 * automatic. Add the new channel with the 'gimp_image_add_channel'
 * command. Other attributes such as channel show masked, should be set
 * with explicit procedure calls. The channel's contents are undefined
 * initially.
 *
 * Returns: The newly created channel.
 */
Elliot Lee's avatar
Elliot Lee committed
49
gint32
50 51 52 53 54 55
_gimp_channel_new (gint32         image_ID,
		   gint           width,
		   gint           height,
		   const gchar   *name,
		   gdouble        opacity,
		   const GimpRGB *color)
Elliot Lee's avatar
Elliot Lee committed
56
{
57
  GimpParam *return_vals;
58
  gint nreturn_vals;
59
  gint32 channel_ID = -1;
Elliot Lee's avatar
Elliot Lee committed
60 61 62

  return_vals = gimp_run_procedure ("gimp_channel_new",
				    &nreturn_vals,
63 64 65 66 67 68 69 70 71
				    GIMP_PDB_IMAGE, image_ID,
				    GIMP_PDB_INT32, width,
				    GIMP_PDB_INT32, height,
				    GIMP_PDB_STRING, name,
				    GIMP_PDB_FLOAT, opacity,
				    GIMP_PDB_COLOR, color,
				    GIMP_PDB_END);

  if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS)
Elliot Lee's avatar
Elliot Lee committed
72 73 74 75 76 77 78
    channel_ID = return_vals[1].data.d_channel;

  gimp_destroy_params (return_vals, nreturn_vals);

  return channel_ID;
}

79 80 81 82 83 84 85 86 87 88
/**
 * gimp_channel_copy:
 * @channel_ID: The channel to copy.
 *
 * Copy a channel.
 *
 * This procedure copies the specified channel and returns the copy.
 *
 * Returns: The newly copied channel.
 */
Elliot Lee's avatar
Elliot Lee committed
89 90 91
gint32
gimp_channel_copy (gint32 channel_ID)
{
92
  GimpParam *return_vals;
93
  gint nreturn_vals;
94
  gint32 channel_copy_ID = -1;
Elliot Lee's avatar
Elliot Lee committed
95 96 97

  return_vals = gimp_run_procedure ("gimp_channel_copy",
				    &nreturn_vals,
98 99
				    GIMP_PDB_CHANNEL, channel_ID,
				    GIMP_PDB_END);
Elliot Lee's avatar
Elliot Lee committed
100

101
  if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS)
102
    channel_copy_ID = return_vals[1].data.d_channel;
Elliot Lee's avatar
Elliot Lee committed
103 104 105

  gimp_destroy_params (return_vals, nreturn_vals);

106
  return channel_copy_ID;
Elliot Lee's avatar
Elliot Lee committed
107 108
}

109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
/**
 * gimp_channel_combine_masks:
 * @channel1_ID: The channel1.
 * @channel2_ID: The channel2.
 * @operation: The selection operation.
 * @offx: x offset between upper left corner of channels: (second - first).
 * @offy: y offset between upper left corner of channels: (second - first).
 *
 * Combine two channel masks.
 *
 * This procedure combines two channel masks. The result is stored in
 * the first channel.
 *
 * Returns: TRUE on success.
 */
gboolean
gimp_channel_combine_masks (gint32         channel1_ID,
			    gint32         channel2_ID,
			    GimpChannelOps operation,
			    gint           offx,
			    gint           offy)
{
  GimpParam *return_vals;
  gint nreturn_vals;
  gboolean success = TRUE;

  return_vals = gimp_run_procedure ("gimp_channel_combine_masks",
				    &nreturn_vals,
				    GIMP_PDB_CHANNEL, channel1_ID,
				    GIMP_PDB_CHANNEL, channel2_ID,
				    GIMP_PDB_INT32, operation,
				    GIMP_PDB_INT32, offx,
				    GIMP_PDB_INT32, offy,
				    GIMP_PDB_END);
Elliot Lee's avatar
Elliot Lee committed
143

144 145
  success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;

Elliot Lee's avatar
Elliot Lee committed
146
  gimp_destroy_params (return_vals, nreturn_vals);
147 148

  return success;
Elliot Lee's avatar
Elliot Lee committed
149 150
}

151 152 153 154 155 156 157 158 159 160 161 162 163
/**
 * gimp_channel_get_show_masked:
 * @channel_ID: The channel.
 *
 * Get the composite method of the specified channel.
 *
 * This procedure returns the specified channel's composite method. If
 * it is non-zero, then the channel is composited with the image so
 * that masked regions are shown. Otherwise, selected regions are
 * shown.
 *
 * Returns: The channel composite method.
 */
164 165 166
gboolean
gimp_channel_get_show_masked (gint32 channel_ID)
{
167
  GimpParam *return_vals;
168 169 170 171
  gint nreturn_vals;
  gboolean show_masked = FALSE;

  return_vals = gimp_run_procedure ("gimp_channel_get_show_masked",
Elliot Lee's avatar
Elliot Lee committed
172
				    &nreturn_vals,
173 174
				    GIMP_PDB_CHANNEL, channel_ID,
				    GIMP_PDB_END);
Elliot Lee's avatar
Elliot Lee committed
175

176
  if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS)
177 178
    show_masked = return_vals[1].data.d_int32;

Elliot Lee's avatar
Elliot Lee committed
179
  gimp_destroy_params (return_vals, nreturn_vals);
180 181

  return show_masked;
Elliot Lee's avatar
Elliot Lee committed
182 183
}

184 185 186 187 188 189 190 191 192 193 194 195 196
/**
 * gimp_channel_set_show_masked:
 * @channel_ID: The channel.
 * @show_masked: The new channel composite method.
 *
 * Set the composite method of the specified channel.
 *
 * This procedure sets the specified channel's composite method. If it
 * is non-zero, then the channel is composited with the image so that
 * masked regions are shown. Otherwise, selected regions are shown.
 *
 * Returns: TRUE on success.
 */
197
gboolean
198 199
gimp_channel_set_show_masked (gint32   channel_ID,
			      gboolean show_masked)
Elliot Lee's avatar
Elliot Lee committed
200
{
201
  GimpParam *return_vals;
202
  gint nreturn_vals;
203
  gboolean success = TRUE;
Elliot Lee's avatar
Elliot Lee committed
204

205
  return_vals = gimp_run_procedure ("gimp_channel_set_show_masked",
Elliot Lee's avatar
Elliot Lee committed
206
				    &nreturn_vals,
207 208 209
				    GIMP_PDB_CHANNEL, channel_ID,
				    GIMP_PDB_INT32, show_masked,
				    GIMP_PDB_END);
Elliot Lee's avatar
Elliot Lee committed
210

211 212
  success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;

Elliot Lee's avatar
Elliot Lee committed
213
  gimp_destroy_params (return_vals, nreturn_vals);
214 215

  return success;
Elliot Lee's avatar
Elliot Lee committed
216 217
}

218 219 220 221 222 223 224 225 226 227
/**
 * gimp_channel_get_opacity:
 * @channel_ID: The channel.
 *
 * Get the opacity of the specified channel.
 *
 * This procedure returns the specified channel's opacity.
 *
 * Returns: The channel opacity.
 */
228 229
gdouble
gimp_channel_get_opacity (gint32 channel_ID)
Elliot Lee's avatar
Elliot Lee committed
230
{
231
  GimpParam *return_vals;
232
  gint nreturn_vals;
233
  gdouble opacity = 0;
Elliot Lee's avatar
Elliot Lee committed
234

235
  return_vals = gimp_run_procedure ("gimp_channel_get_opacity",
Elliot Lee's avatar
Elliot Lee committed
236
				    &nreturn_vals,
237 238
				    GIMP_PDB_CHANNEL, channel_ID,
				    GIMP_PDB_END);
Elliot Lee's avatar
Elliot Lee committed
239

240
  if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS)
241 242
    opacity = return_vals[1].data.d_float;

Elliot Lee's avatar
Elliot Lee committed
243
  gimp_destroy_params (return_vals, nreturn_vals);
244 245

  return opacity;
Elliot Lee's avatar
Elliot Lee committed
246 247
}

248 249 250 251 252 253 254 255 256 257 258
/**
 * gimp_channel_set_opacity:
 * @channel_ID: The channel.
 * @opacity: The new channel opacity.
 *
 * Set the opacity of the specified channel.
 *
 * This procedure sets the specified channel's opacity.
 *
 * Returns: TRUE on success.
 */
259
gboolean
260 261
gimp_channel_set_opacity (gint32  channel_ID,
			  gdouble opacity)
Elliot Lee's avatar
Elliot Lee committed
262
{
263
  GimpParam *return_vals;
264
  gint nreturn_vals;
265
  gboolean success = TRUE;
Elliot Lee's avatar
Elliot Lee committed
266

267
  return_vals = gimp_run_procedure ("gimp_channel_set_opacity",
Elliot Lee's avatar
Elliot Lee committed
268
				    &nreturn_vals,
269 270 271
				    GIMP_PDB_CHANNEL, channel_ID,
				    GIMP_PDB_FLOAT, opacity,
				    GIMP_PDB_END);
Elliot Lee's avatar
Elliot Lee committed
272

273 274
  success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;

Elliot Lee's avatar
Elliot Lee committed
275
  gimp_destroy_params (return_vals, nreturn_vals);
276 277

  return success;
Elliot Lee's avatar
Elliot Lee committed
278
}
279

280 281 282
/**
 * gimp_channel_get_color:
 * @channel_ID: The channel.
283
 * @color: The channel compositing color.
284 285 286 287 288 289 290
 *
 * Get the compositing color of the specified channel.
 *
 * This procedure returns the specified channel's compositing color.
 *
 * Returns: TRUE on success.
 */
291
gboolean
292 293
gimp_channel_get_color (gint32   channel_ID,
			GimpRGB *color)
294
{
295
  GimpParam *return_vals;
296
  gint nreturn_vals;
297
  gboolean success = TRUE;
298

299
  return_vals = gimp_run_procedure ("gimp_channel_get_color",
300
				    &nreturn_vals,
301 302
				    GIMP_PDB_CHANNEL, channel_ID,
				    GIMP_PDB_END);
303

304 305 306
  success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;

  if (success)
307
    *color = return_vals[1].data.d_color;
308

309
  gimp_destroy_params (return_vals, nreturn_vals);
310 311

  return success;
312
}
313

Manish Singh's avatar
Manish Singh committed
314 315 316 317 318 319 320 321 322 323 324 325
/**
 * gimp_channel_set_color:
 * @channel_ID: The channel.
 * @color: The new channel compositing color.
 *
 * Set the compositing color of the specified channel.
 *
 * This procedure sets the specified channel's compositing color.
 *
 * Returns: TRUE on success.
 */
gboolean
326 327
gimp_channel_set_color (gint32         channel_ID,
			const GimpRGB *color)
Manish Singh's avatar
Manish Singh committed
328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344
{
  GimpParam *return_vals;
  gint nreturn_vals;
  gboolean success = TRUE;

  return_vals = gimp_run_procedure ("gimp_channel_set_color",
				    &nreturn_vals,
				    GIMP_PDB_CHANNEL, channel_ID,
				    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;
}