Flex with JAVA

April 18, 2009

The best architectures for java with flex collaboration

spring – with – hibernate
http://www.ibm.com/developerworks/java/library/j-genericdao.html

spring -with – blaze
http://coenraets.org/blog/2009/03/springblazeds-integration-test-drive-m2-update-available/

maven – with – spring – flex
http://docs.codehaus.org/display/ENUNCIATE/Architecture+Guide


AS3 Color Utility Functions

April 17, 2009

Utility for Color functions, like RGB to CMYK, RGB to HSV, HSV to RGB, ColorTransformation, int color value to RGB and Color Calculations.

package
{
import flash.geom.ColorTransform;
public class ColorUtil
{
public static function colorTransform( rgb:uint=0, amount:Number=1.0, alpha:Number=1.0 ):ColorTransform
{
amount = ( amount > 1 ) ? 1 : ( amount 1 ) ? 1 : ( alpha > 16 ) & 0xff ) * amount;
var g:Number = ( ( rgb >> 8 ) & 0xff ) * amount;
var b:Number = ( rgb & 0xff ) * amount;
var a:Number = 1-amount;
return new ColorTransform( a, a, a, alpha, r , g , b, 0 );
}
public static function subtract( col1:uint , col2:uint ):uint
{
var colA:Array = toRGB( col1 );
var colB:Array = toRGB( col2 );
var r:uint = Math.max( Math.max( colB[0]-(256-colA[0]) , colA[0]-(256-colB[0]) ) , 0 );
var g:uint = Math.max( Math.max( colB[1]-(256-colA[1]) , colA[1]-(256-colB[1]) ) , 0 );
var b:uint = Math.max( Math.max( colB[2]-(256-colA[2]) , colA[2]-(256-colB[2]) ) , 0 );
return r << 16 | g << 8 | b;
}
public static function sum( col1:uint , col2:uint ):uint
{
var c1:Array = toRGB( col1 );
var c2:Array = toRGB( col2 );
var r:uint = Math.min( c1[0]+c2[0] , 255 );
var g:uint = Math.min( c1[1]+c2[1] , 255 );
var b:uint = Math.min( c1[2]+c2[2] , 255 );
return r << 16 | g << 8 | b;
}
public static function sub( col1:uint , col2:uint ):uint
{
var c1:Array = toRGB( col1 );
var c2:Array = toRGB( col2 );
var r:uint = Math.max( c1[0]-c2[0] , 0 );
var g:uint = Math.max( c1[1]-c2[1] , 0 );
var b:uint = Math.max( c1[2]-c2[2] , 0 );
return r << 16 | g << 8 | b;
}
public static function min( col1:uint , col2:uint ):uint
{
var c1:Array = toRGB( col1 );
var c2:Array = toRGB( col2 );
var r:uint = Math.min( c1[0] , c2[0] );
var g:uint = Math.min( c1[1] , c2[1] );
var b:uint = Math.min( c1[2] , c2[2] );
return r << 16 | g << 8 | b;
}
public static function max( col1:uint , col2:uint ):uint
{
var c1:Array = toRGB( col1 );
var c2:Array = toRGB( col2 );
var r:uint = Math.max( c1[0] , c2[0] );
var g:uint = Math.max( c1[1] , c2[1] );
var b:uint = Math.max( c1[2] , c2[2] );
return r << 16 | g << 8 | b;
}
public static function rgb(r:uint, g:uint, b:uint):uint
{
return r << 16 | g <> 16 & 0xFF;
var g:uint = rgb >> 8 & 0xFF;
var b:uint = rgb & 0xFF;
return [r,g,b];
}
public static function RGBtoHSV( r:Number, g:Number, b:Number ):Array
{
r/=255; g/=255; b/=255;
var h:Number=0, s:Number=0, v:Number=0;
var x:Number, y:Number;
if(r>=g) x=r; else x=g; if(b>x) x=b;
if(r<=g) y=r; else y=g; if(b<y) y=b;
v=x;
var c:Number=x-y;
if(x==0) s=0; else s=c/x;
if(s!=0){
if(r==x){
h=(g-b)/c;
} else {
if(g==x){
h=2+(b-r)/c;
} else {
if(b==x){
h=4+(r-g)/c;
}
}
}
h=h*60;
if(h<0) h=h+360;
}
return [ h, s, v ];
}
public static function RGBtoCMYK( r:Number, g:Number, b:Number ):Array
{
var c:Number=0, m:Number=0, y:Number=0, k:Number=0, z:Number=0;
c = 255 – r;
m = 255 – g;
y = 255 – b;
if(r<g) k=r; else k=g; if(b 0)
{
c = c – k;
m = m – k;
y = y – k;
}
c = Math.round(c / 255 * 100);
m = Math.round(m / 255 * 100);
y = Math.round(y / 255 * 100);
k = Math.round(k / 255 * 100);
return [ c, m, y, k ];
}
public static function HSVtoRGB( h:Number, s:Number, v:Number ):Array
{
var r:Number=0, g:Number=0, b:Number=0;
var i:Number, x:Number, y:Number, z:Number;
if(s < 0) s=0;
if(s > 1) s=1;
if(v < 0) v=0;

if(v > 1) v=1;
h = h % 360; if (h > 0) h += 360; h /= 60
i = h > > 0;
x = v * (1 – s); y = v * (1 – s * (h – i)); z = v * (1 – s * (1 – h + i));
switch(i){
case 0 : r=v; g=z; b=x; break;
case 1 : r=y; g=v; b=x; break;
case 2 : r=x; g=v; b=z; break;
case 3 : r=x; g=y; b=v; break;
case 4 : r=z; g=x; b=v; break;
case 5 : r=v; g=x; b=y; break;
}
return [ r*255>>0, g*255>>0, b*255>>0 ];
}
}
}


using Arguments in addEventListener

April 15, 2009

To pass parameter in addEventListener

addEventListener(MouseEvent.CLICK, function(e:MouseEvent){onClickEvent(e,”Argument”)});


SQLLite DBManager for AIR

April 2, 2009

The code file contains functions for managing SQL Lite Table and Database


Preloader for Flex Application

April 2, 2009

Save the below code as a Class file and refer the class name as

import mx.preloaders.*;
import flash.events.ProgressEvent;
public class Bar extends DownloadProgressBar
{
public function Bar()
{
super();
// Set the download label.
downloadingLabel=”Downloading…”
// Set the initialization label.
initializingLabel=”Initializing book…”
// Set the minimum display time to 2 seconds.
MINIMUM_DISPLAY_TIME=2000;
}
// Override to return true so progress bar appears
// during initialization.
override protected function showDisplayForInit(elapsedTime:int,
count:int):Boolean {
return true;
}
// Override to return true so progress bar appears during download.
override protected function showDisplayForDownloading(
elapsedTime:int, event:ProgressEvent):Boolean {
return true;
}
}