summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--js/draw.js7
-rw-r--r--js/lex.js5
2 files changed, 6 insertions, 6 deletions
diff --git a/js/draw.js b/js/draw.js
index 77e149b..cedfea2 100644
--- a/js/draw.js
+++ b/js/draw.js
@@ -43,18 +43,19 @@ var draw = (function(){
}
function stamp (canvas, brush, x, y, erasing) {
- hh = brush.w/2|0
+ var hh = brush.w/2|0
brush.forEach(function(lex, s, t){
s = round( s + x-hh )
t = round( t + y-hh )
- if (lex.opacity > 0 && s >= 0 && s < canvas.w && t >= 0 && t < canvas.h) {
+ if (s >= 0 && s < canvas.w && t >= 0 && t < canvas.h) {
+ if (lex.opacity === 0 && lex.char === ' ') return;
var aa = canvas.aa[t][s]
undo.save_lex(s, t, aa)
if (erasing) {
aa.erase(lex)
}
else {
- aa.paint(lex)
+ aa.stamp(lex, brush)
}
}
})
diff --git a/js/lex.js b/js/lex.js
index 8a6d248..70dd2bf 100644
--- a/js/lex.js
+++ b/js/lex.js
@@ -65,10 +65,9 @@ Lex.prototype.assign = function (lex){
this.opacity = lex.opacity
this.build()
}
-Lex.prototype.paint = function (lex){
- if (lex.opacity == 0) return
+Lex.prototype.stamp = function (lex, brush){
if (brush.draw_fg) this.fg = lex.fg
- if (brush.draw_bg) this.bg = lex.bg
+ if (brush.draw_bg && lex.opacity > 0) this.bg = lex.bg
if (brush.draw_char) this.char = lex.char
this.opacity = 1
this.build()