blob: e33b0845d96dbee6fb878fa7932b426931ebf1cd [file]
////////////////////////////////////////////////////////////////////////////////
//
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You under the Apache License, Version 2.0
// (the "License"); you may not use this file except in compliance with
// the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
package comps {
import flash.display.DisplayObject;
import flash.display.Graphics;
import flash.display.JointStyle;
import flash.display.LineScaleMode;
import flash.display.Shape;
import flash.display.Sprite;
/**
* This is a basic shape used for testing.
* This is mostly just a copy from the ASDoc for
* flash.display.Shape.
**/
public class TestShape extends Sprite {
private var bgColor:uint = 0xFFCC00;
private var borderColor:uint = 0xFFCC00;
private var borderSize:uint = 0;
private var cornerRadius:uint = 0;
private var gutter:uint = 0;
private var _theHeight:int = 100;
private var _theWidth:int = 100;
private var theShape:Shape;
public function TestShape() {
doDrawRect();
refreshLayout();
}
private function refreshLayout():void {
var ln:uint = numChildren;
var child:DisplayObject;
var lastChild:DisplayObject = getChildAt(0);
lastChild.x = gutter;
lastChild.y = gutter;
for (var i:uint = 1; i < ln; i++) {
child = getChildAt(i);
child.x = gutter + lastChild.x + lastChild.width;
child.y = gutter;
lastChild = child;
}
}
/**
* I suspect there's a better way to resize a shape,
* but we'll just remove it and create a new one.
**/
private function doRedrawRect():void {
removeChild(theShape);
theShape = new Shape();
theShape.graphics.beginFill(bgColor);
theShape.graphics.lineStyle(borderSize, borderColor);
theShape.graphics.drawRect(0, 0, _theWidth, _theHeight);
theShape.graphics.endFill();
addChild(theShape);
}
private function doDrawRect():void {
theShape = new Shape();
theShape.graphics.beginFill(bgColor);
theShape.graphics.lineStyle(borderSize, borderColor);
theShape.graphics.drawRect(0, 0, _theWidth, _theHeight);
theShape.graphics.endFill();
addChild(theShape);
}
public function set theHeight(value:int):void{
_theHeight = value;
doRedrawRect();
}
public function get theHeight():int{
return _theHeight;
}
public function set theWidth(value:int):void{
_theWidth = value;
doRedrawRect();
}
public function get theWidth():int{
return _theWidth;
}
}
}