     //  Class methods
     //
     //--------------------------------------------------------------------------
+    
+    mx_internal function drawMinimumHitArea(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        // minimum hit area is 0.25 inches square
+        var minSize:Number = applicationDPI / 4;
+        
+        // skip if skin size is larger than minimum
+        if ((unscaledWidth > minSize) && (unscaledHeight > minSize))
+            return;
+        
+        // center a transparent hit area larger than the skin
+        var hitAreaWidth:Number = Math.max(minSize, unscaledWidth);
+        var hitAreaHeight:Number = Math.max(minSize, unscaledHeight);
+        var hitAreaX:Number = (unscaledWidth - hitAreaWidth) / 2;
+        var hitAreaY:Number = (unscaledHeight - hitAreaHeight) / 2;
+        
+        graphics.beginFill(0, 0);
+        graphics.drawRect(hitAreaX, hitAreaY, hitAreaWidth, hitAreaHeight);
+        graphics.endFill();
+    }
     
     /**
      *  Positions the children for this skin.

        if (useSymbolColor)
            applySymbolColor();
        
        drawBackground(unscaledWidth, unscaledHeight);
    }
    
    //--------------------------------------------------------------------------

    protected var useSymbolColor:Boolean = false;
    
    /**
     *  @private
     *  Toggles transparent, centered, hit-area if the unscaled size is less
     *  than one-quarter inch square. Physical size is based on applicationDPI.
     */
    mx_internal var useMinimumHitArea:Boolean = false;
    
    /**
     *  Specifies a default width. <code>measuredWidth</code> returns this value
     *  when the computed <code>measuredWidth</code> is less than
     *  <code>measuredDefaultWidth</code>.
