Showing posts with label Flash. Show all posts
Showing posts with label Flash. Show all posts

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