# HG changeset patch # User Matti Hamalainen # Date 1536229515 -10800 # Node ID 1d9f9c3d8ab18f38564e943dcd8a22c586e2a901 # Parent ea6eb65416072076009604a231df890fc7b13787 Fixes to multicolor/pixelw==2 flood fill. diff -r ea6eb6541607 -r 1d9f9c3d8ab1 draw_smart.pde --- a/draw_smart.pde Thu Sep 06 12:58:41 2018 +0300 +++ b/draw_smart.pde Thu Sep 06 13:25:15 2018 +0300 @@ -160,7 +160,7 @@ void floodfill_mc(int xx, int yy, int mbut) { - int x, y, ax, valid, okay, par, npar, zad; + int x, y, ax, valid, okay, par, npar; par = 0; if (g_pixelw == 2) @@ -186,7 +186,7 @@ for (y = 0; y < Y; y++) for (x = 0; x < X; x += g_pixelw) { - zad = 1024 + x + y * X; + int zad = 1024 + x + y * X; ax = int(g_fillmap[zad]); if (ax >= 100 && ax <= 199) { @@ -194,10 +194,10 @@ if (y > 0 && floodfill_mc_plop(npar, x, y - 1)) valid = 1; - if (x > g_pixelw && floodfill_mc_plop(npar, x - g_pixelw, y)) + if (x >= g_pixelw && floodfill_mc_plop(npar, x - g_pixelw, y)) valid = 1; - if (x < X - 1 - g_pixelw && floodfill_mc_plop(npar, x + g_pixelw, y)) + if (x <= X - g_pixelw - g_pixelw && floodfill_mc_plop(npar, x + g_pixelw, y)) valid = 1; if (y < Y - 1 && floodfill_mc_plop(npar, x, y + 1)) @@ -245,7 +245,7 @@ void floodfill_iq(int xx, int yy, int mbut) { - int x, y, ax, ay, valid, okay, par, npar, zad; + int x, y, ax, ay, valid, okay, par, npar; par = 0; if (mbut == LEFT) @@ -271,7 +271,7 @@ for (y = 0; y < Y; y++) for (x = 0; x < X; x++) { - zad = 1024 + x + y * X; + int zad = 1024 + x + y * X; ax = int(g_fillmap[zad]); if (ax == 100) {