summaryrefslogtreecommitdiff
path: root/assets/javascripts/rectangles/draw.js
diff options
context:
space:
mode:
Diffstat (limited to 'assets/javascripts/rectangles/draw.js')
-rw-r--r--assets/javascripts/rectangles/draw.js26
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)
+}