summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/rectangles/engine/map/tools/line.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2015-08-12 18:38:12 -0400
committerJules Laplace <jules@okfoc.us>2015-08-12 18:42:48 -0400
commit9ba29a587bf0722db82e5caf1b1cf4e5596003b6 (patch)
tree581e4199179e08ab909778471170c6164048e621 /public/assets/javascripts/rectangles/engine/map/tools/line.js
parentcc3d0bf036dc934494bf517ebae88bd8544b9b06 (diff)
functioning blueprint scaler
Diffstat (limited to 'public/assets/javascripts/rectangles/engine/map/tools/line.js')
-rw-r--r--public/assets/javascripts/rectangles/engine/map/tools/line.js49
1 files changed, 49 insertions, 0 deletions
diff --git a/public/assets/javascripts/rectangles/engine/map/tools/line.js b/public/assets/javascripts/rectangles/engine/map/tools/line.js
new file mode 100644
index 0000000..8f409a8
--- /dev/null
+++ b/public/assets/javascripts/rectangles/engine/map/tools/line.js
@@ -0,0 +1,49 @@
+var LineTool = MapTool.extend(function(base){
+ var exports = {}
+
+ var selected_point = null
+
+ var line = exports.line = []
+
+ var can_drag, dragging
+
+ exports.down = function(e, cursor){
+ this.cursor = cursor
+ switch (line.length) {
+ case 0:
+ line[0] = cursor.x_component()
+ can_drag = true
+ break
+ case 1:
+ line[1] = cursor.x_component()
+ can_drag = false
+ break
+ case 2:
+ line[0] = cursor.x_component()
+ line.pop()
+ can_drag = true
+ break
+ }
+ }
+
+ exports.move = function(e, cursor){
+ this.cursor = cursor
+ }
+
+ exports.drag = function(e, cursor){
+ if (dragging) {
+ line[1].a = cursor.x.b
+ line[1].b = cursor.y.b
+ }
+ else if (can_drag && cursor.magnitude() > 10/map.zoom) {
+ line[1] = cursor.y_component()
+ dragging = true
+ }
+ }
+
+ exports.up = function(e, cursor){
+ can_drag = dragging = false
+ }
+
+ return exports
+}) \ No newline at end of file