diff options
| author | MenTaLguY <mental@rydia.net> | 2007-03-03 02:53:21 +0000 |
|---|---|---|
| committer | mental <mental@users.sourceforge.net> | 2007-03-03 02:53:21 +0000 |
| commit | 2f7339cc9bdd199cb8d6bbc0183c403580241942 (patch) | |
| tree | 2eb5aeb38ad65c5ae639a8099681aa82178d04b9 /src/flood-context.cpp | |
| parent | Factor out bitmap scanline check into separate function (diff) | |
| download | inkscape-2f7339cc9bdd199cb8d6bbc0183c403580241942.tar.gz inkscape-2f7339cc9bdd199cb8d6bbc0183c403580241942.zip | |
mess with naming a little bit and quiet compiler warnings about unhandled
cases
(bzr r2510)
Diffstat (limited to 'src/flood-context.cpp')
| -rw-r--r-- | src/flood-context.cpp | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/src/flood-context.cpp b/src/flood-context.cpp index 001acb1d7..4c9406e67 100644 --- a/src/flood-context.cpp +++ b/src/flood-context.cpp @@ -349,13 +349,13 @@ struct bitmap_coords_info { NR::Rect screen; }; -enum { - SP_FLOOD_TRACE_OK, - SP_FLOOD_TRACE_ABORTED, - SP_FLOOD_TRACE_BOUNDARY +enum ScanlineCheckResult { + SCANLINE_CHECK_OK, + SCANLINE_CHECK_ABORTED, + SCANLINE_CHECK_BOUNDARY }; -static int perform_bitmap_scanline_check(std::queue<NR::Point> *fill_queue, guchar *px, guchar *trace_px, unsigned char *orig_color, bitmap_coords_info bci) { +static ScanlineCheckResult perform_bitmap_scanline_check(std::queue<NR::Point> *fill_queue, guchar *px, guchar *trace_px, unsigned char *orig_color, bitmap_coords_info bci) { bool aborted = false; bool reached_screen_boundary = false; bool ok; @@ -399,9 +399,9 @@ static int perform_bitmap_scanline_check(std::queue<NR::Point> *fill_queue, guch } } while (ok); - if (aborted) { return SP_FLOOD_TRACE_ABORTED; } - if (reached_screen_boundary) { return SP_FLOOD_TRACE_BOUNDARY; } - return SP_FLOOD_TRACE_OK; + if (aborted) { return SCANLINE_CHECK_ABORTED; } + if (reached_screen_boundary) { return SCANLINE_CHECK_BOUNDARY; } + return SCANLINE_CHECK_OK; } static void sp_flood_do_flood_fill(SPEventContext *event_context, GdkEvent *event) { @@ -539,15 +539,17 @@ static void sp_flood_do_flood_fill(SPEventContext *event_context, GdkEvent *even bci.top_fill = top_fill; bci.bottom_fill = bottom_fill; - int result = perform_bitmap_scanline_check(&fill_queue, px, trace_px, orig_color, bci); + ScanlineCheckResult result = perform_bitmap_scanline_check(&fill_queue, px, trace_px, orig_color, bci); switch (result) { - case SP_FLOOD_TRACE_ABORTED: + case SCANLINE_CHECK_ABORTED: aborted = true; break; - case SP_FLOOD_TRACE_BOUNDARY: + case SCANLINE_CHECK_BOUNDARY: reached_screen_boundary = true; break; + default: + break; } bci.is_left = false; @@ -559,12 +561,14 @@ static void sp_flood_do_flood_fill(SPEventContext *event_context, GdkEvent *even result = perform_bitmap_scanline_check(&fill_queue, px, trace_px, orig_color, bci); switch (result) { - case SP_FLOOD_TRACE_ABORTED: + case SCANLINE_CHECK_ABORTED: aborted = true; break; - case SP_FLOOD_TRACE_BOUNDARY: + case SCANLINE_CHECK_BOUNDARY: reached_screen_boundary = true; break; + default: + break; } } } |
