summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2015-06-27 16:21:21 -0400
committerJules Laplace <jules@okfoc.us>2015-06-27 16:21:21 -0400
commitacc12af738380b292a01f83c889caa39a2fb84c8 (patch)
treed32b4f7e335b64daa9d51b5710b812cfbf9f18ab
parent819a959b73c3e9e35c6e4876373c0c51c3b9b9d5 (diff)
clone-stamp brush preserves brush mask
-rw-r--r--js/blit.js4
-rw-r--r--js/ui/brush.js7
-rw-r--r--js/ui/canvas.js1
-rw-r--r--js/ui/controls.js17
4 files changed, 14 insertions, 15 deletions
diff --git a/js/blit.js b/js/blit.js
index 5e46fb5..2e41f5c 100644
--- a/js/blit.js
+++ b/js/blit.js
@@ -78,6 +78,8 @@ var blit = (function(){
}
})
}
-
+ blit.square = function(A, lex){
+ // i.e. no transparency
+ }
return blit
})()
diff --git a/js/ui/brush.js b/js/ui/brush.js
index d9f35ce..e1d140d 100644
--- a/js/ui/brush.js
+++ b/js/ui/brush.js
@@ -7,6 +7,13 @@ var brush = (function(){
})
brush.modified = false
+
+ brush.mask = blit.circle
+
+ brush.generate = function(){
+ brush.fill(brush)
+ brush.mask(brush)
+ }
brush.bind = function(){
diff --git a/js/ui/canvas.js b/js/ui/canvas.js
index 1e66a5b..4822527 100644
--- a/js/ui/canvas.js
+++ b/js/ui/canvas.js
@@ -27,6 +27,7 @@ var canvas = current_canvas = (function(){
if (e.altKey) {
if (e.shiftKey) {
blit.copy_from(canvas, brush, floor(x-brush.w/2), floor(y-brush.h/2))
+ brush.mask(brush)
draw.set_last_point(e, point)
}
else {
diff --git a/js/ui/controls.js b/js/ui/controls.js
index c4c7f30..b5ed6b1 100644
--- a/js/ui/controls.js
+++ b/js/ui/controls.js
@@ -4,44 +4,33 @@ var controls = (function(){
controls.cross = new Tool (cross_el)
controls.cross.use = function(){
- brush.generate = controls.cross.generate
+ brush.mask = blit.cross
brush.generate()
drawing = true
brush.modified = false
}
- controls.cross.generate = function(){
- brush.fill(brush)
- blit.cross(brush)
- }
controls.cross.done = function(){
drawing = false
}
controls.circle = new Tool (circle_el)
controls.circle.use = function(){
- brush.generate = controls.circle.generate
+ brush.mask = blit.circle
brush.generate()
drawing = true
brush.modified = false
}
- controls.circle.generate = function(){
- brush.fill(brush)
- blit.circle(brush)
- }
controls.circle.done = function(){
drawing = false
}
controls.square = new Tool (square_el)
controls.square.use = function(){
- brush.generate = controls.square.generate
+ brush.mask = blit.square
brush.generate()
brush.modified = false
drawing = true
}
- controls.square.generate = function(){
- brush.fill(brush)
- }
controls.square.done = function(){
drawing = false
}