summaryrefslogtreecommitdiff
path: root/js/ui/controls.js
diff options
context:
space:
mode:
authorJulie Lala <jules@okfoc.us>2015-05-18 19:06:13 +0200
committerJulie Lala <jules@okfoc.us>2015-05-18 19:06:13 +0200
commitb1260ec54779359ac866bd9465788aca18351e2c (patch)
tree196117505387c1b35171083a71ff50e5c3c1b1ea /js/ui/controls.js
parent94ee178000e256dc41438cf4d867e1bced09563e (diff)
refactor how canvas resize fields work to support arrow keys
Diffstat (limited to 'js/ui/controls.js')
-rw-r--r--js/ui/controls.js66
1 files changed, 13 insertions, 53 deletions
diff --git a/js/ui/controls.js b/js/ui/controls.js
index b1b1eb4..9580f98 100644
--- a/js/ui/controls.js
+++ b/js/ui/controls.js
@@ -232,65 +232,25 @@ var controls = (function(){
})
})
- controls.width.key = int_key(function(n, keyCode){
- controls.width.blur()
- controls.width.char = ""+n
- controls.width.build()
- brush.w = n
- brush.rebuild()
- })
- controls.height.key = int_key(function(n, keyCode){
- controls.height.blur()
- controls.height.char = ""+n
- controls.height.build()
- brush.h = n
- brush.rebuild()
- })
-
- controls.canvas_width.key = int_key(function(n, keyCode){
- controls.canvas_width.read()
- if (controls.canvas_width.char.length < 3) {
- n = parseInt(controls.canvas_width.char) * 10 + n
- }
- controls.canvas_width.char = ""+n
- controls.canvas_width.build()
- })
- controls.canvas_width.onBlur = function(){
- var w = parseInt(controls.canvas_width.char)
- if (! w) return;
- controls.canvas_width.char = w+""
- controls.canvas_width.build()
- canvas.resize(w, canvas.h)
- }
+ controls.width.key = keys.single_numeral_key(controls.width, brush, "w", 1, 10)
+ controls.width.raw_key = keys.arrow_key(controls.width, brush, "w", "rebuild", 1, 10)
- controls.canvas_height.key = int_key(function(n, keyCode){
- controls.canvas_height.read()
- if (controls.canvas_height.char.length < 3) {
- n = parseInt(controls.canvas_height.char) * 10 + n
- }
- controls.canvas_height.char = ""+n
- controls.canvas_height.build()
- })
- controls.canvas_height.onBlur = function(){
- var h = parseInt(controls.canvas_height.char)
- if (! h) return;
- controls.canvas_height.char = h+""
- controls.canvas_height.build()
- canvas.resize(canvas.w, h)
- }
-
+ controls.height.key = keys.single_numeral_key(controls.height, brush, "h", 1, 10)
+ controls.height.raw_key = keys.arrow_key(controls.height, brush, "h", "rebuild", 1, 10)
+
+ controls.canvas_width.raw_key = keys.arrow_key(controls.canvas_width, canvas, "w", "resize", 1, 999)
+ controls.canvas_width.key = keys.multi_numeral_key(controls.canvas_width, 3)
+ controls.canvas_width.onBlur = keys.multi_numeral_blur(controls.canvas_width, canvas, "w", 1, 999)
+
+ controls.canvas_height.raw_key = keys.arrow_key(controls.canvas_height, canvas, "h", "resize", 1, 999)
+ controls.canvas_height.key = keys.multi_numeral_key(controls.canvas_height, 3)
+ controls.canvas_height.onBlur = keys.multi_numeral_blur(controls.canvas_height, canvas, "h", 1, 999)
+
add_custom_el.addEventListener("click", function(){
custom.clone()
})
}
- function int_key (f) {
- return function (key, keyCode) {
- var n = parseInt(key)
- ! isNaN(n) && f(n)
- }
- }
-
return controls
})() \ No newline at end of file