2008-01-04

AFGL Project

Introduction

The Advanced Flex Graphics Library(AFGL) is a library for ActionScript 3.0. It contains many drawing and image processing API.The root package is advancedflex.afgl.

Requirements

  • AFML(Advanced Flex Math Library)

Package Details

  • advancedflex
    • graphics
      • images //It contains many image processing API.
        • filters //It contains many Filter Factory that can create the BitmapFilter easily.
        • imgfilter //It contains many image processing API.It likes the normal filters, or the filter extends BitmapFilter, but only can apply to BitmapData.It can do many things that normal filters can't do.
      • drawing //It contains many Drawing API that enables draw graphics easier.

2007-07-29

AOPFramework alpha released!

AOP Framework Icon

AOPFramework is released on Google Code.


Sample:



package {

import advancedflex.aop.advisor.InvocationAdvisor;
import advancedflex.aop.framework.AOPProxy;
import advancedflex.aop.framework.Advisor;
import advancedflex.aop.framework.JointPoint;
import advancedflex.aop.framework.MethodInfo;
import advancedflex.aop.framework.Pointcut;
import advancedflex.aop.pointcut.RegExpPointcut;
import advancedflex.aop.pointcut.StringPointcut;
import advancedflex.aop.proxy.StaticAOPProxy;

import flash.display.Graphics;
import flash.display.Sprite;
import flash.geom.Matrix;
import flash.geom.Point;
import flash.geom.Transform;
import flash.utils.Dictionary;
public class AdvancedFlex extends Sprite{
public function AdvancedFlex(){
var s:Point = new Point(0,0);
var p:AOPProxy = new StaticAOPProxy(s);
var ad:InvocationAdvisor = new InvocationAdvisor();
ad.aroundAdvice = function(method:MethodInfo, join:JointPoint):void {
trace("#begin","name :", method.name,"args :", method.args, "result :", method.result);
join.proceed(method);
trace("@end","name :", method.name,"args :", method.args, "result :", method.result);
}
ad.beforeAdvice = function(method:MethodInfo):void {
trace("@before","name :", method.name,"args :", method.args, "result :", method.result);
}
ad.returningAdvice = function(method:MethodInfo):void {
trace("@return","name :", method.name,"args :", method.args, "result :", method.result);
}
ad.throwingAdvice = function(method:MethodInfo, e:Error):void {
trace("@throw","name :", method.name,"args :", method.args, "result :", method.result);
}
ad.afterAdvice = function(method:MethodInfo):void {
trace("@after","name :", method.name,"args :", method.args, "result :", method.result);
}
var pc:Pointcut = new RegExpPointcut(/ad+/, ad);
p.$addPointcut(pc);
trace(p.add(new Point(2,3)));
}
}
}

2007-06-15

AOP Framework comes soon!

AOP Framework Icon

AOP Framework now is pre-alpha.

It can be used in AS3.0 & MXML. It can write Context like Spring.

Package:

  • advancedflex.aop.advice.*
  • advancedflex.aop.advisor.*
  • advancedflex.aop.context.*
  • advancedflex.aop.proxy.*
  • advancedflex.aop.pointcut.*

It contains 5 kind of Advice.

  • Around - Run around Pointcut.
  • Before - Run before join Pointcut.
  • After - Run after joined Pointcut if there is no error.
  • Throwing - Run after joined Pointcut if there is any error.
  • Introduction - Run after joined Pointcut. It like the finally Block.
It contains 2 kind of Advisor.
  • SimpleAdvisor - It is very fast, but can only add one advice a Type.
  • MulitAdvisor - It is slower than SimpleAdvisor, but can add many advice a Type.(Except Around Advice)
It contains 3 kind of Pointcut.
  • SimplePointcut
  • RegExpPointcut
  • DynamicPointcut

2007-06-03

Actionscript Unit Test Framework Sample

Dbug Icon


Actionscript Unit Test Framework Sample

//TestCaseSample1.as
package {
import advancedflex.debugger.aut.framework.TestCase;
import advancedflex.debugger.aut.framework.ns.*;

public class TestCaseSample1 extends TestCase {
//test only.
test function a():void {
console.print("aa");
}
//test and check time if it is timeout.
time function b():int {
console.print("bb");
//if used time > return value,it will throw error.
return 10;
}
}
}
//TestCaseSample2.as
package {
import advancedflex.debugger.aut.framework.TestCase;
import advancedflex.debugger.aut.framework.ns.*;

public class TestCaseSample2 extends TestCase {
//test only.
test function cc():void {
console.print("aaa");
}
//test and check time if it is timeout.
time function dd():int {
console.print("bbb");
return 10;
}
}
}
//Main.as
package {
import advancedflex.debugger.aut.framework.TraceConsole;
import advancedflex.debugger.aut.framework.TestSuite;

public class Main {
public function TestTests() {
new TestSuite()
.addTest(new TestCaseSample1())
.addTest(new TestCaseSample2())
.startTest(new TraceConsole());

}
/*You can also use like this.
public function TestTests() {
new TestCaseSample1().startTest(new TraceConsole());
new TestCaseSample2().startTest(new TraceConsole());

}*/
}
}

The debugger framework 0.2 alpha 2 released!

Dbug Icon


This is the Dbug Project'product - debugger framework version 0.2 alpha 2.



Download Here

Implementation:
  • advancedflex.debugger
  • advancedflex.debugger.errors
  • advancedflex.debugger.display
  • advancedflex.debugger.display.mxml
  • advancedflex.debugger.aut.*
Unrealized:
  • advancedflex.debugger.logging
  • advancedflex.debugger.aut.flexui
  • advancedflex.debugger.aut.apolloui
Change
  • advancedflex.debugger.FPSView move to advancedflex.core.FPSView

2007-05-27

The debugger framework 0.1 alpha

Dbug Icon


This is the Dbug Project'product - debugger framework version 0.1 alpha.


Implementation:
  • advancedflex.debugger
  • advancedflex.debugger.errors
  • advancedflex.debugger.display
  • advancedflex.debugger.display.mxml
Unrealized:
  • advancedflex.debugger.aut
  • advancedflex.debugger.logging
Download Here(advancedflex.debugger 0.1 alpha.zip)

2007-05-24

The debugger framework

Dbug Icon


Project Name:Dbug
Description:

This is the debugger framework written in AS3.0 for Flex & Flash.
It contains these packages.


  • advancedflex.debugger.*;//It contains common tools of debugging.
  • advancedflex.debugger.aut.*;//It contains the sub project of As Unit Test framework(It likes the ASUnit).
  • advancedflex.debugger.display.*;//It contains the DisplayObject written in AS3.0 that can show or get some info.
  • advancedflex.debugger.mxml.display.*;//It contains the DisplayObject written in MXML that can show or get some info.
The API of the .display.* package and the .mxml.display.* package is same.But the difference between these is the .mxml.display.* is written in MXML, but the other is written in AS3.0.