diff options
Diffstat (limited to 'assets/javascripts/rectangles/draw.js')
| -rw-r--r-- | assets/javascripts/rectangles/draw.js | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/assets/javascripts/rectangles/draw.js b/assets/javascripts/rectangles/draw.js index 560c281..eb3dece 100644 --- a/assets/javascripts/rectangles/draw.js +++ b/assets/javascripts/rectangles/draw.js @@ -1,5 +1,6 @@ function clear_canvas(){ - ctx.fillStyle = "#fff" + ctx.fillStyle = "rgba(255,255,255,0.7)" + ctx.clearRect(0,0,w,h) ctx.fillRect(0,0,w,h) } function draw_ruler(){ @@ -27,7 +28,8 @@ function draw_regions(regions){ for (var i = 0; i < regions.length; i++) { if (regions[i].dupe) continue ctx.fillStyle = colors[i % colors.length] - regions[i].fill().stroke_sides() + fill_region(regions[i]) + stroke_sides(regions[i]) } } function draw_mouse(mouse){ @@ -38,11 +40,27 @@ function draw_mouse(mouse){ if (mouse.width() != 0 && mouse.height() != 0) { if (clipper.dragging) { - mouse.stroke() + stroke_rect(mouse) } else { ctx.fillStyle = "rgba(255,255,0,0.5)" - mouse.clone().translate().fill() + fill_region( mouse.clone().translate() ) } } } + +function fill_region(r){ + ctx.fillRect(r.x.a + r.translation.a, + r.y.a + r.translation.b, + r.x.length(), + r.y.length()) +} +function stroke_sides (r){ + if (r.sides & FRONT) line(r.x.a, r.y.a, r.x.b, r.y.a) + if (r.sides & BACK) line(r.x.a, r.y.b, r.x.b, r.y.b) + if (r.sides & LEFT) line(r.x.a, r.y.a, r.x.a, r.y.b) + if (r.sides & RIGHT) line(r.x.b, r.y.a, r.x.b, r.y.b) +} +function stroke_rect (r){ + line(r.x.a, r.y.a, r.x.b, r.y.b, r.translation) +} |
