summaryrefslogtreecommitdiff
path: root/public
diff options
context:
space:
mode:
Diffstat (limited to 'public')
-rw-r--r--public/assets/javascripts/mx/extensions/mx.movements.js3
-rw-r--r--public/assets/javascripts/rectangles/engine/map/draw.js6
-rw-r--r--public/assets/javascripts/rectangles/engine/rooms/_walls.js19
-rw-r--r--public/assets/javascripts/rectangles/engine/rooms/mover.js2
-rw-r--r--public/assets/javascripts/rectangles/util/constants.js3
-rw-r--r--public/assets/javascripts/rectangles/util/wheel.js6
-rw-r--r--public/assets/javascripts/ui/builder/BuilderInfo.js2
-rw-r--r--public/assets/javascripts/ui/editor/EditorSettings.js1
-rw-r--r--public/assets/javascripts/ui/editor/EditorView.js1
-rw-r--r--public/assets/javascripts/ui/editor/MediaUpload.js4
-rw-r--r--public/assets/javascripts/ui/editor/MediaViewer.js33
-rw-r--r--public/assets/javascripts/ui/editor/TextEditor.js5
-rwxr-xr-xpublic/assets/stylesheets/app.css49
13 files changed, 87 insertions, 47 deletions
diff --git a/public/assets/javascripts/mx/extensions/mx.movements.js b/public/assets/javascripts/mx/extensions/mx.movements.js
index 2b7e671..268a1c7 100644
--- a/public/assets/javascripts/mx/extensions/mx.movements.js
+++ b/public/assets/javascripts/mx/extensions/mx.movements.js
@@ -223,8 +223,7 @@ MX.Movements = function (cam) {
},
mousewheel: function (e, deltaY, deltaX) {
- console.log(deltaX != 0 && deltaY != 0)
- cam.rotationY += -deltaX / 20
+ cam.rotationY += deltaX / 20
pos.x += deltaY * Math.cos(cam.rotationY + Math.PI / 2) * 10
pos.z += deltaY * Math.sin(cam.rotationY + Math.PI / 2) * 10
diff --git a/public/assets/javascripts/rectangles/engine/map/draw.js b/public/assets/javascripts/rectangles/engine/map/draw.js
index 7eb6e7c..eceda3c 100644
--- a/public/assets/javascripts/rectangles/engine/map/draw.js
+++ b/public/assets/javascripts/rectangles/engine/map/draw.js
@@ -177,11 +177,11 @@ Map.Draw = function(map, opt){
ctx.lineWidth = 1/map.zoom
var sides = map.sides()
- var quant = sides.clone().quantize(200)
- for (var x = quant.x.a - 200; x <= quant.x.b; x += 200) {
+ var quant = sides.clone().quantize(MAP_GRID_SIZE)
+ for (var x = quant.x.a - MAP_GRID_SIZE; x <= quant.x.b; x += MAP_GRID_SIZE) {
line(x, sides.y.a, x, sides.y.b)
}
- for (var y = quant.y.a - 200; y <= quant.y.b; y += 200) {
+ for (var y = quant.y.a - MAP_GRID_SIZE; y <= quant.y.b; y += MAP_GRID_SIZE) {
line(sides.x.a, y, sides.x.b, y)
}
}
diff --git a/public/assets/javascripts/rectangles/engine/rooms/_walls.js b/public/assets/javascripts/rectangles/engine/rooms/_walls.js
index 0da3b9a..119a659 100644
--- a/public/assets/javascripts/rectangles/engine/rooms/_walls.js
+++ b/public/assets/javascripts/rectangles/engine/rooms/_walls.js
@@ -134,19 +134,24 @@
})
}
+ base.luminance = function(rgb){
+ rgb = rgb || Walls.colors.wall
+ var rgb_max = Math.max.apply(0, rgb)
+ var rgb_min = Math.min.apply(255, rgb)
+ return (rgb_max + rgb_min ) / 2
+ }
+
base.setColor = {
wall: function(rgb){
var rgbaColor = rgba_string(rgb, app.defaults.wallOpacity)
var rgbColor = rgb_string(rgb)
+
+ if (Rooms.mover.room) {
+ $("#header").toggleClass("black", base.luminance() < 100)
+ $("body").css("background-color", rgbColor)
+ }
- var rgb_max = Math.max.apply(0, rgb)
- var rgb_min = Math.min.apply(255, rgb)
- var luminance = (rgb_max + rgb_min ) / 2
-
- $("#header").toggleClass("black", luminance < 128)
- $("body").css("background-color", rgbColor)
-
Walls.colors.wall = rgb
Walls.list.forEach(function(wall){
wall.outline(rgbaColor, null)
diff --git a/public/assets/javascripts/rectangles/engine/rooms/mover.js b/public/assets/javascripts/rectangles/engine/rooms/mover.js
index 98f80c5..a2d2223 100644
--- a/public/assets/javascripts/rectangles/engine/rooms/mover.js
+++ b/public/assets/javascripts/rectangles/engine/rooms/mover.js
@@ -43,6 +43,7 @@ Rooms.mover = new function(){
// in this case, we appear to have left the room..
// $(".face.active").removeClass("active")
+ $("#header").removeClass("black")
$("body").css("background-color", "transparent")
base.room = null
}
@@ -59,6 +60,7 @@ Rooms.mover = new function(){
// did we actually enter a room?
if (intersects.length) {
base.room = intersects[0]
+ $("#header").toggleClass("black", Walls.luminance() < 100)
$("body").css("background-color", rgb_string( Walls.colors.wall ))
app.tube("change-room", { room: base.room })
}
diff --git a/public/assets/javascripts/rectangles/util/constants.js b/public/assets/javascripts/rectangles/util/constants.js
index a38325e..3bc314c 100644
--- a/public/assets/javascripts/rectangles/util/constants.js
+++ b/public/assets/javascripts/rectangles/util/constants.js
@@ -21,7 +21,8 @@ var height_min = 200,
side_max = 5000,
resize_margin = 8,
cursor_amp = 1.5,
- DEFAULT_PICTURE_WIDTH = 400
+ DEFAULT_PICTURE_WIDTH = 350,
+ MAP_GRID_SIZE = 360 // 10 feet
var painting_distance_from_wall = 10,
dot_distance_from_picture = 3
diff --git a/public/assets/javascripts/rectangles/util/wheel.js b/public/assets/javascripts/rectangles/util/wheel.js
index 64aaa64..712d470 100644
--- a/public/assets/javascripts/rectangles/util/wheel.js
+++ b/public/assets/javascripts/rectangles/util/wheel.js
@@ -38,7 +38,11 @@ function wheel (opt) {
var deltaX = 0, deltaY = 0;
// WebKit
- if ( event.wheelDeltaY ) {
+ if ( event.deltaY ) {
+ deltaY -= event.deltaY * opt.ratio
+ deltaX -= event.deltaX * opt.ratio
+ }
+ else if ( event.wheelDeltaY ) {
deltaY -= event.wheelDeltaY * opt.ratio
deltaX -= event.wheelDeltaX * opt.ratio
}
diff --git a/public/assets/javascripts/ui/builder/BuilderInfo.js b/public/assets/javascripts/ui/builder/BuilderInfo.js
index 196eca6..67834e7 100644
--- a/public/assets/javascripts/ui/builder/BuilderInfo.js
+++ b/public/assets/javascripts/ui/builder/BuilderInfo.js
@@ -34,7 +34,7 @@ var BuilderInfo = View.extend({
},
load: function(data){
- this.$viewHeight.unitVal( data.viewHeight || app.defaults.viewHeight )
+ this.$viewHeight.unitVal( window.viewHeight = data.viewHeight || app.defaults.viewHeight )
this.$units.val( "ft" )
this.$unitName.html( "ft" )
},
diff --git a/public/assets/javascripts/ui/editor/EditorSettings.js b/public/assets/javascripts/ui/editor/EditorSettings.js
index 89040e1..e2cb53c 100644
--- a/public/assets/javascripts/ui/editor/EditorSettings.js
+++ b/public/assets/javascripts/ui/editor/EditorSettings.js
@@ -148,6 +148,7 @@ var EditorSettings = FormView.extend({
fd.append( "name", this.$name.val() )
fd.append( "description", this.$description.val() )
fd.append( "privacy", this.$privacy.filter(":checked").val() == "private" )
+ fd.append( "viewHeight", window.viewHeight )
fd.append( "rooms", JSON.stringify( Rooms.serialize() ) )
fd.append( "walls", JSON.stringify( Walls.serialize() ) )
fd.append( "colors", JSON.stringify( Walls.colors ) )
diff --git a/public/assets/javascripts/ui/editor/EditorView.js b/public/assets/javascripts/ui/editor/EditorView.js
index 6aff601..ccd6c63 100644
--- a/public/assets/javascripts/ui/editor/EditorView.js
+++ b/public/assets/javascripts/ui/editor/EditorView.js
@@ -41,6 +41,7 @@ var EditorView = View.extend({
$("#map").hide()
this.settings.load(data)
+ this.info.load(data)
},
readyLayout: function(data){
diff --git a/public/assets/javascripts/ui/editor/MediaUpload.js b/public/assets/javascripts/ui/editor/MediaUpload.js
index fddfefc..9799f99 100644
--- a/public/assets/javascripts/ui/editor/MediaUpload.js
+++ b/public/assets/javascripts/ui/editor/MediaUpload.js
@@ -55,9 +55,7 @@ var MediaUpload = UploadView.extend({
add: function(media){
console.log(media)
- this.parent.mediaViewer.add(media, this.parent.mediaViewer.$myMedia)
- this.parent.mediaViewer.$deleteMedia.show()
- this.parent.mediaViewer.$noMedia.hide()
+ this.parent.mediaViewer.addUploadedMedia(media)
},
beforeUpload: function(){
diff --git a/public/assets/javascripts/ui/editor/MediaViewer.js b/public/assets/javascripts/ui/editor/MediaViewer.js
index c18fb49..2e76bec 100644
--- a/public/assets/javascripts/ui/editor/MediaViewer.js
+++ b/public/assets/javascripts/ui/editor/MediaViewer.js
@@ -4,23 +4,29 @@ var MediaViewer = ModalView.extend({
destroyAction: "/api/media/destroy",
usesFileUpload: true,
loaded: false,
-
+ perPage: 12,
+ offset: 0,
+
events: {
'mousedown': "stopPropagation",
'click .foundToggle': "foundToggle",
'click .userToggle': "userToggle",
'click #deleteMedia': "deleteArmed",
'click .mediaContainer': "pick",
+ 'click .viewMore': "load",
},
initialize: function(opt){
this.__super__.initialize.call(this)
this.parent = opt.parent
this.$myMedia = this.$(".myMedia")
+ this.$myMediaContainer = this.$(".myMedia > .container")
this.$userToggle = this.$(".userToggle")
this.$foundMedia = this.$(".foundMedia")
+ this.$foundMediaContainer = this.$(".foundMedia > .container")
this.$foundToggle = this.$(".foundToggle")
this.$deleteMedia = this.$("#deleteMedia")
+ this.$viewMore = this.$(".viewMore")
this.$noMedia = this.$(".noMedia")
},
@@ -55,7 +61,7 @@ var MediaViewer = ModalView.extend({
},
load: function(){
- $.get("/api/media/user", this.populate.bind(this))
+ $.get("/api/media/user", { offset: this.offset, limit: this.perPage }, this.populate.bind(this))
},
loadTrending: function(){
@@ -85,7 +91,7 @@ var MediaViewer = ModalView.extend({
width: img.naturalWidth,
height: img.naturalHeight,
}
- this.add(media, this.$foundMedia)
+ this.add(media, this.$foundMediaContainer)
}.bind(this)
img.src = url
if (img.complete && ! loaded) { img.onload() }
@@ -100,22 +106,34 @@ var MediaViewer = ModalView.extend({
},
populate: function(data){
- this.loaded = true
if (data && data.length) {
+ if (data.length < this.perPage) {
+ this.$viewMore.hide()
+ }
data.forEach(function(media){
- this.add(media, this.$myMedia)
+ this.add(media, this.$myMediaContainer)
+ this.offset += 1
}.bind(this))
this.$noMedia.hide()
this.$deleteMedia.show()
}
else {
+ this.$viewMore.hide()
this.$noMedia.show()
this.$deleteMedia.hide()
}
+ this.loaded = true
this.__super__.show.call(this)
},
- add: function(media, $container){
+ addUploadedMedia: function(media){
+ this.parent.mediaViewer.$deleteMedia.show()
+ this.parent.mediaViewer.$noMedia.hide()
+ this.add(media, this.$myMedia, true) // prepend
+ this.offset += 1
+ },
+
+ add: function(media, $container, prepend){
var image = new Image ()
var $span = $("<span>")
$span.addClass("mediaContainer")
@@ -142,7 +160,8 @@ var MediaViewer = ModalView.extend({
$span.data("media", media)
$span.append(image)
- $container.prepend($span)
+ if (prepend) $container.prepend($span)
+ else $container.append($span)
},
deleteIsArmed: false,
diff --git a/public/assets/javascripts/ui/editor/TextEditor.js b/public/assets/javascripts/ui/editor/TextEditor.js
index c8879b3..b559ba5 100644
--- a/public/assets/javascripts/ui/editor/TextEditor.js
+++ b/public/assets/javascripts/ui/editor/TextEditor.js
@@ -28,16 +28,15 @@ var TextEditor = FormView.extend({
},
toggle: function(state){
- $("#keyhint").fadeOut(200)
-
this.$el.toggleClass("active", state)
if (state) {
+ $("#keyhint").fadeOut(200)
Scenery.nextMedia = {
type: 'text',
width: 600,
height: 450,
scale: 0.5,
- font: { family: 'Lato', size: 12, align: 'left' },
+ font: { family: 'Lato', size: 24, align: 'left', color: "#000" },
}
this.createMode(true)
}
diff --git a/public/assets/stylesheets/app.css b/public/assets/stylesheets/app.css
index 849c994..eec671a 100755
--- a/public/assets/stylesheets/app.css
+++ b/public/assets/stylesheets/app.css
@@ -414,6 +414,17 @@ iframe.embed {
border-top: 1px solid black;
}
+.mediaDrawer .viewMore {
+ clear: both;
+ float: none;
+ text-decoration: none;
+ font-size: 22px;
+ display: block;
+ text-align: center;
+ padding: 40px;
+ border: 0;
+ border-top: 1px solid black;
+}
.holder {
display: table-cell;
@@ -2152,7 +2163,7 @@ form li textarea {
right: 20px;
top: 20px;
z-index: 20;
- background: #f9f9f9;
+ background: white;
width: 75px;
color: black;
border: 1px solid black;
@@ -2511,22 +2522,22 @@ a[data-role="forgot-password"] {
padding: 50px 0;
}
.page .viewMore.btn {
- text-decoration: none;
- font-size: 18px;
- padding: 18px 0;
-}
-.footer a, .footer span {
-margin: 9px;
-}
-#keyhint {
- display:none;
-}
-.projectList .projectItem {
- width:100%;
- margin: 20px 0;
-}
-.projectList .room {
-width: 100%;
-height: 260px;
-}
+ text-decoration: none;
+ font-size: 18px;
+ padding: 18px 0;
+ }
+ .footer a, .footer span {
+ margin: 9px;
+ }
+ #keyhint {
+ display:none;
+ }
+ .projectList .projectItem {
+ width:100%;
+ margin: 20px 0;
+ }
+ .projectList .room {
+ width: 100%;
+ height: 260px;
+ }
} \ No newline at end of file