Got nothing to say to these classes!
The Rectangle-Class:
import drawingAPI.GeometryShape;
import asset.Point;
import asset.Size;
class drawingAPI.Rectangle extends GeometryShape{
public var type:String = “Rectangle“;
public function Rectangle(Void){
addPoint(new Point());
addPoint(new Point());
addPoint(new Point());
addPoint(new Point());
}
public function resize(Void):Void{
draw();
}
public function set width(aWidth:Number):Void{
getPointByNumber(1).x = aWidth;
getPointByNumber(2).x = aWidth;
}
public function get width():Number{
return getPointByNumber(1).x;
}
public function set height(aHeight:Number):Void{
getPointByNumber(2).y = aHeight;
getPointByNumber(3).y = aHeight;
}
public function get height():Number{
return getPointByNumber(2).y;
}
public function setSize(aWidth:Number, aHeight:Number):Void{
width = aWidth;
height = aHeight;
}
public function getSize(Void):Object{
return new Size(width, height);
}
}
The Polygon-Class:
import drawingAPI.GeometryShape;
import asset.Point;
import asset.Size;
class drawingAPI.Polygon extends GeometryShape{
public var type:String = “Polygon“;
public function Polygon(Void){
}
public function draw(Void):Void{
super.draw();
if(size.width == null) size.width = mc._width;
if(size.width == null) size.height = mc._height;
applySize();
}
public function resize(Void):Void{
applySize();
}
public function set width(aWidth:Number):Void{
size.width = aWidth;
}
public function get width():Number{
return size.width;
}
public function set height(aHeight:Number):Void{
size.height = aHeight;
}
public function get height():Number{
return size.height;
}
public function setSize(aWidth:Number, aHeight:Number):Void{
width = aWidth;
height = aHeight;
}
public function getSize(Void):Object{
return size;
}
public function addPoint(aPoint:Point):Number{
points.push(aPoint);
return points.length-1;
}
public function removePoint(aPoint:Point):Void{
var i:Number = 0;
while(i < points.length){
if(points[i] == aPoint){
points[i].remove();
points.splice(i, 1);
}
i++;
}
}
public function removePointByNumber(aNumber:Number):Void{
points.splice(aNumber, 1);
}
private function applySize(Void):Void{
mc._width = size.width;
mc._height = size.height;
}
}
