      * 
      *  @private
      */
-    private var _applicationDPI:int = -1;
+    private var _applicationDPI:Number = NaN;
     
     [Inspectable(category="General", enumeration="160,240,320")]
     

import mx.core.FlexGlobals;
import mx.core.IInvalidating;
import mx.core.InteractionMode;
import mx.core.Singleton;
import mx.core.UIComponentGlobals;
import mx.core.mx_internal;

     *  @see #applicationDPI
     *  @see mx.core.DPIClassification
     */  
    public function get runtimeDPI():Number
    {
        return DensityUtil.getRuntimeDPI();
    }
    
    //----------------------------------
    //  runtimeDPIProvider
    //----------------------------------
    
    /**
     *  A class that extends RuntimeDPIProvider and overrides the default Flex
     *  calculations for <code>runtimeDPI</code>.
     * 
     *  <p>Flex's default mappings are:
     *     <table class="innertable">
     *        <tr><td>160 DPI</td><td>&lt;200 DPI</td></tr>
     *        <tr><td>240 DPI</td><td>&gt;=200 DPI and &lt;280 DPI</td></tr>
     *        <tr><td>320 DPI</td><td>&gt;=280 DPI</td></tr>
     *     </table>
     *  </p>
     * 
     *  This property cannot be set by ActionScript code; it must be set in MXML code.
     * 
     *  @default spark.components.RuntimeDPIProvider
     * 
     *  @see #applicationDPI
     *  @see #runtimeDPI
     *  @see mx.core.DPIClassification
     *  @see mx.core.RuntimeDPIProvider
     */
    public function get runtimeDPIProvider():Class
    {
        return systemManager.info()["runtimeDPIProvider"];
    }
    
    /**
     *  @private
     */
    public function set runtimeDPIProvider(value:Class):void
    {
        // Can't change at run-time so do nothing here.
        // The compiler will propagate the MXML value to the
        // systemManager's info object.
    }
        
    //----------------------------------
    //  usePreloader
    //----------------------------------
