summaryrefslogtreecommitdiff
path: root/js/draw.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/draw.js')
-rw-r--r--js/draw.js78
1 files changed, 39 insertions, 39 deletions
diff --git a/js/draw.js b/js/draw.js
index 36be079..4b03254 100644
--- a/js/draw.js
+++ b/js/draw.js
@@ -54,45 +54,45 @@ var draw = (function(){
}
function fill (lex, x, y) {
- var q = [ [x,y] ]
- var target = canvas.aa[y][x].copy()
- var n, w = 0, e = 0, j = 0
- var kk = 0
- // gets into a weird infinite loop if we don't break here.. :\
- if (target.eq(lex)) { return }
- LOOP: while (q.length) {
- n = q.shift()
- if (canvas.aa[n[1]][n[0]].ne(target)) {
- continue LOOP
- }
- w = e = n[0]
- j = n[1]
- WEST: while (w > 0) {
- if (canvas.aa[j][w-1].eq(target)) {
- w = w-1
- }
- else {
- break WEST
- }
- }
- EAST: while (e < canvas.w-1) {
- if (canvas.aa[j][e+1].eq(target)) {
- e = e+1
- }
- else {
- break EAST
- }
- }
- for (var i = w; i <= e; i++) {
- canvas.aa[j][i].clone(lex)
- if (j > 0 && canvas.aa[j-1][i].eq(target)) {
- q.push([ i, j-1 ])
- }
- if (j < canvas.h-1 && canvas.aa[j+1][i].eq(target)) {
- q.push([ i, j+1 ])
- }
- }
- }
+ var q = [ [x,y] ]
+ var target = canvas.aa[y][x].copy()
+ var n, w = 0, e = 0, j = 0
+ var kk = 0
+ // gets into a weird infinite loop if we don't break here.. :\
+ if (target.eq(lex)) { return }
+ LOOP: while (q.length) {
+ n = q.shift()
+ if (canvas.aa[n[1]][n[0]].ne(target)) {
+ continue LOOP
+ }
+ w = e = n[0]
+ j = n[1]
+ WEST: while (w > 0) {
+ if (canvas.aa[j][w-1].eq(target)) {
+ w = w-1
+ }
+ else {
+ break WEST
+ }
+ }
+ EAST: while (e < canvas.w-1) {
+ if (canvas.aa[j][e+1].eq(target)) {
+ e = e+1
+ }
+ else {
+ break EAST
+ }
+ }
+ for (var i = w; i <= e; i++) {
+ canvas.aa[j][i].clone(lex)
+ if (j > 0 && canvas.aa[j-1][i].eq(target)) {
+ q.push([ i, j-1 ])
+ }
+ if (j < canvas.h-1 && canvas.aa[j+1][i].eq(target)) {
+ q.push([ i, j+1 ])
+ }
+ }
+ }
}
var draw = {}