 {
 	import mx.containers.Canvas;
 	import mx.controls.Button;
+	import mx.core.EdgeMetrics;
 	import mx.core.IContainer;
 	import mx.core.IFlexDisplayObject;
-	import mx.core.UIComponent;
+	import mx.core.ScrollPolicy;
 	import mx.core.UIComponentDescriptor;
 	import mx.core.mx_internal;
-	import mx.managers.IFocusManagerContainer;
-	import mx.core.IRawChildrenContainer;
-	import mx.core.IDataRenderer;
-	import flash.display.DisplayObject;
-	import mx.core.ScrollPolicy;
 	
 	use namespace mx_internal;
 

	        if(canvas)
	        	canvas.verticalScrollPolicy = value;
	    }
		
		
		
	}
}
		
		public function CanvasButton():void {
			super();
		}
		
		private var _childrenCreated:Boolean = false;
		
		override protected function createChildren():void {
			//super.createChildren();
			
			//create our canvas and add it to the display list
			canvas = new Canvas();
			canvas.verticalScrollPolicy = _verticalScrollPolicy;
			canvas.horizontalScrollPolicy = _horizontalScrollPolicy;
			canvas.mouseChildren = super.mouseChildren;
			canvas.buttonMode = super.buttonMode;
			super.addChild(canvas);
			
			//if child components have been specified in MXML then we need 
			//to add them all now
			createComponents();
			
			//mouseChildren = true;
			
			_childrenCreated = true;	
		}
