From 4b2360ff6d7279df58d4fe5723fdf015d6577149 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Thu, 16 Oct 2014 17:38:48 -0400 Subject: cancel wallpaper correctly --- public/assets/javascripts/ui/editor/Presets.js | 2 +- public/assets/javascripts/ui/editor/WallpaperPicker.js | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'public/assets/javascripts') diff --git a/public/assets/javascripts/ui/editor/Presets.js b/public/assets/javascripts/ui/editor/Presets.js index 0a0e0fe..4cd4eea 100644 --- a/public/assets/javascripts/ui/editor/Presets.js +++ b/public/assets/javascripts/ui/editor/Presets.js @@ -91,7 +91,7 @@ var Presets = View.extend({ Walls.setColor[mode](preset[mode].color) } else { - if (! this.lastPreset[mode].length) { + if (preset[mode].length) { Walls.clearWallpaper[mode]() } Walls.setColor[mode](preset[mode]) diff --git a/public/assets/javascripts/ui/editor/WallpaperPicker.js b/public/assets/javascripts/ui/editor/WallpaperPicker.js index afdfca7..116b725 100644 --- a/public/assets/javascripts/ui/editor/WallpaperPicker.js +++ b/public/assets/javascripts/ui/editor/WallpaperPicker.js @@ -38,6 +38,7 @@ var WallpaperPicker = UploadView.extend({ // }, toggle: function (state) { + Scenery.nextWallpaper = null app.tube('cancel-wallpaper') this.$el.toggleClass("active", state) if (state) { @@ -134,7 +135,7 @@ var WallpaperPicker = UploadView.extend({ } function _hideCursor (e) { $(window).off('mousemove', _followCursor) - $(window).off('click', _hideCursor) + // $(window).off('click', _hideCursor) app.off('cancel-wallpaper', _hideCursor) $floatingSwatch.removeClass("scissors").hide() } @@ -145,7 +146,7 @@ var WallpaperPicker = UploadView.extend({ _followCursor(e); }) }, - + wall: null, pickWall: function(wall){ if (! wall.background || wall.background.src == "none") { -- cgit v1.2.3-70-g09d2 From 9880712797beedb5df936f3c740de79d549fca74 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Thu, 16 Oct 2014 17:42:31 -0400 Subject: move mega-tile behavior into wallpapepr picker --- public/assets/javascripts/ui/editor/Presets.js | 20 ------------------- .../javascripts/ui/editor/WallpaperPicker.js | 23 +++++++++++++++++++++- public/assets/stylesheets/app.css | 2 +- views/controls/editor/presets.ejs | 1 - views/controls/editor/wallpaper.ejs | 1 + 5 files changed, 24 insertions(+), 23 deletions(-) (limited to 'public/assets/javascripts') diff --git a/public/assets/javascripts/ui/editor/Presets.js b/public/assets/javascripts/ui/editor/Presets.js index 4cd4eea..be86af3 100644 --- a/public/assets/javascripts/ui/editor/Presets.js +++ b/public/assets/javascripts/ui/editor/Presets.js @@ -5,8 +5,6 @@ var Presets = View.extend({ "mousedown": "stopPropagation", "click .presets span": "selectPreset", "click .swatches span": "selectColor", - "change .url": "tileWalls", - "keydown .url": "enterSetUrl", }, presets: { @@ -46,8 +44,6 @@ var Presets = View.extend({ initialize: function(opt){ this.parent = opt.parent - this.$url = this.$(".url") - this.$presets = this.$(".presets") _.keys(this.presets).forEach(function(name){ var $swatch = $("") @@ -102,21 +98,5 @@ var Presets = View.extend({ Walls.setBodyColor() this.lastPreset = preset }, - - tileWalls: function(){ - var url = this.$url.sanitize() - if (url.length && url.indexOf("http://") == 0) { - Walls.setWallpaper.wall({ src: url }) - Walls.setWallpaper.floor({ src: url }) - Walls.setWallpaper.ceiling({ src: url }) - } - app.controller.wallpaperPicker.addUrl(url) - }, - enterSetUrl: function (e) { - e.stopPropagation() - if (e.keyCode == 13) { - setTimeout(this.tileWalls.bind(this), 100) - } - }, }) \ No newline at end of file diff --git a/public/assets/javascripts/ui/editor/WallpaperPicker.js b/public/assets/javascripts/ui/editor/WallpaperPicker.js index 116b725..b26a5dc 100644 --- a/public/assets/javascripts/ui/editor/WallpaperPicker.js +++ b/public/assets/javascripts/ui/editor/WallpaperPicker.js @@ -11,6 +11,8 @@ var WallpaperPicker = UploadView.extend({ "click .swatch": 'pick', "click .wallpaperRemove": 'remove', "input [data-role='wallpaper-scale']": 'updateScale', + "change .url": "tileWalls", + "keydown .url": "enterSetUrl", }, initialize: function(opt){ @@ -20,6 +22,8 @@ var WallpaperPicker = UploadView.extend({ this.$remove = this.$(".wallpaperRemove") this.$remove.hide() + this.$url = this.$(".url") + this.$position = this.$("[data-role='wallpaper-position']") this.$scale = this.$("[data-role='wallpaper-scale']") @@ -161,7 +165,24 @@ var WallpaperPicker = UploadView.extend({ s = parseFloat(this.$scale.val()) this.wall.wallpaperPosition({ scale: s }) }, - + + tileWalls: function(){ + var url = this.$url.sanitize() + if (url.length && url.indexOf("http") == 0) { + Walls.setWallpaper.wall({ src: url }) + Walls.setWallpaper.floor({ src: url }) + Walls.setWallpaper.ceiling({ src: url }) + } + this.addUrl(url) + this.$url.val("") + }, + enterSetUrl: function (e) { + e.stopPropagation() + if (e.keyCode == 13) { + setTimeout(this.tileWalls.bind(this), 100) + } + }, + initializePositionCursor: function(){ var base = this var dx = 0, dy = 0, dragging = false, delta diff --git a/public/assets/stylesheets/app.css b/public/assets/stylesheets/app.css index 89a6495..28eabd9 100755 --- a/public/assets/stylesheets/app.css +++ b/public/assets/stylesheets/app.css @@ -1700,7 +1700,7 @@ input[type="range"]::-webkit-slider-thumb { width: 100%; color: #555; } -#presets .url { +.wallpaper .url { margin: 4px 0; padding: 2px; font-size: 12px; diff --git a/views/controls/editor/presets.ejs b/views/controls/editor/presets.ejs index 02e9d42..04b1cf1 100644 --- a/views/controls/editor/presets.ejs +++ b/views/controls/editor/presets.ejs @@ -2,5 +2,4 @@

Preset Styles

- diff --git a/views/controls/editor/wallpaper.ejs b/views/controls/editor/wallpaper.ejs index 39a109b..ed175ae 100644 --- a/views/controls/editor/wallpaper.ejs +++ b/views/controls/editor/wallpaper.ejs @@ -32,6 +32,7 @@ --> +
-- cgit v1.2.3-70-g09d2 From f974fbc68dcfb91adb022809ace9e3e1c1afb413 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Thu, 16 Oct 2014 17:53:27 -0400 Subject: tweak rightclick behavior --- .../assets/javascripts/rectangles/models/wall.js | 34 +++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'public/assets/javascripts') diff --git a/public/assets/javascripts/rectangles/models/wall.js b/public/assets/javascripts/rectangles/models/wall.js index eb445a7..cead2e4 100644 --- a/public/assets/javascripts/rectangles/models/wall.js +++ b/public/assets/javascripts/rectangles/models/wall.js @@ -67,7 +67,39 @@ } }, */ + contextmenu: function(e){ + if (! (e.ctrlKey || e.metaKey || e.shiftKey) ) { + e.preventDefault() + } + if (Scenery.nextMedia) { + e.preventDefault() + Scenery.nextMedia = null + app.tube('cancel-scenery') + } + else if (Scenery.nextWallpaper) { + e.preventDefault() + Scenery.nextWallpaper = null + app.tube('cancel-wallpaper') + } + }, + mousedown: function(e){ + + // right-click + if (e.which == 3) { + if (Scenery.nextMedia) { + e.preventDefault() + Scenery.nextMedia = null + app.tube('cancel-scenery') + } + else if (Scenery.nextWallpaper) { + e.preventDefault() + Scenery.nextWallpaper = null + app.tube('cancel-wallpaper') + } + return + } + var offset = offsetFromPoint(e, mx.el) if (! offset) { return } @@ -120,7 +152,7 @@ else { app.controller.pickWall(base, pos) } - } + }, }) }) -- cgit v1.2.3-70-g09d2 From 27e6f068a626239f47041b800f33676769ce9591 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 17 Oct 2014 11:40:20 -0400 Subject: coupla things --- public/assets/javascripts/mx/extensions/mx.movements.js | 6 +++--- public/assets/javascripts/rectangles/engine/rooms/_walls.js | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'public/assets/javascripts') diff --git a/public/assets/javascripts/mx/extensions/mx.movements.js b/public/assets/javascripts/mx/extensions/mx.movements.js index 386819a..5b1e2de 100644 --- a/public/assets/javascripts/mx/extensions/mx.movements.js +++ b/public/assets/javascripts/mx/extensions/mx.movements.js @@ -139,15 +139,15 @@ MX.Movements = function (cam) { app.controller.mediaViewer.hide() $(".inuse").removeClass("inuse") } - else if (app.controller.colorControl.$el.hasClass('active')) { + else if (app.controller.colorControl && app.controller.colorControl.$el.hasClass('active')) { app.controller.colorControl.hide() $(".inuse").removeClass("inuse") } - else if (app.controller.wallpaperPicker.$el.hasClass('active')) { + else if (app.controller.wallpaperPicker && app.controller.wallpaperPicker.$el.hasClass('active')) { app.controller.wallpaperPicker.hide() $(".inuse").removeClass("inuse") } - else if (app.controller.presets.$el.hasClass('active')) { + else if (app.controller.presets && app.controller.presets.$el.hasClass('active')) { app.controller.presets.hide() $(".inuse").removeClass("inuse") } diff --git a/public/assets/javascripts/rectangles/engine/rooms/_walls.js b/public/assets/javascripts/rectangles/engine/rooms/_walls.js index fe5913d..29338cb 100644 --- a/public/assets/javascripts/rectangles/engine/rooms/_walls.js +++ b/public/assets/javascripts/rectangles/engine/rooms/_walls.js @@ -181,6 +181,8 @@ wall.wallpaper("none") }) }, + outline: function(){ + }, floor: function(){ Walls.floors.forEach(function(floor){ if (floor.ceiling) return -- cgit v1.2.3-70-g09d2 From 8ad9d0afa5175c4f54606e419319916e2f2a7667 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 17 Oct 2014 11:41:08 -0400 Subject: etc --- public/assets/javascripts/rectangles/engine/rooms/_walls.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'public/assets/javascripts') diff --git a/public/assets/javascripts/rectangles/engine/rooms/_walls.js b/public/assets/javascripts/rectangles/engine/rooms/_walls.js index 29338cb..69b9aa4 100644 --- a/public/assets/javascripts/rectangles/engine/rooms/_walls.js +++ b/public/assets/javascripts/rectangles/engine/rooms/_walls.js @@ -186,13 +186,13 @@ floor: function(){ Walls.floors.forEach(function(floor){ if (floor.ceiling) return - wall.wallpaper("none") + floor.wallpaper("none") }) }, ceiling: function(){ Walls.floors.forEach(function(floor){ if (! floor.ceiling) return - wall.wallpaper("none") + floor.wallpaper("none") }) }, } -- cgit v1.2.3-70-g09d2 From 9661f1ae85ca9df7e35b09b8f982c155c0b21208 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 17 Oct 2014 11:51:20 -0400 Subject: builder fixes --- public/assets/javascripts/rectangles/models/wall.js | 2 +- public/assets/javascripts/ui/builder/BuilderView.js | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'public/assets/javascripts') diff --git a/public/assets/javascripts/rectangles/models/wall.js b/public/assets/javascripts/rectangles/models/wall.js index cead2e4..75814dc 100644 --- a/public/assets/javascripts/rectangles/models/wall.js +++ b/public/assets/javascripts/rectangles/models/wall.js @@ -282,7 +282,7 @@ url = "url(" + url + ")" } this.mx.forEach(function(mx){ - mx.el.style.backgroundImage = url + if (mx.el) mx.el.style.backgroundImage = url }) } diff --git a/public/assets/javascripts/ui/builder/BuilderView.js b/public/assets/javascripts/ui/builder/BuilderView.js index 735274e..9b7e1a2 100644 --- a/public/assets/javascripts/ui/builder/BuilderView.js +++ b/public/assets/javascripts/ui/builder/BuilderView.js @@ -31,6 +31,9 @@ var BuilderView = View.extend({ }, hideExtras: function(){ - } + }, + + pickWall: function(wall, pos){ + }, }) -- cgit v1.2.3-70-g09d2 From bd1c6c4855db62c59576d593375c3b1b566c36d4 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 17 Oct 2014 11:56:08 -0400 Subject: ceiling height wheel --- public/assets/javascripts/rectangles/engine/map/ui_editor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'public/assets/javascripts') diff --git a/public/assets/javascripts/rectangles/engine/map/ui_editor.js b/public/assets/javascripts/rectangles/engine/map/ui_editor.js index 9d69990..1a4ea3c 100644 --- a/public/assets/javascripts/rectangles/engine/map/ui_editor.js +++ b/public/assets/javascripts/rectangles/engine/map/ui_editor.js @@ -220,7 +220,7 @@ Map.UI.Editor = function(map){ if (intersects.length) { wheelState = wheelState || intersects[0].copy() - intersects[0].height = clamp( ~~(intersects[0].height + deltaY * 2), height_min, height_max ) + intersects[0].height = clamp( ~~(intersects[0].height - deltaY * 2), height_min, height_max ) app.tube("builder-pick-room", intersects[0]) clearTimeout(wheelTimeout) -- cgit v1.2.3-70-g09d2 From 38a948be224d704589fa203520f224615a81c7d9 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 17 Oct 2014 12:09:21 -0400 Subject: colors work after editing layout --- .../javascripts/rectangles/engine/map/ui_editor.js | 4 ++-- .../javascripts/rectangles/engine/rooms/_walls.js | 17 +++++++++-------- public/assets/javascripts/rectangles/models/room.js | 14 +------------- 3 files changed, 12 insertions(+), 23 deletions(-) (limited to 'public/assets/javascripts') diff --git a/public/assets/javascripts/rectangles/engine/map/ui_editor.js b/public/assets/javascripts/rectangles/engine/map/ui_editor.js index 1a4ea3c..1ab9c73 100644 --- a/public/assets/javascripts/rectangles/engine/map/ui_editor.js +++ b/public/assets/javascripts/rectangles/engine/map/ui_editor.js @@ -220,7 +220,7 @@ Map.UI.Editor = function(map){ if (intersects.length) { wheelState = wheelState || intersects[0].copy() - intersects[0].height = clamp( ~~(intersects[0].height - deltaY * 2), height_min, height_max ) + intersects[0].height = clamp( ~~(intersects[0].height + deltaY * 2), height_min, height_max ) app.tube("builder-pick-room", intersects[0]) clearTimeout(wheelTimeout) @@ -235,7 +235,7 @@ Map.UI.Editor = function(map){ }, 250) } else { - map.set_zoom(map.zoom_exponent - deltaY/20) + map.set_zoom(map.zoom_exponent + deltaY/20) } } diff --git a/public/assets/javascripts/rectangles/engine/rooms/_walls.js b/public/assets/javascripts/rectangles/engine/rooms/_walls.js index 69b9aa4..653278c 100644 --- a/public/assets/javascripts/rectangles/engine/rooms/_walls.js +++ b/public/assets/javascripts/rectangles/engine/rooms/_walls.js @@ -126,11 +126,10 @@ var ceilingColor = rgb_string(Walls.colors.ceiling) Walls.list.forEach(function(wall){ wall.outline(wallColor, outlineColor) - // TODO: SET WALLPAPER HERE }) - Rooms.forEach(function(room){ - room.setFloorColor(floorColor) - room.setCeilingColor(ceilingColor) + Walls.floors.forEach(function(floor){ + if (floor.ceiling) floor.color(ceilingColor) + else floor.color(floorColor) }) } @@ -225,16 +224,18 @@ floor: function(rgb){ var rgbColor = rgb_string(rgb) Walls.colors.floor = rgb - Rooms.forEach(function(room){ - room.setFloorColor(rgbColor) + Walls.floors.forEach(function(floor){ + if (floor.ceiling) return + floor.color(rgbColor) }) }, ceiling: function(rgb){ var rgbColor = rgb_string(rgb) Walls.colors.ceiling = rgb - Rooms.forEach(function(room){ - room.setCeilingColor(rgbColor) + Walls.floors.forEach(function(floor){ + if (! floor.ceiling) return + floor.color(rgbColor) }) }, } diff --git a/public/assets/javascripts/rectangles/models/room.js b/public/assets/javascripts/rectangles/models/room.js index 1a4606c..b0344a1 100644 --- a/public/assets/javascripts/rectangles/models/room.js +++ b/public/assets/javascripts/rectangles/models/room.js @@ -158,19 +158,7 @@ }) return collision } - - Room.prototype.setFloorColor = function(rgbColor) { - this.mx_floor.map(function(mx){ - mx.el.style.backgroundColor = rgbColor - }) - } - - Room.prototype.setCeilingColor = function(rgbColor) { - this.mx_ceiling.map(function(mx){ - mx.el.style.backgroundColor = rgbColor - }) - } - + if ('window' in this) { window.Room = Room } -- cgit v1.2.3-70-g09d2