/* */ var Map = function(){ var base = this base.el = document.querySelector("#map") if (! base.el) return base.dimensions = new vec2(window.innerWidth, window.innerHeight) base.center = new vec2(0,0) base.sides = function(){ var sides = base.dimensions.clone().div(2).div(base.zoom) return new Rect( base.center.a - sides.a, -base.center.b - sides.b, base.center.a + sides.a, -base.center.b + sides.b ) } base.zoom = 1/4 base.zoom_exponent = -2 base.set_zoom = function (n) { base.zoom_exponent = n base.zoom = pow(2, base.zoom_exponent) } var canvas = base.canvas = document.createElement("canvas") canvas.width = base.dimensions.a canvas.height = base.dimensions.b document.querySelector("#map").appendChild(canvas) base.draw = new MapDraw (base) base.ui = new MapUI (base) base.resize = function(){ canvas.width = base.dimensions.a = window.innerWidth canvas.height = base.dimensions.b = window.innerHeight } $(window).resize(base.resize) base.update = function(){ base.draw.animate() } base.toggle = function(){ $(base.el).toggle() } }