Upgrade to ExtJS 4.0.7 - Released 10/19/2011
[extjs.git] / docs / source / TextMetrics.html
index 21d9b31..eb14ccc 100644 (file)
@@ -1,29 +1,43 @@
-<!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
- * &lt;p&gt;
- * 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="../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>
+  <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.&lt;/p&gt; 
- * &lt;p&gt;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 &lt;b&gt;fixed width&lt;/b&gt; when doing the measurement.&lt;/p&gt;
- * 
- * &lt;p&gt;
+ * 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.
- * &lt;/p&gt;
  */
 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,
@@ -37,7 +51,7 @@ Ext.define('Ext.util.TextMetrics', {
             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(){
@@ -47,10 +61,10 @@ Ext.define('Ext.util.TextMetrics', {
          }
     },
     
-<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 id='Ext-util-TextMetrics-method-constructor'>    /**
+</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({
@@ -67,11 +81,10 @@ Ext.define('Ext.util.TextMetrics', {
         }
     },
     
-<span id='Ext-util.TextMetrics-method-getSize'>    /**
-</span>     * &lt;p&gt;&lt;b&gt;Only available on the instance returned from {@link #createInstance}, &lt;u&gt;not&lt;/u&gt; on the singleton.&lt;/b&gt;&lt;/p&gt;
-     * 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,
@@ -83,9 +96,9 @@ Ext.define('Ext.util.TextMetrics', {
         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
+     * @param {String/HTMLElement/Ext.Element} el The element or its ID.
      */
     bind: function(el){
         var me = this;
@@ -96,7 +109,7 @@ Ext.define('Ext.util.TextMetrics', {
         );
     },
     
-<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
@@ -105,7 +118,7 @@ Ext.define('Ext.util.TextMetrics', {
          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
@@ -115,7 +128,7 @@ Ext.define('Ext.util.TextMetrics', {
          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
@@ -124,7 +137,7 @@ Ext.define('Ext.util.TextMetrics', {
          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(){
@@ -134,18 +147,20 @@ Ext.define('Ext.util.TextMetrics', {
          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);
         }
     });
 });
-</pre></pre></body></html>
\ No newline at end of file
+</pre>
+</body>
+</html>