-<!DOCTYPE html><html><head><title>Sencha Documentation Project</title><link rel="stylesheet" href="../reset.css" type="text/css"><link rel="stylesheet" href="../prettify.css" type="text/css"><link rel="stylesheet" href="../prettify_sa.css" type="text/css"><script type="text/javascript" src="../prettify.js"></script></head><body onload="prettyPrint()"><pre class="prettyprint"><pre><span id='Ext-util.TextMetrics'>/**
-</span> * @class Ext.util.TextMetrics
- * <p>
- * Provides precise pixel measurements for blocks of text so that you can determine exactly how high and
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>The source code</title>
+ <link href="../prettify/prettify.css" type="text/css" rel="stylesheet" />
+ <script type="text/javascript" src="../prettify/prettify.js"></script>
+ <style type="text/css">
+ .highlight { display: block; background-color: #ddd; }
+ </style>
+ <script type="text/javascript">
+ function highlight() {
+ document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
+ }
+ </script>
+</head>
+<body onload="prettyPrint(); highlight();">
+ <pre class="prettyprint lang-js"><span id='Ext-util-TextMetrics'>/**
+</span> * Provides precise pixel measurements for blocks of text so that you can determine exactly how high and
* wide, in pixels, a given block of text will be. Note that when measuring text, it should be plain text and
- * should not contain any HTML, otherwise it may not be measured correctly.</p>
- * <p>The measurement works by copying the relevant CSS styles that can affect the font related display,
+ * should not contain any HTML, otherwise it may not be measured correctly.
+ *
+ * The measurement works by copying the relevant CSS styles that can affect the font related display,
* then checking the size of an element that is auto-sized. Note that if the text is multi-lined, you must
- * provide a <b>fixed width</b> when doing the measurement.</p>
- *
- * <p>
+ * provide a **fixed width** when doing the measurement.
+ *
* If multiple measurements are being done on the same element, you create a new instance to initialize
* to avoid the overhead of copying the styles to the element repeatedly.
- * </p>
*/
Ext.define('Ext.util.TextMetrics', {
statics: {
shared: null,
-<span id='Ext-util.TextMetrics-method-measure'> /**
+<span id='Ext-util-TextMetrics-method-measure'> /**
</span> * Measures the size of the specified text
* @param {String/HTMLElement} el The element, dom node or id from which to copy existing CSS styles
* that can affect the size of the rendered text
* @param {String} text The text to measure
* @param {Number} fixedWidth (optional) If the text will be multiline, you have to set a fixed width
* in order to accurately measure the text height
- * @return {Object} An object containing the text's size {width: (width), height: (height)}
+ * @return {Object} An object containing the text's size `{width: (width), height: (height)}`
*/
measure: function(el, text, fixedWidth){
var me = this,
return shared.getSize(text);
},
-<span id='Ext-util.TextMetrics-method-destroy'> /**
+<span id='Ext-util-TextMetrics-method-destroy'> /**
</span> * Destroy the TextMetrics instance created by {@link #measure}.
*/
destroy: function(){
}
},
-<span id='Ext-util.TextMetrics-method-constructor'> /**
-</span> * @constructor
+<span id='Ext-util-TextMetrics-method-constructor'> /**
+</span> * Creates new TextMetrics.
* @param {Mixed} bindTo The element to bind to.
- * @param {Number} fixedWidth A fixed width to apply to the measuring element.
+ * @param {Number} fixedWidth (optional) A fixed width to apply to the measuring element.
*/
constructor: function(bindTo, fixedWidth){
var measure = this.measure = Ext.getBody().createChild({
}
},
-<span id='Ext-util.TextMetrics-method-getSize'> /**
-</span> * <p><b>Only available on the instance returned from {@link #createInstance}, <u>not</u> on the singleton.</b></p>
- * Returns the size of the specified text based on the internal element's style and width properties
+<span id='Ext-util-TextMetrics-method-getSize'> /**
+</span> * Returns the size of the specified text based on the internal element's style and width properties
* @param {String} text The text to measure
- * @return {Object} An object containing the text's size {width: (width), height: (height)}
+ * @return {Object} An object containing the text's size `{width: (width), height: (height)}`
*/
getSize: function(text){
var measure = this.measure,
return size;
},
-<span id='Ext-util.TextMetrics-method-bind'> /**
+<span id='Ext-util-TextMetrics-method-bind'> /**
</span> * Binds this TextMetrics instance to a new element
* @param {Mixed} el The element
*/
);
},
-<span id='Ext-util.TextMetrics-method-setFixedWidth'> /**
+<span id='Ext-util-TextMetrics-method-setFixedWidth'> /**
</span> * Sets a fixed width on the internal measurement element. If the text will be multiline, you have
* to set a fixed width in order to accurately measure the text height.
* @param {Number} width The width to set on the element
this.measure.setWidth(width);
},
-<span id='Ext-util.TextMetrics-method-getWidth'> /**
+<span id='Ext-util-TextMetrics-method-getWidth'> /**
</span> * Returns the measured width of the specified text
* @param {String} text The text to measure
* @return {Number} width The width in pixels
return this.getSize(text).width;
},
-<span id='Ext-util.TextMetrics-method-getHeight'> /**
+<span id='Ext-util-TextMetrics-method-getHeight'> /**
</span> * Returns the measured height of the specified text
* @param {String} text The text to measure
* @return {Number} height The height in pixels
return this.getSize(text).height;
},
-<span id='Ext-util.TextMetrics-method-destroy'> /**
+<span id='Ext-util-TextMetrics-method-destroy'> /**
</span> * Destroy this instance
*/
destroy: function(){
}
}, function(){
Ext.core.Element.addMethods({
-<span id='Ext-core.Element-method-getTextWidth'> /**
+<span id='Ext-core-Element-method-getTextWidth'> /**
</span> * Returns the width in pixels of the passed text, or the width of the text in this Element.
* @param {String} text The text to measure. Defaults to the innerHTML of the element.
- * @param {Number} min (Optional) The minumum value to return.
- * @param {Number} max (Optional) The maximum value to return.
+ * @param {Number} min (optional) The minumum value to return.
+ * @param {Number} max (optional) The maximum value to return.
* @return {Number} The text width in pixels.
- * @member Ext.core.Element getTextWidth
+ * @member Ext.core.Element
*/
getTextWidth : function(text, min, max){
return Ext.Number.constrain(Ext.util.TextMetrics.measure(this.dom, Ext.value(text, this.dom.innerHTML, true)).width, min || 0, max || 1000000);
}
});
});
-</pre></pre></body></html>
\ No newline at end of file
+</pre>
+</body>
+</html>