summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-10-20 16:42:08 -0400
committerJules Laplace <jules@okfoc.us>2014-10-20 16:42:08 -0400
commitb21cb665e3ca296b56d389d3a2f83434f4646f26 (patch)
tree28702570de220b1a8a7b715607ffe9be86de330e
parente2de422ece0c98c2dbea41e7156455dcf91b9db4 (diff)
logarithmic wallpaper scale
-rw-r--r--public/assets/javascripts/rectangles/models/floor.js5
-rw-r--r--public/assets/javascripts/rectangles/models/wall.js7
-rw-r--r--public/assets/javascripts/ui/editor/WallpaperPicker.js10
-rw-r--r--views/controls/editor/wallpaper.ejs2
4 files changed, 13 insertions, 11 deletions
diff --git a/public/assets/javascripts/rectangles/models/floor.js b/public/assets/javascripts/rectangles/models/floor.js
index 2fb870f..ac1f8c9 100644
--- a/public/assets/javascripts/rectangles/models/floor.js
+++ b/public/assets/javascripts/rectangles/models/floor.js
@@ -146,8 +146,9 @@
Floor.prototype.wallpaperPosition = function(background){
if (this.background.src == "none") { return }
- this.background.x = background.x || this.background.x
- this.background.y = background.y || this.background.y
+
+ this.background.x = background.x || this.background.x || 0
+ this.background.y = background.y || this.background.y || 0
this.background.scale = background.scale || this.background.scale || 1
var mx, dx, dy
diff --git a/public/assets/javascripts/rectangles/models/wall.js b/public/assets/javascripts/rectangles/models/wall.js
index 75814dc..8590de7 100644
--- a/public/assets/javascripts/rectangles/models/wall.js
+++ b/public/assets/javascripts/rectangles/models/wall.js
@@ -288,10 +288,11 @@
Wall.prototype.wallpaperPosition = function(background){
if (this.background.src == "none") { return }
- this.background.x = background.x || this.background.x
- this.background.y = background.y || this.background.y
+
+ this.background.x = background.x || this.background.x || 0
+ this.background.y = background.y || this.background.y || 0
this.background.scale = background.scale || this.background.scale || 1
-
+
var mx, dx, dy
var w = Math.round( this.backgroundImage.naturalWidth * this.background.scale )
var h = Math.round( this.backgroundImage.naturalHeight * this.background.scale )
diff --git a/public/assets/javascripts/ui/editor/WallpaperPicker.js b/public/assets/javascripts/ui/editor/WallpaperPicker.js
index b26a5dc..8f701b0 100644
--- a/public/assets/javascripts/ui/editor/WallpaperPicker.js
+++ b/public/assets/javascripts/ui/editor/WallpaperPicker.js
@@ -157,13 +157,13 @@ var WallpaperPicker = UploadView.extend({
return;
}
this.wall = wall
- this.$scale.val( this.wall.background.scale )
+ this.$scale.val( Math.log( this.wall.background.scale ) )
},
updateScale: function(){
if (! this.wall) return;
- s = parseFloat(this.$scale.val())
- this.wall.wallpaperPosition({ scale: s })
+ var scale = Math.exp( parseFloat(this.$scale.val()) )
+ this.wall.wallpaperPosition({ scale: scale })
},
tileWalls: function(){
@@ -192,7 +192,7 @@ var WallpaperPicker = UploadView.extend({
down: function(e, cursor){
if (! base.wall) return
dragging = true
- s = parseFloat( base.$scale.val() )
+ // s = parseFloat( base.$scale.val() )
x = base.wall.background.x
y = base.wall.background.y
},
@@ -203,7 +203,7 @@ var WallpaperPicker = UploadView.extend({
dx = delta.a*s
dy = delta.b*s
base.wall.wallpaperPosition({
- scale: s,
+ // scale: s,
x: x+dx,
y: y+dy,
})
diff --git a/views/controls/editor/wallpaper.ejs b/views/controls/editor/wallpaper.ejs
index 69a60ec..d2559cc 100644
--- a/views/controls/editor/wallpaper.ejs
+++ b/views/controls/editor/wallpaper.ejs
@@ -25,7 +25,7 @@
<div class="wallpaperResizeControls">
<span data-role="wallpaper-position" class="ion-arrow-expand"></span>
- <input data-role="wallpaper-scale" type="range" min="0.01" max="8.0" step="0.1" value="1.0">
+ <input data-role="wallpaper-scale" type="range" min="-4" max="4" step="0.01" value="0.0">
</div>
</div>