Introduction

Flash is a lightweight cross-platform runtime for rich media, enterprise applications and mobile applications, as well as an integrated development environment. Flash can be programmed in ActionScript 1/2/3.

Friday, November 28th, 2003 at 5:52 pm

The Rectangle and Polygon-Class

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;
        }
}