summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/rectangles/models
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-06-20 12:14:51 -0400
committerJules Laplace <jules@okfoc.us>2014-06-20 12:14:51 -0400
commit8aede8cb98669537213eb267e8602dc3e8266c97 (patch)
treece5397403a63a7129e765585830e499ab3e19112 /public/assets/javascripts/rectangles/models
parent1a1009d5cbfb1deb7cc110bacf3fd76236cf25a9 (diff)
preserve proportions on scale (also smoother now)
Diffstat (limited to 'public/assets/javascripts/rectangles/models')
-rw-r--r--public/assets/javascripts/rectangles/models/rect.js3
-rw-r--r--public/assets/javascripts/rectangles/models/wall.js13
2 files changed, 10 insertions, 6 deletions
diff --git a/public/assets/javascripts/rectangles/models/rect.js b/public/assets/javascripts/rectangles/models/rect.js
index 0bab0e4..a4fbd87 100644
--- a/public/assets/javascripts/rectangles/models/rect.js
+++ b/public/assets/javascripts/rectangles/models/rect.js
@@ -28,6 +28,9 @@ window.Rect = (function(){
Rect.prototype.magnitude = function(){
return dist(this.x.a, this.y.a, this.x.b, this.y.b)
}
+ Rect.prototype.maxDimension = function(){
+ return abs(this.width) > abs(this.height) ? this.width : this.height
+ }
Rect.prototype.mul = function(n){
this.x.mul(n)
diff --git a/public/assets/javascripts/rectangles/models/wall.js b/public/assets/javascripts/rectangles/models/wall.js
index e327070..d0a2045 100644
--- a/public/assets/javascripts/rectangles/models/wall.js
+++ b/public/assets/javascripts/rectangles/models/wall.js
@@ -49,19 +49,20 @@ window.Wall = (function(){
})
}
- Wall.prototype.bounds_for = function(img) {
+ Wall.prototype.bounds_for = function(img, scale) {
+ scale = scale || 1
var coord = this.side & FRONT_BACK ? this.rect.x : this.rect.y
- var halfWidth = img.width/2 * img.scale
- var halfHeight = img.height/2 * img.scale
+ var halfWidth = img.width/2 * scale
+ var halfHeight = img.height/2 * scale
return new Rect( new vec2( coord.a + halfWidth, coord.b - halfWidth ),
new vec2( halfHeight, Rooms.list[this.room].height - halfHeight ) )
}
- Wall.prototype.fits = function(img){
- if (this.side & FRONT_BACK && this.rect.x.length() < img.width * img.scale) {
+ Wall.prototype.fits = function(img, scale){
+ if (this.side & FRONT_BACK && this.rect.x.length() < img.width * scale) {
return false
}
- if (this.side & LEFT_RIGHT && this.rect.y.length() < img.width * img.scale) {
+ if (this.side & LEFT_RIGHT && this.rect.y.length() < img.width * scale) {
return false
}
return true