/* LIBPIKA - The PIKA Library * Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball * * pikadrawableedit_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 * . */ /* NOTE: This file is auto-generated by pdbgen.pl */ #include "config.h" #include "stamp-pdbgen.h" #include "pika.h" /** * SECTION: pikadrawableedit * @title: pikadrawableedit * @short_description: Drawable edit functions (clear, fill, gradient, stroke etc.) * * Drawable edit functions (clear, fill, gradient, stroke etc.) **/ /** * pika_drawable_edit_clear: * @drawable: The drawable to clear from. * * Clear selected area of drawable. * * This procedure clears the specified drawable. If the drawable has an * alpha channel, the cleared pixels will become transparent. If the * drawable does not have an alpha channel, cleared pixels will be set * to the background color. This procedure only affects regions within * a selection if there is a selection active. * * This procedure is affected by the following context setters: * pika_context_set_background(). * * Returns: TRUE on success. **/ gboolean pika_drawable_edit_clear (PikaDrawable *drawable) { PikaValueArray *args; PikaValueArray *return_vals; gboolean success = TRUE; args = pika_value_array_new_from_types (NULL, PIKA_TYPE_DRAWABLE, drawable, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-drawable-edit-clear", 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_drawable_edit_fill: * @drawable: The drawable to fill to. * @fill_type: The type of fill. * * Fill selected area of drawable. * * This procedure fills the specified drawable according to fill mode. * This procedure only affects regions within a selection if there is a * selection active. If you want to fill the whole drawable, regardless * of the selection, use pika_drawable_fill(). * * This procedure is affected by the following context setters: * pika_context_set_opacity(), pika_context_set_paint_mode(), * pika_context_set_foreground(), pika_context_set_background(), * pika_context_set_pattern(). * * Returns: TRUE on success. **/ gboolean pika_drawable_edit_fill (PikaDrawable *drawable, PikaFillType fill_type) { PikaValueArray *args; PikaValueArray *return_vals; gboolean success = TRUE; args = pika_value_array_new_from_types (NULL, PIKA_TYPE_DRAWABLE, drawable, PIKA_TYPE_FILL_TYPE, fill_type, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-drawable-edit-fill", 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_drawable_edit_bucket_fill: * @drawable: The affected drawable. * @fill_type: The type of fill. * @x: The x coordinate of this bucket fill's application. * @y: The y coordinate of this bucket fill's application. * * Fill the area by a seed fill starting at the specified coordinates. * * This procedure does a seed fill at the specified coordinates, using * various parameters from the current context. * In the case of merged sampling, the x and y coordinates are relative * to the image's origin; otherwise, they are relative to the * drawable's origin. * * This procedure is affected by the following context setters: * pika_context_set_opacity(), pika_context_set_paint_mode(), * pika_context_set_foreground(), pika_context_set_background(), * pika_context_set_pattern(), pika_context_set_sample_threshold(), * pika_context_set_sample_merged(), * pika_context_set_sample_criterion(), * pika_context_set_diagonal_neighbors(), pika_context_set_antialias(). * * Returns: TRUE on success. * * Since: 2.10 **/ gboolean pika_drawable_edit_bucket_fill (PikaDrawable *drawable, PikaFillType fill_type, gdouble x, gdouble y) { PikaValueArray *args; PikaValueArray *return_vals; gboolean success = TRUE; args = pika_value_array_new_from_types (NULL, PIKA_TYPE_DRAWABLE, drawable, PIKA_TYPE_FILL_TYPE, fill_type, G_TYPE_DOUBLE, x, G_TYPE_DOUBLE, y, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-drawable-edit-bucket-fill", 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_drawable_edit_gradient_fill: * @drawable: The affected drawable. * @gradient_type: The type of gradient. * @offset: Offset relates to the starting and ending coordinates specified for the blend. This parameter is mode dependent. * @supersample: Do adaptive supersampling. * @supersample_max_depth: Maximum recursion levels for supersampling. * @supersample_threshold: Supersampling threshold. * @dither: Use dithering to reduce banding. * @x1: The x coordinate of this gradient's starting point. * @y1: The y coordinate of this gradient's starting point. * @x2: The x coordinate of this gradient's ending point. * @y2: The y coordinate of this gradient's ending point. * * Draw a gradient between the starting and ending coordinates with the * specified gradient type. * * This tool requires information on the gradient type. It creates the * specified variety of gradient using the starting and ending * coordinates as defined for each gradient type. For shapeburst * gradient types, the context's distance metric is also relevant and * can be updated with pika_context_set_distance_metric(). * * This procedure is affected by the following context setters: * pika_context_set_opacity(), pika_context_set_paint_mode(), * pika_context_set_foreground(), pika_context_set_background(), * pika_context_set_gradient() and all gradient property settings, * pika_context_set_distance_metric(). * * Returns: TRUE on success. * * Since: 2.10 **/ gboolean pika_drawable_edit_gradient_fill (PikaDrawable *drawable, PikaGradientType gradient_type, gdouble offset, gboolean supersample, gint supersample_max_depth, gdouble supersample_threshold, gboolean dither, gdouble x1, gdouble y1, gdouble x2, gdouble y2) { PikaValueArray *args; PikaValueArray *return_vals; gboolean success = TRUE; args = pika_value_array_new_from_types (NULL, PIKA_TYPE_DRAWABLE, drawable, PIKA_TYPE_GRADIENT_TYPE, gradient_type, G_TYPE_DOUBLE, offset, G_TYPE_BOOLEAN, supersample, G_TYPE_INT, supersample_max_depth, G_TYPE_DOUBLE, supersample_threshold, G_TYPE_BOOLEAN, dither, G_TYPE_DOUBLE, x1, G_TYPE_DOUBLE, y1, G_TYPE_DOUBLE, x2, G_TYPE_DOUBLE, y2, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-drawable-edit-gradient-fill", 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_drawable_edit_stroke_selection: * @drawable: The drawable to stroke to. * * Stroke the current selection * * This procedure strokes the current selection, painting along the * selection boundary with the active paint method and brush, or using * a plain line with configurable properties. The paint is applied to * the specified drawable regardless of the active selection. * * This procedure is affected by the following context setters: * pika_context_set_opacity(), pika_context_set_paint_mode(), * pika_context_set_paint_method(), pika_context_set_stroke_method(), * pika_context_set_foreground(), pika_context_set_brush() and all * brush property settings, pika_context_set_gradient() and all * gradient property settings, pika_context_set_line_width() and all * line property settings, pika_context_set_antialias(). * * Returns: TRUE on success. **/ gboolean pika_drawable_edit_stroke_selection (PikaDrawable *drawable) { PikaValueArray *args; PikaValueArray *return_vals; gboolean success = TRUE; args = pika_value_array_new_from_types (NULL, PIKA_TYPE_DRAWABLE, drawable, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-drawable-edit-stroke-selection", 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_drawable_edit_stroke_item: * @drawable: The drawable to stroke to. * @item: The item to stroke. * * Stroke the specified item * * This procedure strokes the specified item, painting along its * outline (e.g. along a path, or along a channel's boundary), with the * active paint method and brush, or using a plain line with * configurable properties. * * This procedure is affected by the following context setters: * pika_context_set_opacity(), pika_context_set_paint_mode(), * pika_context_set_paint_method(), pika_context_set_stroke_method(), * pika_context_set_foreground(), pika_context_set_brush() and all * brush property settings, pika_context_set_gradient() and all * gradient property settings, pika_context_set_line_width() and all * line property settings, pika_context_set_antialias(). * * Returns: TRUE on success. * * Since: 2.10 **/ gboolean pika_drawable_edit_stroke_item (PikaDrawable *drawable, PikaItem *item) { PikaValueArray *args; PikaValueArray *return_vals; gboolean success = TRUE; args = pika_value_array_new_from_types (NULL, PIKA_TYPE_DRAWABLE, drawable, PIKA_TYPE_ITEM, item, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-drawable-edit-stroke-item", 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; }