a:13:{s:9:"#provides";s:18:"dojox.html.metrics";s:9:"#resource";s:15:"html/metrics.js";s:34:"dojox.html.metrics._fontResizeNode";a:2:{s:7:"private";b:1;s:7:"summary";s:0:"";}s:38:"dojox.html.metrics.getFontMeasurements";a:4:{s:4:"type";s:8:"Function";s:6:"source";s:1226:"dojo.provide("dojox.html.metrics");


(function(){
	var dhm = dojox.html.metrics;


	//	derived from Morris John's emResized measurer
	dhm.getFontMeasurements = function(){
		//	summary
		//	Returns an object that has pixel equivilents of standard font size values.
		var heights = {
			'1em':0, '1ex':0, '100%':0, '12pt':0, '16px':0, 'xx-small':0, 'x-small':0,
			'small':0, 'medium':0, 'large':0, 'x-large':0, 'xx-large':0
		};

	
		if(dojo.isIE){
			//	we do a font-size fix if and only if one isn't applied already.
			//	NOTE: If someone set the fontSize on the HTML Element, this will kill it.
			dojo.doc.documentElement.style.fontSize="100%";
		}

	
		//	set up the measuring node.
		var div=dojo.doc.createElement("div");
		var ds = div.style;
		ds.position="absolute";
		ds.left="-100px";
		ds.top="0";
		ds.width="30px";
		ds.height="1000em";
		ds.border="0";
		ds.margin="0";
		ds.padding="0";
		ds.outline="0";
		ds.lineHeight="1";
		ds.overflow="hidden";
		dojo.body().appendChild(div);

	
		//	do the measurements.
		for(var p in heights){
			ds.fontSize = p;
			heights[p] = Math.round(div.offsetHeight * 12/16) * 16/12 / 1000;
		}

		
		dojo.body().removeChild(div);
		div = null;
		return heights; 	//	object";s:7:"returns";s:6:"object";s:7:"summary";s:0:"";}s:44:"dojox.html.metrics.getCachedFontMeasurements";a:4:{s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:11:"recalculate";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:119:"		if(recalculate || !fontMeasurements){
			fontMeasurements = dhm.getFontMeasurements();
		}
		return fontMeasurements;";s:7:"summary";s:0:"";}s:29:"dojox.html.metrics.getTextBox";a:4:{s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:4:"text";a:1:{s:4:"type";s:6:"String";}s:5:"style";a:1:{s:4:"type";s:6:"Object";}s:9:"className";a:2:{s:8:"optional";b:1;s:4:"type";s:6:"String";}}s:6:"source";s:680:"		var m;
		if(!measuringNode){
			m = measuringNode = dojo.doc.createElement("div");
			m.style.position = "absolute";
			m.style.left = "-10000px";
			m.style.top = "0";
			dojo.body().appendChild(m);
		}else{
			m = measuringNode;
		}
		// reset styles
		m.className = "";
		m.style.border = "0";
		m.style.margin = "0";
		m.style.padding = "0";
		m.style.outline = "0";
		// set new style
		if(arguments.length > 1 && style){
			for(var i in style){
				if(i in empty){ continue; }
				m.style[i] = style[i];
			}
		}
		// set classes
		if(arguments.length > 2 && className){
			m.className = className;
		}
		// take a measure
		m.innerHTML = text;
		return dojo.marginBox(m);";s:7:"summary";s:0:"";}s:31:"dojox.html.metrics.getScrollbar";a:3:{s:4:"type";s:8:"Function";s:6:"source";s:65:"	dhm.getScrollbar=function(){ return { w:scroll.w, h:scroll.h }; ";s:7:"summary";s:0:"";}s:35:"dojox.html.metrics.initOnFontResize";a:4:{s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:8:"interval";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:861:"		var f = dhm._fontResizeNode = dojo.doc.createElement("iframe");
		var fs = f.style;
		fs.position = "absolute";
		fs.width = "5em";
		fs.height = "10em";
		fs.top = "-10000px";
		if(dojo.isIE){
			f.onreadystatechange = function(){
				if(f.contentWindow.document.readyState == "complete"){
					f.onresize = f.contentWindow.parent[dojox._scopeName].html.metrics._fontresize;
				}
			};
		}else{
			f.onload = function(){
				f.contentWindow.onresize = f.contentWindow.parent[dojox._scopeName].html.metrics._fontresize;
			};
		}
		//The script tag is to work around a known firebug race condition.  See comments in bug #9046
		f.setAttribute("src", "javascript:'<html><head><script>if(\"loadFirebugConsole\" in window){window.loadFirebugConsole();}</script></head><body></body></html>'");
		dojo.body().appendChild(f);
		dhm.initOnFontResize = function(){};";s:7:"summary";s:0:"";}s:31:"dojox.html.metrics.onFontResize";a:3:{s:4:"type";s:8:"Function";s:6:"source";s:3:"}  ";s:7:"summary";s:0:"";}s:30:"dojox.html.metrics._fontresize";a:4:{s:4:"type";s:8:"Function";s:6:"source";s:21:"		dhm.onFontResize();";s:7:"private";b:1;s:7:"summary";s:0:"";}s:18:"dojox.html.metrics";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:10:"dojox.html";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:5:"dojox";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}}