         _verticalScrollPosition = value;
         scrollPositionChanged();
     }    
+    
+    //----------------------------------
+    //  clipContent
+    //----------------------------------
+        
+    private var _clipContent:Boolean = true;
+    
+    [Inspectable(category="General")]
+    
+    /**
+     *  When scrolling is enabled, clip the target's contents by 
+     *  setting its scrollRect.  If this property is set to false,
+     *  then the target's scrollRect will be null, even if its
+     *  scrollPosition is non-zero or its content size is larger
+     *  than its actual size.
+     * 
+     *  @default true
+     *  @see target
+     *  @see updateScrollRect
+     *  @see verticalScrollPosition
+     *  @see horizontalScrollPosition
+     */
+    public function get clipContent():Boolean 
+    {
+        return _clipContent;
+    }
+    
+    /**
+     *  @private
+     */
+    public function set clipContent(value:Boolean):void 
+    {
+        if (value == _clipContent) 
+            return;
+    
+        _clipContent = value;
+        var g:GroupBase = target;
+        if (g)
+            updateScrollRect(g.width, g.height);
+    }
+        
 
     //--------------------------------------------------------------------------
     //

import flash.ui.Keyboard;

import flex.core.GroupBase;
import flex.intf.ILayout;
import flex.intf.ILayoutItem;
import flash.events.EventDispatcher;

    
public class LayoutBase extends EventDispatcher implements ILayout
{
    //--------------------------------------------------------------------------
    //

        var g:GroupBase = target;
        if (!g)
            return;
            
        if (!clipContent)
        {
            g.scrollRect = null;
            return;
        }            

        var hsp:Number = horizontalScrollPosition;
        var vsp:Number = verticalScrollPosition;
