diff options
| author | Jules Laplace <jules@okfoc.us> | 2015-03-30 21:27:07 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2015-03-30 21:27:07 -0400 |
| commit | 744b4f00e9c8a7ef8a75cc8508bf10c0da8de9cc (patch) | |
| tree | b7e6d1c3aaaf99dad4e5c78d7b2b8229bfe8b2c1 /public/assets/javascripts | |
| parent | 9117849bf7d183c5ed773c5ed1ef105c41a0f659 (diff) | |
plotting points on an image of an art gallery
Diffstat (limited to 'public/assets/javascripts')
| -rw-r--r-- | public/assets/javascripts/mx/primitives/mx.grid.js | 12 | ||||
| -rw-r--r-- | public/assets/javascripts/mx/primitives/mx.image.js | 24 |
2 files changed, 34 insertions, 2 deletions
diff --git a/public/assets/javascripts/mx/primitives/mx.grid.js b/public/assets/javascripts/mx/primitives/mx.grid.js index 7a40144..a765c89 100644 --- a/public/assets/javascripts/mx/primitives/mx.grid.js +++ b/public/assets/javascripts/mx/primitives/mx.grid.js @@ -34,8 +34,13 @@ MX.Grid = MX.Object3D.extend({ this.draw(ctx) }, - draw: function(ctx){ + draw: function(ctx, recenter){ ctx = ctx || this.ctx + + if (recenter) { + ctx.save() + ctx.translate( -grid.width/2, -grid.height/2 ) + } var cells = this.ops.cells, space = this.ops.space, @@ -53,6 +58,11 @@ MX.Grid = MX.Object3D.extend({ } ctx.closePath() ctx.stroke() + + if (recenter) { + ctx.restore() + } + }, }) diff --git a/public/assets/javascripts/mx/primitives/mx.image.js b/public/assets/javascripts/mx/primitives/mx.image.js index b8557bf..ca79065 100644 --- a/public/assets/javascripts/mx/primitives/mx.image.js +++ b/public/assets/javascripts/mx/primitives/mx.image.js @@ -1,6 +1,5 @@ MX.Image = MX.Object3D.extend({ init: function (ops) { - this.type = "Image" this.media = ops.media this.width = 0 @@ -41,8 +40,31 @@ MX.Image = MX.Object3D.extend({ layer.el.classList.add('image') layer.dirty = true layer.update() + layer.ops.onload } image.src = ops.src; + + if (ops.keepImage) { + this.image = image + } + }, + + draw: function(ctx, recenter){ + if (recenter) { + ctx.save() + ctx.scale(-1, 1) + ctx.translate( -this.width/2 * this.scale, -this.height/2 * this.scale ) + } + + ctx.drawImage(this.image, + 0, 0, this.image.naturalWidth, this.image.naturalHeight, + 0, 0, this.image.width * this.scale, this.image.height * this.scale + ) + + if (recenter) { + ctx.restore() + } + }, }) |
