<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>
+ <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
+ <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
<style type="text/css">
.highlight { display: block; background-color: #ddd; }
</style>
</head>
<body onload="prettyPrint(); highlight();">
<pre class="prettyprint lang-js"><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
+</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: {
* @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,
},
<span id='Ext-util-TextMetrics-method-constructor'> /**
-</span> * @constructor
- * @param {Mixed} bindTo The element to bind to.
- * @param {Number} fixedWidth A fixed width to apply to the measuring element.
+</span> * Creates new TextMetrics.
+ * @param {String/HTMLElement/Ext.Element} bindTo The element or its ID to bind to.
+ * @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> * 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,
<span id='Ext-util-TextMetrics-method-bind'> /**
</span> * Binds this TextMetrics instance to a new element
- * @param {Mixed} el The element
+ * @param {String/HTMLElement/Ext.Element} el The element or its ID.
*/
bind: function(el){
var me = this;
delete me.measure;
}
}, function(){
- Ext.core.Element.addMethods({
-<span id='Ext-core-Element-method-getTextWidth'> /**
+ Ext.Element.addMethods({
+<span id='Ext-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.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);