import nl.idgis.giclient.template.TemplateElement; import nl.idgis.giclient.template.TemplateMovie; /** * @author copierrj */ class nl.idgis.giclient.template.Page { private var elements:Array; private var topMargin:Number = 0; private var bottomMargin:Number = 0; private var leftMargin:Number = 0; private var rightMargin:Number = 0; public function Page(topMargin:Number, bottomMargin:Number, leftMargin:Number, rightMargin:Number) { this.topMargin = topMargin; this.bottomMargin = bottomMargin; this.leftMargin = leftMargin; this.rightMargin = rightMargin; elements = new Array(); } public function addElement(element:TemplateElement):Void { elements.push(element); } public function renderPage(mc:TemplateMovie, handler:Object):Void { var subHandler:Object = new Object(); subHandler.elements = elements.length; subHandler.onReady = function(){ this.elements--; if(this.elements == 0) { handler.onReady(); } }; mc.drawElements(elements, subHandler); mc["page"] = this; } public function getHeight():Number { var retval:Number = 0; for(var i:Number = 0; i < elements.length; i++) { var element:TemplateElement = elements[i]; var height:Number = element.getY() + element.getHeight(); if(height > retval) { retval = height; } } return retval; } public function getTopMargin():Number { return topMargin; } public function getBottomMargin():Number { return bottomMargin; } public function getLeftMargin():Number { return leftMargin; } public function getRightMargin():Number { return rightMargin; } }