1 /* GIMP - The GNU Image Manipulation Program 2 * Copyright (C) 1995 Spencer Kimball and Peter Mattis 3 * 4 * This program is free software: you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 3 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program. If not, see <https://www.gnu.org/licenses/>. 16 */ 17 18 #ifndef __GIMP_CHANNEL_SELECT_H__ 19 #define __GIMP_CHANNEL_SELECT_H__ 20 21 22 /* basic selection functions */ 23 24 void gimp_channel_select_rectangle (GimpChannel *channel, 25 gint x, 26 gint y, 27 gint w, 28 gint h, 29 GimpChannelOps op, 30 gboolean feather, 31 gdouble feather_radius_x, 32 gdouble feather_radius_y, 33 gboolean push_undo); 34 void gimp_channel_select_ellipse (GimpChannel *channel, 35 gint x, 36 gint y, 37 gint w, 38 gint h, 39 GimpChannelOps op, 40 gboolean antialias, 41 gboolean feather, 42 gdouble feather_radius_x, 43 gdouble feather_radius_y, 44 gboolean push_undo); 45 void gimp_channel_select_round_rect (GimpChannel *channel, 46 gint x, 47 gint y, 48 gint w, 49 gint h, 50 gdouble corner_radius_y, 51 gdouble corner_radius_x, 52 GimpChannelOps op, 53 gboolean antialias, 54 gboolean feather, 55 gdouble feather_radius_x, 56 gdouble feather_radius_y, 57 gboolean push_undo); 58 59 /* select by GimpScanConvert functions */ 60 61 void gimp_channel_select_scan_convert (GimpChannel *channel, 62 const gchar *undo_desc, 63 GimpScanConvert *scan_convert, 64 gint offset_x, 65 gint offset_y, 66 GimpChannelOps op, 67 gboolean antialias, 68 gboolean feather, 69 gdouble feather_radius_x, 70 gdouble feather_radius_y, 71 gboolean push_undo); 72 void gimp_channel_select_polygon (GimpChannel *channel, 73 const gchar *undo_desc, 74 gint n_points, 75 const GimpVector2 *points, 76 GimpChannelOps op, 77 gboolean antialias, 78 gboolean feather, 79 gdouble feather_radius_x, 80 gdouble feather_radius_y, 81 gboolean push_undo); 82 void gimp_channel_select_vectors (GimpChannel *channel, 83 const gchar *undo_desc, 84 GimpVectors *vectors, 85 GimpChannelOps op, 86 gboolean antialias, 87 gboolean feather, 88 gdouble feather_radius_x, 89 gdouble feather_radius_y, 90 gboolean push_undo); 91 void gimp_channel_select_buffer (GimpChannel *channel, 92 const gchar *undo_desc, 93 GeglBuffer *add_on, 94 gint offset_x, 95 gint offset_y, 96 GimpChannelOps op, 97 gboolean feather, 98 gdouble feather_radius_x, 99 gdouble feather_radius_y); 100 101 102 /* select by GimpChannel functions */ 103 104 void gimp_channel_select_channel (GimpChannel *channel, 105 const gchar *undo_desc, 106 GimpChannel *add_on, 107 gint offset_x, 108 gint offset_y, 109 GimpChannelOps op, 110 gboolean feather, 111 gdouble feather_radius_x, 112 gdouble feather_radius_y); 113 void gimp_channel_select_alpha (GimpChannel *channel, 114 GimpDrawable *drawable, 115 GimpChannelOps op, 116 gboolean feather, 117 gdouble feather_radius_x, 118 gdouble feather_radius_y); 119 void gimp_channel_select_component (GimpChannel *channel, 120 GimpChannelType component, 121 GimpChannelOps op, 122 gboolean feather, 123 gdouble feather_radius_x, 124 gdouble feather_radius_y); 125 void gimp_channel_select_fuzzy (GimpChannel *channel, 126 GimpDrawable *drawable, 127 gboolean sample_merged, 128 gint x, 129 gint y, 130 gfloat threshold, 131 gboolean select_transparent, 132 GimpSelectCriterion select_criterion, 133 gboolean diagonal_neighbors, 134 GimpChannelOps op, 135 gboolean antialias, 136 gboolean feather, 137 gdouble feather_radius_x, 138 gdouble feather_radius_y); 139 void gimp_channel_select_by_color (GimpChannel *channel, 140 GimpDrawable *drawable, 141 gboolean sample_merged, 142 const GimpRGB *color, 143 gfloat threshold, 144 gboolean select_transparent, 145 GimpSelectCriterion select_criterion, 146 GimpChannelOps op, 147 gboolean antialias, 148 gboolean feather, 149 gdouble feather_radius_x, 150 gdouble feather_radius_y); 151 void gimp_channel_select_by_index (GimpChannel *channel, 152 GimpDrawable *drawable, 153 gint index, 154 GimpChannelOps op, 155 gboolean feather, 156 gdouble feather_radius_x, 157 gdouble feather_radius_y); 158 159 160 #endif /* __GIMP_CHANNEL_SELECT_H__ */ 161