[gimp] app: use GimpFillType in gimp_drawable_bucket_fill()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: use GimpFillType in gimp_drawable_bucket_fill()
- Date: Mon, 2 Jun 2014 23:37:43 +0000 (UTC)
commit 1416743b5c6e8c45ae71f33c6e11213aca3ebb88
Author: Michael Natterer <mitch gimp org>
Date: Tue Jun 3 01:34:51 2014 +0200
app: use GimpFillType in gimp_drawable_bucket_fill()
GimpBucketFillMode is now tool- and pdb-only.
app/core/gimpdrawable-bucket-fill.c | 53 +++++++++++++++----------
app/core/gimpdrawable-bucket-fill.h | 2 +-
app/pdb/edit-cmds.c | 76 +++++++++++++++++-----------------
app/tools/gimpbucketfilltool.c | 33 +++++++--------
tools/pdbgen/pdb/edit.pdb | 76 +++++++++++++++++-----------------
5 files changed, 125 insertions(+), 115 deletions(-)
---
diff --git a/app/core/gimpdrawable-bucket-fill.c b/app/core/gimpdrawable-bucket-fill.c
index 80105a6..fb2178a 100644
--- a/app/core/gimpdrawable-bucket-fill.c
+++ b/app/core/gimpdrawable-bucket-fill.c
@@ -47,7 +47,7 @@
static void gimp_drawable_bucket_fill_internal (GimpDrawable *drawable,
- GimpBucketFillMode fill_mode,
+ GimpFillType fill_type,
gint paint_mode,
gdouble opacity,
gboolean fill_transparent,
@@ -65,7 +65,7 @@ static void gimp_drawable_bucket_fill_internal (GimpDrawable *drawable,
gboolean
gimp_drawable_bucket_fill (GimpDrawable *drawable,
GimpContext *context,
- GimpBucketFillMode fill_mode,
+ GimpFillType fill_type,
gint paint_mode,
gdouble opacity,
gboolean fill_transparent,
@@ -84,16 +84,25 @@ gimp_drawable_bucket_fill (GimpDrawable *drawable,
g_return_val_if_fail (GIMP_IS_CONTEXT (context), FALSE);
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
- if (fill_mode == GIMP_BUCKET_FILL_FG)
+ switch (fill_type)
{
+ case GIMP_FILL_FOREGROUND:
gimp_context_get_foreground (context, &color);
- }
- else if (fill_mode == GIMP_BUCKET_FILL_BG)
- {
+ break;
+
+ case GIMP_FILL_BACKGROUND:
gimp_context_get_background (context, &color);
- }
- else if (fill_mode == GIMP_BUCKET_FILL_PATTERN)
- {
+ break;
+
+ case GIMP_FILL_WHITE:
+ gimp_rgba_set (&color, 1.0, 1.0, 1.0, 1.0);
+ break;
+
+ case GIMP_FILL_TRANSPARENT:
+ gimp_rgba_set (&color, 0.0, 0.0, 0.0, 0.0);
+ break;
+
+ case GIMP_FILL_PATTERN:
pattern = gimp_context_get_pattern (context);
if (! pattern)
@@ -102,15 +111,15 @@ gimp_drawable_bucket_fill (GimpDrawable *drawable,
_("No patterns available for this operation."));
return FALSE;
}
- }
- else
- {
- g_warning ("%s: invalid fill_mode passed", G_STRFUNC);
+ break;
+
+ default:
+ g_warning ("%s: invalid fill_type passed", G_STRFUNC);
return FALSE;
}
gimp_drawable_bucket_fill_internal (drawable,
- fill_mode,
+ fill_type,
paint_mode, opacity,
fill_transparent, fill_criterion,
threshold, sample_merged,
@@ -125,7 +134,7 @@ gimp_drawable_bucket_fill (GimpDrawable *drawable,
static void
gimp_drawable_bucket_fill_internal (GimpDrawable *drawable,
- GimpBucketFillMode fill_mode,
+ GimpFillType fill_type,
gint paint_mode,
gdouble opacity,
gboolean fill_transparent,
@@ -148,9 +157,9 @@ gimp_drawable_bucket_fill_internal (GimpDrawable *drawable,
g_return_if_fail (GIMP_IS_DRAWABLE (drawable));
g_return_if_fail (gimp_item_is_attached (GIMP_ITEM (drawable)));
- g_return_if_fail (fill_mode != GIMP_BUCKET_FILL_PATTERN ||
+ g_return_if_fail (fill_type != GIMP_FILL_PATTERN ||
GIMP_IS_PATTERN (pattern));
- g_return_if_fail (fill_mode == GIMP_BUCKET_FILL_PATTERN ||
+ g_return_if_fail (fill_type == GIMP_FILL_PATTERN ||
color != NULL);
image = gimp_item_get_image (GIMP_ITEM (drawable));
@@ -230,10 +239,12 @@ gimp_drawable_bucket_fill_internal (GimpDrawable *drawable,
buffer = gegl_buffer_new (GEGL_RECTANGLE (0, 0, x2 - x1, y2 - y1),
gimp_drawable_get_format_with_alpha (drawable));
- switch (fill_mode)
+ switch (fill_type)
{
- case GIMP_BUCKET_FILL_FG:
- case GIMP_BUCKET_FILL_BG:
+ case GIMP_FILL_FOREGROUND:
+ case GIMP_FILL_BACKGROUND:
+ case GIMP_FILL_WHITE:
+ case GIMP_FILL_TRANSPARENT:
{
GeglColor *gegl_color = gimp_gegl_color_new (color);
@@ -242,7 +253,7 @@ gimp_drawable_bucket_fill_internal (GimpDrawable *drawable,
}
break;
- case GIMP_BUCKET_FILL_PATTERN:
+ case GIMP_FILL_PATTERN:
{
GeglBuffer *pattern_buffer = gimp_pattern_create_buffer (pattern);
diff --git a/app/core/gimpdrawable-bucket-fill.h b/app/core/gimpdrawable-bucket-fill.h
index 2804d28..b4fe1eb 100644
--- a/app/core/gimpdrawable-bucket-fill.h
+++ b/app/core/gimpdrawable-bucket-fill.h
@@ -21,7 +21,7 @@
gboolean gimp_drawable_bucket_fill (GimpDrawable *drawable,
GimpContext *context,
- GimpBucketFillMode fill_mode,
+ GimpFillType fill_type,
gint paint_mode,
gdouble opacity,
gboolean fill_transparent,
diff --git a/app/pdb/edit-cmds.c b/app/pdb/edit-cmds.c
index 472c6cb..6479f34 100644
--- a/app/pdb/edit-cmds.c
+++ b/app/pdb/edit-cmds.c
@@ -600,33 +600,33 @@ edit_bucket_fill_invoker (GimpProcedure *procedure,
GIMP_PDB_ITEM_CONTENT, error) &&
gimp_pdb_item_is_not_group (GIMP_ITEM (drawable), error))
{
- GimpImage *image = gimp_item_get_image (GIMP_ITEM (drawable));
+ GimpImage *image = gimp_item_get_image (GIMP_ITEM (drawable));
+ GimpFillType fill_type;
- if (! gimp_channel_is_empty (gimp_image_get_mask (image)))
+ switch (fill_mode)
{
- GimpFillType fill_type = GIMP_FILL_FOREGROUND;
-
- switch (fill_mode)
- {
- case GIMP_BUCKET_FILL_FG:
- fill_type = GIMP_FILL_FOREGROUND;
- break;
+ default:
+ case GIMP_BUCKET_FILL_FG:
+ fill_type = GIMP_FILL_FOREGROUND;
+ break;
- case GIMP_BUCKET_FILL_BG:
- fill_type = GIMP_FILL_BACKGROUND;
- break;
+ case GIMP_BUCKET_FILL_BG:
+ fill_type = GIMP_FILL_BACKGROUND;
+ break;
- case GIMP_BUCKET_FILL_PATTERN:
- fill_type = GIMP_FILL_PATTERN;
- break;
- }
+ case GIMP_BUCKET_FILL_PATTERN:
+ fill_type = GIMP_FILL_PATTERN;
+ break;
+ }
+ if (! gimp_channel_is_empty (gimp_image_get_mask (image)))
+ {
success = gimp_edit_fill (image, drawable, context, fill_type,
GIMP_OPACITY_OPAQUE, GIMP_NORMAL_MODE);
}
else
{
- success = gimp_drawable_bucket_fill (drawable, context, fill_mode,
+ success = gimp_drawable_bucket_fill (drawable, context, fill_type,
paint_mode, opacity / 100.0,
FALSE /* don't fill transparent */,
GIMP_SELECT_CRITERION_COMPOSITE,
@@ -680,33 +680,33 @@ edit_bucket_fill_full_invoker (GimpProcedure *procedure,
GIMP_PDB_ITEM_CONTENT, error) &&
gimp_pdb_item_is_not_group (GIMP_ITEM (drawable), error))
{
- GimpImage *image = gimp_item_get_image (GIMP_ITEM (drawable));
+ GimpImage *image = gimp_item_get_image (GIMP_ITEM (drawable));
+ GimpFillType fill_type;
- if (! gimp_channel_is_empty (gimp_image_get_mask (image)))
+ switch (fill_mode)
{
- GimpFillType fill_type = GIMP_FILL_FOREGROUND;
-
- switch (fill_mode)
- {
- case GIMP_BUCKET_FILL_FG:
- fill_type = GIMP_FILL_FOREGROUND;
- break;
+ default:
+ case GIMP_BUCKET_FILL_FG:
+ fill_type = GIMP_FILL_FOREGROUND;
+ break;
- case GIMP_BUCKET_FILL_BG:
- fill_type = GIMP_FILL_BACKGROUND;
- break;
+ case GIMP_BUCKET_FILL_BG:
+ fill_type = GIMP_FILL_BACKGROUND;
+ break;
- case GIMP_BUCKET_FILL_PATTERN:
- fill_type = GIMP_FILL_PATTERN;
- break;
- }
+ case GIMP_BUCKET_FILL_PATTERN:
+ fill_type = GIMP_FILL_PATTERN;
+ break;
+ }
+ if (! gimp_channel_is_empty (gimp_image_get_mask (image)))
+ {
success = gimp_edit_fill (image, drawable, context, fill_type,
GIMP_OPACITY_OPAQUE, GIMP_NORMAL_MODE);
}
else
{
- success = gimp_drawable_bucket_fill (drawable, context, fill_mode,
+ success = gimp_drawable_bucket_fill (drawable, context, fill_type,
paint_mode, opacity / 100.0,
fill_transparent,
select_criterion,
diff --git a/app/tools/gimpbucketfilltool.c b/app/tools/gimpbucketfilltool.c
index 41a227a..be3ac8c 100644
--- a/app/tools/gimpbucketfilltool.c
+++ b/app/tools/gimpbucketfilltool.c
@@ -173,8 +173,23 @@ gimp_bucket_fill_tool_button_release (GimpTool *tool,
{
GimpDrawable *drawable = gimp_image_get_active_drawable (image);
GimpContext *context = GIMP_CONTEXT (options);
+ GimpFillType fill_type;
gint x, y;
+ switch (options->fill_mode)
+ {
+ default:
+ case GIMP_BUCKET_FILL_FG:
+ fill_type = GIMP_FILL_FOREGROUND;
+ break;
+ case GIMP_BUCKET_FILL_BG:
+ fill_type = GIMP_FILL_BACKGROUND;
+ break;
+ case GIMP_BUCKET_FILL_PATTERN:
+ fill_type = GIMP_FILL_PATTERN;
+ break;
+ }
+
x = coords->x;
y = coords->y;
@@ -190,22 +205,6 @@ gimp_bucket_fill_tool_button_release (GimpTool *tool,
if (options->fill_selection)
{
- GimpFillType fill_type;
-
- switch (options->fill_mode)
- {
- default:
- case GIMP_BUCKET_FILL_FG:
- fill_type = GIMP_FILL_FOREGROUND;
- break;
- case GIMP_BUCKET_FILL_BG:
- fill_type = GIMP_FILL_BACKGROUND;
- break;
- case GIMP_BUCKET_FILL_PATTERN:
- fill_type = GIMP_FILL_PATTERN;
- break;
- }
-
gimp_edit_fill (image, drawable, context, fill_type,
gimp_context_get_opacity (context),
gimp_context_get_paint_mode (context));
@@ -217,7 +216,7 @@ gimp_bucket_fill_tool_button_release (GimpTool *tool,
if (! gimp_drawable_bucket_fill (drawable,
context,
- options->fill_mode,
+ fill_type,
gimp_context_get_paint_mode (context),
gimp_context_get_opacity (context),
options->fill_transparent,
diff --git a/tools/pdbgen/pdb/edit.pdb b/tools/pdbgen/pdb/edit.pdb
index 17cbcb8..f5dc292 100644
--- a/tools/pdbgen/pdb/edit.pdb
+++ b/tools/pdbgen/pdb/edit.pdb
@@ -636,33 +636,33 @@ HELP
GIMP_PDB_ITEM_CONTENT, error) &&
gimp_pdb_item_is_not_group (GIMP_ITEM (drawable), error))
{
- GimpImage *image = gimp_item_get_image (GIMP_ITEM (drawable));
+ GimpImage *image = gimp_item_get_image (GIMP_ITEM (drawable));
+ GimpFillType fill_type;
- if (! gimp_channel_is_empty (gimp_image_get_mask (image)))
+ switch (fill_mode)
{
- GimpFillType fill_type = GIMP_FILL_FOREGROUND;
-
- switch (fill_mode)
- {
- case GIMP_BUCKET_FILL_FG:
- fill_type = GIMP_FILL_FOREGROUND;
- break;
+ default:
+ case GIMP_BUCKET_FILL_FG:
+ fill_type = GIMP_FILL_FOREGROUND;
+ break;
- case GIMP_BUCKET_FILL_BG:
- fill_type = GIMP_FILL_BACKGROUND;
- break;
+ case GIMP_BUCKET_FILL_BG:
+ fill_type = GIMP_FILL_BACKGROUND;
+ break;
- case GIMP_BUCKET_FILL_PATTERN:
- fill_type = GIMP_FILL_PATTERN;
- break;
- }
+ case GIMP_BUCKET_FILL_PATTERN:
+ fill_type = GIMP_FILL_PATTERN;
+ break;
+ }
+ if (! gimp_channel_is_empty (gimp_image_get_mask (image)))
+ {
success = gimp_edit_fill (image, drawable, context, fill_type,
GIMP_OPACITY_OPAQUE, GIMP_NORMAL_MODE);
}
else
{
- success = gimp_drawable_bucket_fill (drawable, context, fill_mode,
+ success = gimp_drawable_bucket_fill (drawable, context, fill_type,
paint_mode, opacity / 100.0,
FALSE /* don't fill transparent */,
GIMP_SELECT_CRITERION_COMPOSITE,
@@ -744,33 +744,33 @@ HELP
GIMP_PDB_ITEM_CONTENT, error) &&
gimp_pdb_item_is_not_group (GIMP_ITEM (drawable), error))
{
- GimpImage *image = gimp_item_get_image (GIMP_ITEM (drawable));
+ GimpImage *image = gimp_item_get_image (GIMP_ITEM (drawable));
+ GimpFillType fill_type;
- if (! gimp_channel_is_empty (gimp_image_get_mask (image)))
+ switch (fill_mode)
{
- GimpFillType fill_type = GIMP_FILL_FOREGROUND;
-
- switch (fill_mode)
- {
- case GIMP_BUCKET_FILL_FG:
- fill_type = GIMP_FILL_FOREGROUND;
- break;
+ default:
+ case GIMP_BUCKET_FILL_FG:
+ fill_type = GIMP_FILL_FOREGROUND;
+ break;
- case GIMP_BUCKET_FILL_BG:
- fill_type = GIMP_FILL_BACKGROUND;
- break;
+ case GIMP_BUCKET_FILL_BG:
+ fill_type = GIMP_FILL_BACKGROUND;
+ break;
- case GIMP_BUCKET_FILL_PATTERN:
- fill_type = GIMP_FILL_PATTERN;
- break;
- }
+ case GIMP_BUCKET_FILL_PATTERN:
+ fill_type = GIMP_FILL_PATTERN;
+ break;
+ }
+ if (! gimp_channel_is_empty (gimp_image_get_mask (image)))
+ {
success = gimp_edit_fill (image, drawable, context, fill_type,
GIMP_OPACITY_OPAQUE, GIMP_NORMAL_MODE);
}
else
{
- success = gimp_drawable_bucket_fill (drawable, context, fill_mode,
+ success = gimp_drawable_bucket_fill (drawable, context, fill_type,
paint_mode, opacity / 100.0,
fill_transparent,
select_criterion,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]