summaryrefslogtreecommitdiff
path: root/assets/javascripts/rectangles/util
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-06-03 16:24:10 -0400
committerJules Laplace <jules@okfoc.us>2014-06-03 16:24:28 -0400
commit607f69c67a5b4dc72d2754192e3cdf67d0ad11d0 (patch)
tree6556e7922c5bedb274bb1650e5dd100643a7895d /assets/javascripts/rectangles/util
parentd31259291d807c851de4396921e0c26b6dd8dce2 (diff)
partitioning client and serveR
Diffstat (limited to 'assets/javascripts/rectangles/util')
-rw-r--r--assets/javascripts/rectangles/util/colors.js57
-rw-r--r--assets/javascripts/rectangles/util/constants.js57
-rw-r--r--assets/javascripts/rectangles/util/debug.js8
-rw-r--r--assets/javascripts/rectangles/util/keys.js165
-rw-r--r--assets/javascripts/rectangles/util/mouse.js165
-rw-r--r--assets/javascripts/rectangles/util/sort.js86
-rw-r--r--assets/javascripts/rectangles/util/wheel.js62
7 files changed, 0 insertions, 600 deletions
diff --git a/assets/javascripts/rectangles/util/colors.js b/assets/javascripts/rectangles/util/colors.js
deleted file mode 100644
index e8e60d0..0000000
--- a/assets/javascripts/rectangles/util/colors.js
+++ /dev/null
@@ -1,57 +0,0 @@
-(function(){
- var color_palettes = {
- alpha: [
- "rgba(0,0,0,0.1)",
- ],
- redblue: [
- "rgba(0,0,0,0.2)",
- "rgba(255,0,0,0.2)",
- "rgba(0,0,255,0.2)",
- "rgba(0,255,0,0.2)",
- ],
- gray: [
- "rgba(0,0,0,0.1)",
- "rgba(0,0,0,0.2)",
- "rgba(0,0,0,0.3)",
- "rgba(0,0,0,0.4)",
- ],
- bone: [
- "hsla(0,0%,90%,0.95)",
- "hsla(0,0%,80%,0.95)",
- "hsla(0,0%,85%,0.95)",
- "hsla(0,0%,75%,0.95)",
- ],
- colors: [
- "rgba(255,0,0,0.5)",
- "rgba(255,128,0,0.5)",
- "rgba(128,255,0,0.5)",
- "rgba(0,255,0,0.5)",
- "rgba(0,255,128,0.5)",
- "rgba(0,128,255,0.5)",
- "rgba(0,0,255,0.5)",
- "rgba(128,0,255,0.5)",
- "rgba(255,0,255,0.5)",
- "rgba(255,0,128,0.5)",
- ],
- white: [
- "rgba(255,255,255,0.9)",
- ],
- black: [
- "rgba(0,0,0,0.9)",
- ],
- }
-
- var select = document.querySelector("#palette")
- select.addEventListener("change", function(){
- colors = color_palettes[select.value]
- Rooms.list.forEach(function(room){
- room.walls.forEach(function(wall){
- wall.randomize_colors()
- })
- })
- select.blur()
- })
-
- window.colors = color_palettes[select.value]
- window.palettes = color_palettes
-})()
diff --git a/assets/javascripts/rectangles/util/constants.js b/assets/javascripts/rectangles/util/constants.js
deleted file mode 100644
index 58cb1a5..0000000
--- a/assets/javascripts/rectangles/util/constants.js
+++ /dev/null
@@ -1,57 +0,0 @@
-var FRONT = 0x1, BACK = 0x2, LEFT = 0x4, RIGHT = 0x8, FLOOR = 0x10, CEILING = 0x20
- FRONT_BACK = FRONT | BACK, LEFT_RIGHT = LEFT | RIGHT, FLOOR_CEILING = FLOOR | CEILING
-
-var TOP = CEILING, BOTTOM = FLOOR,
- TOP_LEFT = TOP | LEFT,
- TOP_RIGHT = TOP | RIGHT,
- BOTTOM_LEFT = BOTTOM | LEFT,
- BOTTOM_RIGHT = BOTTOM | RIGHT,
- TOP_BOTTOM = TOP | BOTTOM
-
-var height_min = 200,
- height_max = 2000,
- side_min = 10,
- side_max = 5000,
- resize_margin = 8,
- cursor_amp = 1.5
-
-var painting_distance_from_wall = 8,
- dot_distance_from_picture = 3
-
-var dot_hide_delay = 50, // ms
- dot_side = 20
-
-var wall_rotation = {}
-wall_rotation[FRONT] = PI
-wall_rotation[BACK] = 0
-wall_rotation[LEFT] = HALF_PI
-wall_rotation[RIGHT] = -HALF_PI
-
-
-
-function sidesToString(sides){
- var s = ""
- if (sides & FRONT) s += "front "
- if (sides & BACK) s += "back "
- if (sides & LEFT) s += "left "
- if (sides & RIGHT) s += "right "
- if (sides & TOP) s += "top "
- if (sides & BOTTOM) s += "bottom "
- return s
-}
-
-function side_direction (a, b) {
- if (a === b) return 0
- if ((a | b) === FRONT_BACK) return 0
- if ((a | b) === LEFT_RIGHT) return 0
- switch (a) {
- case FRONT:
- return b & LEFT ? -1 : 1
- case BACK:
- return b & RIGHT ? -1 : 1
- case LEFT:
- return b & FRONT ? -1 : 1
- case RIGHT:
- return b & BACK ? -1 : 1
- }
-}
diff --git a/assets/javascripts/rectangles/util/debug.js b/assets/javascripts/rectangles/util/debug.js
deleted file mode 100644
index 924c816..0000000
--- a/assets/javascripts/rectangles/util/debug.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
- on mousedown, z := true
-
- if (z) // log stuff
-*/
-
-window.z = true;
-document.body.addEventListener("mousedown", function(){ z = true })
diff --git a/assets/javascripts/rectangles/util/keys.js b/assets/javascripts/rectangles/util/keys.js
deleted file mode 100644
index 5a5c9d2..0000000
--- a/assets/javascripts/rectangles/util/keys.js
+++ /dev/null
@@ -1,165 +0,0 @@
-var keys = (function(){
-
- var base = new function(){}
- base.tube = new Tube ()
- base.debug = false
-
- base.on = function(){
- base.tube.on.apply(base.tube, arguments)
- }
-
- base.off = function(){
- base.tube.off.apply(base.tube, arguments)
- }
-
- $(window).keydown(function(e){
- var key = KEY_NAMES[e.keyCode];
- switch (key) {
- case undefined:
- break;
- default:
- if (keys.debug) console.log(key)
- base.tube(key)
- break;
- }
- })
- var KEYMAP = {
- STRG: 17,
- CTRL: 17,
- CTRLRIGHT: 18,
- CTRLR: 18,
- SHIFT: 16,
- RETURN: 13,
- ENTER: 13,
- BACKSPACE: 8,
- BCKSP:8,
- ALT: 18,
- ALTR: 17,
- ALTRIGHT: 17,
- SPACE: 32,
- WIN: 91,
- MAC: 91,
- FN: null,
- UP: 38,
- DOWN: 40,
- LEFT: 37,
- RIGHT: 39,
- ESC: 27,
- DEL: 46,
- F1: 112,
- F2: 113,
- F3: 114,
- F4: 115,
- F5: 116,
- F6: 117,
- F7: 118,
- F8: 119,
- F9: 120,
- F10: 121,
- F11: 122,
- F12: 123
- },
- KEYCODES = {
- 'backspace' : '8',
- 'tab' : '9',
- 'enter' : '13',
- 'shift' : '16',
- 'ctrl' : '17',
- 'alt' : '18',
- 'pause_break' : '19',
- 'caps_lock' : '20',
- 'escape' : '27',
- 'page_up' : '33',
- 'page down' : '34',
- 'end' : '35',
- 'home' : '36',
- 'left_arrow' : '37',
- 'up_arrow' : '38',
- 'right_arrow' : '39',
- 'down_arrow' : '40',
- 'insert' : '45',
- 'delete' : '46',
- '0' : '48',
- '1' : '49',
- '2' : '50',
- '3' : '51',
- '4' : '52',
- '5' : '53',
- '6' : '54',
- '7' : '55',
- '8' : '56',
- '9' : '57',
- 'a' : '65',
- 'b' : '66',
- 'c' : '67',
- 'd' : '68',
- 'e' : '69',
- 'f' : '70',
- 'g' : '71',
- 'h' : '72',
- 'i' : '73',
- 'j' : '74',
- 'k' : '75',
- 'l' : '76',
- 'm' : '77',
- 'n' : '78',
- 'o' : '79',
- 'p' : '80',
- 'q' : '81',
- 'r' : '82',
- 's' : '83',
- 't' : '84',
- 'u' : '85',
- 'v' : '86',
- 'w' : '87',
- 'x' : '88',
- 'y' : '89',
- 'z' : '90',
- 'left_window key' : '91',
- 'right_window key' : '92',
- 'select_key' : '93',
- 'numpad 0' : '96',
- 'numpad 1' : '97',
- 'numpad 2' : '98',
- 'numpad 3' : '99',
- 'numpad 4' : '100',
- 'numpad 5' : '101',
- 'numpad 6' : '102',
- 'numpad 7' : '103',
- 'numpad 8' : '104',
- 'numpad 9' : '105',
- 'multiply' : '106',
- 'add' : '107',
- 'subtract' : '109',
- 'decimal point' : '110',
- 'divide' : '111',
- 'f1' : '112',
- 'f2' : '113',
- 'f3' : '114',
- 'f4' : '115',
- 'f5' : '116',
- 'f6' : '117',
- 'f7' : '118',
- 'f8' : '119',
- 'f9' : '120',
- 'f10' : '121',
- 'f11' : '122',
- 'f12' : '123',
- 'num_lock' : '144',
- 'scroll_lock' : '145',
- 'semi_colon' : '186',
- 'equal_sign' : '187',
- 'comma' : '188',
- 'dash' : '189',
- 'period' : '190',
- 'forward_slash' : '191',
- 'grave_accent' : '192',
- 'open_bracket' : '219',
- 'backslash' : '220',
- 'closebracket' : '221',
- 'single_quote' : '222'
- }
- var KEY_NAMES = invert_hash(KEYCODES)
-
- return base
-})() \ No newline at end of file
diff --git a/assets/javascripts/rectangles/util/mouse.js b/assets/javascripts/rectangles/util/mouse.js
deleted file mode 100644
index 3aa7cfc..0000000
--- a/assets/javascripts/rectangles/util/mouse.js
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- usage:
-
- base.mouse = new mouse({
- el: document.querySelector("#map"),
- down: function(e, cursor){
- // do something with val
- // cursor.x.a
- // cursor.y.a
- },
- move: function(e, cursor, delta){
- // delta.a (x)
- // delta.b (y)
- },
- up: function(e, cursor, new_cursor){
- // cursor.x.a
- // cursor.y.a
- },
- })
-
-*/
-
-function mouse (opt) {
- var base = this
-
- opt = defaults(opt, {
- el: null,
- down: null,
- move: null,
- drag: null,
- enter: null,
- up: null,
- rightclick: null,
- propagate: false,
- locked: false,
- use_offset: true,
- val: 0,
- })
-
- base.down = false
-
- base.creating = false
- base.dragging = false
-
- base.cursor = new Rect(0,0,0,0)
-
- base.tube = new Tube ()
- opt.down && base.tube.on("down", opt.down)
- opt.move && base.tube.on("move", opt.move)
- opt.drag && base.tube.on("drag", opt.drag)
- opt.enter && base.tube.on("enter", opt.enter)
- opt.leave && base.tube.on("leave", opt.leave)
- opt.up && base.tube.on("up", opt.up)
- opt.rightclick && base.tube.on("rightclick", opt.rightclick)
-
- var offset = (opt.use_offset && opt.el) ? opt.el.getBoundingClientRect() : null
-
- base.init = function (){
- base.bind()
- }
-
- base.on = function(){
- base.tube.on.apply(base.tube, arguments)
- }
-
- base.off = function(){
- base.tube.off.apply(base.tube, arguments)
- }
-
- base.bind = function(){
- if (opt.el) {
- opt.el.addEventListener("mousedown", base.mousedown)
- opt.el.addEventListener("contextmenu", base.contextmenu)
- }
- window.addEventListener("mousemove", base.mousemove)
- window.addEventListener("mouseup", base.mouseup)
- }
-
- base.bind_el = function(el){
- el.addEventListener("mousedown", base.mousedown)
- el.addEventListener("mousemove", base.mousemove)
- }
- base.unbind_el = function(el){
- el.removeEventListener("mousedown", base.mousedown)
- el.removeEventListener("mousemove", base.mousemove)
- }
-
- function positionFromMouse(e) {
- if (offset) {
- return new vec2(offset.left - e.pageX, e.pageY - offset.top)
- }
- else {
- return new vec2(e.pageX, e.pageY)
- }
- }
-
- base.mousedown = function(e){
- e.stopPropagation()
-
- if (opt.use_offset) {
- offset = this.getBoundingClientRect()
- }
-
- var pos = positionFromMouse(e)
-
- var x = pos.a, y = pos.b
- base.cursor = new Rect (x,y, x,y)
- base.down = true
-
- base.tube("down", e, base.cursor)
- }
- base.mousemove = function(e){
- e.stopPropagation()
-
- if (opt.use_offset && ! offset) return
-
- var pos = positionFromMouse(e)
-
- if (e.shiftKey) {
- pos.quantize(10)
- }
-
- var x = pos.a, y = pos.b
-
- if (base.down) {
- base.cursor.x.b = x
- base.cursor.y.b = y
- base.tube("drag", e, base.cursor)
- }
- else {
- base.cursor.x.a = base.cursor.x.b = x
- base.cursor.y.a = base.cursor.y.b = y
- base.tube("move", e, base.cursor)
- }
- }
- base.mouseenter = function(e, el){
- if (! base.down) return
- if (opt.use_offset && ! offset) return
- base.tube("enter", e, el, base.cursor)
- }
- base.mouseleave = function(e, el){
- if (! base.down) return
- if (opt.use_offset && ! offset) return
- base.tube("leave", e, el, base.cursor)
- }
- base.mouseup = function(e){
- var pos, new_cursor
-
- if (base.down) {
- e.stopPropagation()
- base.down = false
- pos = positionFromMouse(e)
- new_cursor = new Rect (pos.a, pos.b)
- base.tube("up", e, base.cursor, new_cursor)
- base.cursor = new_cursor
- }
- }
- base.contextmenu = function(e){
- e.preventDefault()
- base.tube("rightclick", e, base.cursor)
- }
-
- base.init()
-}
-
diff --git a/assets/javascripts/rectangles/util/sort.js b/assets/javascripts/rectangles/util/sort.js
deleted file mode 100644
index 0985b75..0000000
--- a/assets/javascripts/rectangles/util/sort.js
+++ /dev/null
@@ -1,86 +0,0 @@
-
-
-function compare_rect_position(a,b){
- if (a[0].x.a < b[0].x.a) {
- return -1
- }
- if (a[0].x.a > b[0].x.a) {
- return 1
- }
- if (a[0].y.a < b[0].y.a) {
- return -1
- }
- if (a[0].y.a > b[0].y.a) {
- return 1
- }
- return 0
-}
-
-function compare_car_reversed (a,b){
- if (a[0] < b[0]) {
- return 1
- }
- if (a[0] > b[0]) {
- return -1
- }
- return 0
-}
-function compare_car (a,b){
- if (a[0] < b[0]) {
- return -1
- }
- if (a[0] > b[0]) {
- return 1
- }
- return 0
-}
-
-function room_id_tuple (r){ return [r.id, r] }
-function room_height_tuple (r){ return [r.height, r] }
-function room_area_tuple (r){ return [r.rect.area(), r] }
-function rect_area_tuple (r){ return [r.area(), r] }
-
-function room_rect_tuple (r){ return [r.rect, r] }
-function identity_tuple (r){ return [r, r] }
-function car (r){ return r[0] }
-function cdr (r){ return r[1] }
-
-
-function sort_rooms_by_id(list){
- return list.map(room_id_tuple)
- .sort(compare_car)
- .map(cdr)
-}
-function sort_rooms_by_height(list){
- return list.map(room_height_tuple)
- .sort(compare_car_reversed)
- .map(cdr)
-}
-function sort_rooms_by_position(list){
- return list.map(room_rect_tuple)
- .sort(compare_rect_position)
- .map(cdr)
-}
-function sort_rooms_by_area(list){
- return list.map(room_area_tuple)
- .sort(compare_car)
- .map(cdr)
-}
-
-function sort_rects_by_position(list){
- return list.map(identity_tuple)
- .sort(compare_rect_position)
- .map(cdr)
-}
-function sort_rects_by_area(list){
- return list.map(rect_area_tuple)
- .sort(compare_car)
- .map(cdr)
-}
-
-function compare_z(a,b){
- return a.rect.y.a < b.rect.y.a ? -1 : a.rect.y.a == b.rect.y.a ? 0 : 1
-}
-function compare_x(a,b){
- return a.rect.x.a > b.rect.x.a ? -1 : a.rect.x.a == b.rect.x.a ? 0 : 1
-}
diff --git a/assets/javascripts/rectangles/util/wheel.js b/assets/javascripts/rectangles/util/wheel.js
deleted file mode 100644
index 6836772..0000000
--- a/assets/javascripts/rectangles/util/wheel.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- usage:
-
- base.wheel = new wheel({
- el: document.querySelector("#map"),
- update: function(e, val, delta){
- // do something with val
- },
- })
-
-*/
-
-function wheel (opt) {
- opt = defaults(opt, {
- el: document,
- fn: function(e, val, delta){},
- propagate: false,
- locked: false,
- reversible: true,
- ratio: 0.02,
- val: 0,
- })
-
- opt.el.addEventListener('mousewheel', onMouseWheel, false);
- opt.el.addEventListener('DOMMouseScroll', onMouseWheel, false);
-
- function onMouseWheel (e) {
- if (opt.locked) {
- return
- }
- if (! opt.propagate) {
- e.stopPropagation()
- e.preventDefault()
- }
-
- var delta = 0;
-
- // WebKit
- if ( event.wheelDeltaY ) {
- delta -= event.wheelDeltaY * opt.ratio
- }
- // Opera / Explorer 9
- else if ( event.wheelDelta ) {
- delta -= event.wheelDelta * opt.ratio
- }
- // Firefox
- else if ( event.detail ) {
- delta += event.detail * 2
- }
- if (! opt.reversible && delta < 0) return;
-
- opt.val = clamp(opt.val + delta, opt.min, opt.max)
-
- opt.update(e, opt.val, delta)
- }
-
- opt.lock = function(){ opt.locked = true }
- opt.unlock = function(){ opt.locked = false }
-
- return opt
-}
-