Skin the TitleWindow
The following example shows you how to extends the ProgrammaticSkin and
add a gradient as background to a TitleWindow
usage :
WindowedApplication {
TitleWindow: ClassReference("com.gnstudio.skins.TitleWindowSkin");
}
add a gradient as background to a TitleWindow
usage :
WindowedApplication {
TitleWindow: ClassReference("com.gnstudio.skins.TitleWindowSkin");
}
package com.gnstudio.skins
{
import flash.display.GradientType;
import flash.display.InterpolationMethod;
import flash.display.SpreadMethod;
import flash.geom.Matrix;
import mx.graphics.RectangularDropShadow;
import mx.skins.RectangularBorder;
public class TitleWindowSkin extends RectangularBorder{
private var cornerRadius:Number = 6;
private var borderColor:uint = 0xFFFFFF;
private var borderThickness:Number = 1;
override protected function updateDisplayList (unscaledWidth:Number, unscaledHeight:Number):void{
super.updateDisplayList(unscaledWidth, unscaledHeight);
graphics.clear()
if(getStyle("cornerRadius")){
cornerRadius = getStyle("cornerRadius");
}
if(getStyle("borderColor")){
borderColor = getStyle("borderColor");
}
if(getStyle("borderThickness")){
borderThickness = getStyle("borderThickness");
}
var fillType:String = GradientType.LINEAR;
var colors:Array = [0x000000,0x111111,0x333333];
var alphas:Array = [1,.75, .50];
var ratios:Array = [0,128, 255];
var matrix:Matrix = new Matrix();
matrix.createGradientBox(unscaledWidth,unscaledHeight*2, Math.PI/2, 0, 0);
var spreadMethod:String = SpreadMethod.REPEAT;
var interpolationMethod:String = InterpolationMethod.LINEAR_RGB;
graphics.lineStyle(borderThickness, borderColor);
graphics.beginGradientFill(fillType, colors, alphas, ratios, matrix, spreadMethod,interpolationMethod);
graphics.drawRoundRectComplex(0,0,unscaledWidth,unscaledHeight,cornerRadius,cornerRadius,cornerRadiu
s,cornerRadius);
}
}
}





