summaryrefslogtreecommitdiff
path: root/public/assets/javascripts
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts')
-rw-r--r--public/assets/javascripts/mx/primitives/mx.image.js17
-rw-r--r--public/assets/javascripts/ui/blueprint/BlueprintScaler.js34
-rw-r--r--public/assets/javascripts/ui/blueprint/BlueprintUpload.js5
3 files changed, 46 insertions, 10 deletions
diff --git a/public/assets/javascripts/mx/primitives/mx.image.js b/public/assets/javascripts/mx/primitives/mx.image.js
index f9de141..33b1373 100644
--- a/public/assets/javascripts/mx/primitives/mx.image.js
+++ b/public/assets/javascripts/mx/primitives/mx.image.js
@@ -1,5 +1,7 @@
MX.Image = MX.Object3D.extend({
init: function (ops) {
+ ops = ops || {}
+
this.type = "Image"
this.media = ops.media
this.width = 0
@@ -41,15 +43,20 @@ MX.Image = MX.Object3D.extend({
layer.dirty = true
layer.update()
layer.ops.onload
+
+ if (ops.keepImage) {
+ layer.image = image
+ }
}
- image.src = ops.src;
-
- if (ops.keepImage) {
- this.image = image
- }
+
+ if (ops.src) image.src = ops.src
+ else if (ops.media) image.src = ops.media.url
+ else if (ops.url) image.src = ops.url
},
draw: function(ctx, recenter){
+ if (! this.image) { return }
+
if (recenter) {
ctx.save()
ctx.scale(-1, 1)
diff --git a/public/assets/javascripts/ui/blueprint/BlueprintScaler.js b/public/assets/javascripts/ui/blueprint/BlueprintScaler.js
index e11b61e..a81c89b 100644
--- a/public/assets/javascripts/ui/blueprint/BlueprintScaler.js
+++ b/public/assets/javascripts/ui/blueprint/BlueprintScaler.js
@@ -18,7 +18,7 @@ var BlueprintScaler = ModalView.extend({
this.map = map = new Map ({
type: "ortho",
el: this.$blueprintMap.get(0),
- width: window.innerWidth/2,
+ width: window.innerWidth,
height: window.innerHeight,
zoom: -2,
zoom_min: -6.2,
@@ -27,10 +27,38 @@ var BlueprintScaler = ModalView.extend({
map.ui.add_tool("arrow", new ArrowTool)
map.ui.add_tool("position", new PositionTool)
map.ui.set_tool("position")
+
+ scene = scene || { camera: { x: 0, y: 0, z: 0 } }
+
+ this.floorplan = new MX.Image ()
+
+ this.animate()
},
- pick: function(){
-
+ pick: function(media){
+ this.floorplan.load({ media: media, keepImage: true })
+ },
+
+ animate: function(t){
+ requestAnimationFrame(this.animate.bind(this))
+
+ var dt = t - this.last_t
+ this.last_t = t
+
+ if (! t) return
+
+ this.map.update(t)
+
+ this.map.draw.ctx.save()
+ this.map.draw.translate()
+
+ this.floorplan.draw(this.map.draw.ctx, true)
+
+ this.map.draw.coords()
+
+ this.map.draw.mouse(this.map.ui.mouse.cursor)
+
+ this.map.draw.ctx.restore()
},
changeDimensions: function(){
diff --git a/public/assets/javascripts/ui/blueprint/BlueprintUpload.js b/public/assets/javascripts/ui/blueprint/BlueprintUpload.js
index deb1075..498575a 100644
--- a/public/assets/javascripts/ui/blueprint/BlueprintUpload.js
+++ b/public/assets/javascripts/ui/blueprint/BlueprintUpload.js
@@ -36,8 +36,9 @@ var BlueprintUpload = UploadView.extend({
this.loaded = true
if (data && data.length) {
this.$blueprints.show()
- data.forEach(this.append.bind(this))
- this.show()
+ data.forEach(this.append.bind(this))
+ this.hide()
+ this.parent.blueprintScaler.pick(data[0])
}
else {
this.show()