/ ** * Super Color * Extended Color Class * * --------------------------------- * * Based on Robert PENNER Color Toolkit v1.3 * * Properties * * _brightness * _brightOffset * _contrast * _negative * * _rgb * _rgbStr * _red * _green * _blue * * _redPercent * _greenPercent * _bluePercent * * _redOffset * _greenOffset * _blueOffset * * Methods * * getTarget () * * setRGBStr () * getRGBStr () * setRGB2 () * getRGB2 () * reset () * * setBrightness () * getBrightness () * setBrightOffset () * getBrightOffset () * setContrast () * getContrast () * * GetNegative () * setnegative () * invert () * * settint () * gett () * settint2 () * gettint2 () * settintoffset () * gettintoffset () * * setred () * getred () * setgreen () * getGreen () * setBlue () * getBlue () * * setRedPercent () * getRedPercent () * setGreenPercent () * getGreenPercent () * setBluePercent () * getBluePercent () * * setRedOffset () * getRedOffset () * Setgreenoffset () * getGreenoffset () * setBlueoffset () * getBlueoffset () * * @version 0.3 * @Author lalex * @since 19/08/2004 * /
Class com.lalex.movieClip.supercolor
Extends
Color {
Private
Var_targetmc:
MovieClip;
/ ** * constructor * @Param Clip Clip to Apply the color * /
Function Supercolor (CLIP:
MovieClip) {
Super (CLIP);
_targetmc = clip;
}
/ ** * returns affected clip * @Return Targeted movieclip * /
public
Function getTARGET ():
MovieClip {
Return_targetmc;
}
// ---------- O RGB
/ ** * set an rgb value from an Hexadecimal String * @Param HexStr Hexadecimal value string * /
public
Function setRGBSTR (HEXSTR:
String) {
// grab the last saracters of the stringhexstr = hexstr.
Substr (-6, 6);
SETRGB
PARSEINT (HEXSTR, 16));
}
/ ** * get the rgb value as a string * @return Hexadecimal Value String * /
public
Function getRGBSTR ():
String {
Var HEXSTR:
String =
GetRGB ().
TOSTRING (16);
// Fill in Zeroes as needed
VAR TOFILL:
Number = 6 - HEXSTR.
Length;
While (TOFILL -) HEXSTR =
"0" hexstr;
Return HEXSTR.
TouPpercase ();
}
/ ** * SET Red, Green, And Blue with Normal NumBers * @Param R Red Value Between 0 and 255 * @Param G Greeb Value Between 0 and 255 * @Param B Blue Value Between 0 and 255 * /
public
Function setRGB2 (R:
Number, g:
Number, B:
Number) {
SetRGB (r << 16 | g << 8 | b);
}
// BRANDEN HALL - www.figleaf.com
/ ** * @Return Object with r, g, and b properties * /
public
Function getRGB2 ():
Object {
Var t =
GetTransform ();
Return {r: T.RB, G: T.GB, B: T.BB};
}
/ ** * reset the color object to normal * /
public
Function reset (): void {
Settransform ({RA: 100, GA: 100, BA: 100, RB: 0, GB: 0, BB: 0});
}
// ---------- o Brightness
/ ** * Brighten Just Like Property Inspector of movieClip * @Param Val Brightness BetWeen -100 and 100 * /
public
Function SetBrightness (VAL:
Number) {
VAR Trans:
Object =
GetTransform ();
WITH (Trans) {
Ra = Ga = ba = 100 -
Math.
ABS (VAL);
RB = GB = bb = (VAL> 0)? VAL * (256/100): 0;
}
SetTransform (Trans);
}
/ ** * @Return Brightness Set with setBrightness * @see setbrightness * /
public
Function GetBrightness ():
Number {
VAR Trans:
Object =
GetTransform ();
WITH (Trans) {
RETURN RB? 100 - RA: RA - 100;
}
/ ** * set bigtness offset * @Param Val Offset BetWeen -255 and 255 * /
public
Function setBrightoffset (VAL:
Number) {
VAR Trans:
Object =
GetTransform ();
WITH (Trans) {
RB = GB = bb = Val;
}
SetTransform (Trans);
}
/ ** * @Return Brightness Set with setBrightoffset * @see setbrightoffset * /
public
Function getBrightoffset ():
Number {
Return
GetTransform (). RB;
}
// ---------- o Contrast
/ ** * set contrast * @Param Val percent BetWeen -100 and 100 * /
public
Function SetContrast (VAL:
Number) {
VAR Trans:
Object = {};
Trans. RA = Trans.ga = Trans.ba = VAL;
Trans. rb = trans.gb = trans.bb = 128 - (128/100 * VAL);
SetTransform (Trans);
}
/ ** * @return contrast set with setContrast * @see setContrast * /
public
Function getContrast ():
Number {
Return
GetTransform (). RA;
}
// ---------- o NEGATIVE and INVERT
/ ** * Product a negative image of the Normal Appearance * @Param Percent BetWeen 0 and 100 * /
public
Function setnegative (percent:
Number) {
Var T:
Object = {};
T.RA = T.Ga = T.ba = 100 - 2 * percent;
T.RB = T.GB = T.BB = percent * (255/100);
SetTransform (T);
}
/ ** * @Return Negative percentage * @see setnegative * /
public
Function getNegative ():
Number {
Return
GetTransform (). RB * (100/255);
}
/ ** * Invert the current color value * /
public
Function inVert () {
VAR Trans:
Object =
GetTransform ();
WITH (Trans) {
Ra = -RA;
Ga = -GA;
BA = -ba;
RB = 255 - RB;
GB = 255 - GB;
BB = 255 - bb;
}
SetTransform (Trans);
}
// ---------- o Tint
/ ** * Tint with a color just like Property Inspector * @param r Red value between 0 and 255 * @param g Greeb value between 0 and 255 * @param b Blue value between 0 and 255 * @param percent Between 0 and 100 * / public
Function Sett (R:
Number, g:
Number, B:
Number, percent:
Number) {
Var ratio = percent / 100;
VAR trans = {RB: r * Ratio, GB: g * ratio, bb: b * ratio};
Trans. RA = Trans.ga = Trans.ba = 100 - percent;
SetTransform (Trans);
}
/ ** * @return Tint Object Containing r, g, b, and percent profment * @see sett * /
public
Function Gett ():
Object {
VAR Trans:
Object =
GetTransform ();
VAR TINT:
Object = {Percent: 100 - Trans.ra};
Var Ratio:
Number = 100 / tint.percent;
Tint.r = trans. rb * ratio;
Tint.g = trans.gb * ratio;
Tint.b = trans.bb * ratio;
Return Tint;
}
/ ** * Tint with a color - Alternate Approach * @Param RGB Color Number BetWeen 0 and 0xfffffff * @Param Percent Between 0 and 100 * /
public
Function sett2 (RGB:
Number, percent:
Number) {
Var r:
Number = (RGB >> 16);
Var g:
Number = (RGB >> 8) & 0xFF;
VAR B:
Number = RGB & 0xFF;
Var Ratio:
Number = percent / 100;
VAR Trans:
Object = {RB: r * Ratio, GB: G * Ratio, BB: b * ratio};
Trans. RA = Trans.ga = Trans.ba = 100 - percent;
SetTransform (Trans);
}
/ ** * @Return a Tint Object Containing RGB (a 0xfffff number) and percent property * @see settint2 * /
public
Function GettinT2 ():
Object {
VAR Trans:
Object =
GetTransform ();
VAR TINT:
Object = {Percent: 100 - Trans.ra};
Var Ratio:
Number = 100 / tint.percent;
Tint.rgb = (trans. rb * ratio) << 16 | (trans.gb * ratio) << 8 | Trans.bb * Ratio; Return Tint;
}
// ---------- o Tint offset
/ ** * @Param r red value betWeen 0 and 255 * @Param g Greeb value betWeen 0 and 255 * @Param B Blue Value Between 0 and 255 * /
public
Function SettOffset (R:
Number, g:
Number, B:
Number) {
VAR Trans:
Object =
GetTransform ();
WITH (Trans) {
RB = R;
GB = g;
BB = B;
}
SetTransform (Trans);
}
/ ** * @Return Object Containing R, G, B Properties * @see settoffset * /
public
Function GettintOffset ():
Object {
Var T:
Object =
GetTransform ();
Return {r: T.RB, G: T.GB, B: T.BB};
}
// ---------- O Color Values
/ ** * set red value * @Param Amount BetWeen 0 and 255 * /
public
Function Setred (Amount:
Number) {
Var t =
GetTransform ();
SETRGB (Amount << 16 | T.GB << 8 | T.BB);
}
/ ** * get red value * @Return Value Between 0 and 255 * @see setred * /
public
Function getRed ():
Number {
Return
GetTransform (). RB;
}
/ ** * set green value * @Param Amount BetWeen 0 and 255 * /
public
Function SetGreen (Amount:
Number) {
Var t =
GetTransform ();
SetRGB (T.RB << 16 | Amount << 8 | T.BB);
}
/ ** * get green value * @Return Value Between 0 and 255 * @see setgreen * /
public
Function getGreen ():
Number {
Return
GetTransform (). GB;
}
/ ** * set blue value * @Param Amount BetWeen 0 and 255 * /
public
Function SetBlue (Amount:
Number) {
Var t =
GetTransform ();
SetRGB (T.RB << 16 | T.GB << 8 | Amount);
}
/ ** * get blue value * @Return Value Between 0 and 255 * @see setblue * / public
Function getBlue ():
Number {
Return
GetTransform (). bb;
}
// ---------- O Color Percentages
/ ** * set red percentage * @Param percent BetWeen -100 and 100 * /
public
Function setredPercent (Percent:
Number) {
VAR Trans:
Object =
GetTransform ();
Trans. RA = percent;
SetTransform (Trans);
}
/ ** * get red percentage * @Return Value BetWeen -100 and 100 * @see setredPercent * /
public
Function getredPercent ():
Number {
Return
GetTransform (). RA;
}
/ ** * set green percentage * @Param percent BetWeen -100 and 100 * /
public
Function setGreenpercent (Percent:
Number) {
VAR Trans:
Object =
GetTransform ();
Trans.ga = percent;
SetTransform (Trans);
}
/ ** * get green percentage * @Return Value BetWeen -100 and 100 * @see setgreenpercent * /
public
Function getGreenpercent ():
Number {
Return
GetTransform (). GA;
}
/ ** * set blue percentage * @Param percent BetWeen -100 and 100 * /
public
Function setBluePercent (Percent:
Number) {
VAR Trans:
Object =
GetTransform ();
Trans.ba = percent;
SetTransform (Trans);
}
/ ** * get blue percentage * @Return Value BetWeen -100 and 100 * @see setbluePercent * /
public
Function getBluePercent ():
Number {
Return
GetTransform (). ba;
}
// ---------- O Color Offsets
/ ** * set red offset * @Param Offset BetWeen -255 and 255 * /
public
Function setRedoffset (Offset:
Number) {
VAR Trans:
Object =
GetTransform ();
TRANS.RB = OFFSet;
SetTransform (Trans);
}
/ ** * get red offset * @Return Value BetWeen -255 and 255 * @see set @ @See setRedoffset * / public
Function getRedoffset ():
Number {
Return
GetTransform (). RB;
}
/ ** * set green offset * @Param Offset BetWeen -255 and 255 * /
public
Function setGreenoffset (Offset:
Number) {
VAR Trans:
Object =
GetTransform ();
Trans.gb = OFFSET;
SetTransform (Trans);
}
/ ** * get green offset * @Return Value BetWeen -255 and 255 * @see setgreenoffset * /
public
Function getGreenoffset ():
Number {
Return
GetTransform (). GB;
}
/ ** * SET Blue Offset * @Param Offset BetWeen -255 and 255 * /
public
Function setBlueoffset (Offset:
Number) {
VAR Trans:
Object =
GetTransform ();
Trans.bb = OFFSET;
SetTransform (Trans);
}
/ ** * get blue offset * @return value betWeen -255 and 255 * @see setblueoffset * /
public
Function getBlueoffset ():
Number {
Return
GetTransform (). bb;
}
// ---------- o getter / setter
/ ** * RGB Value * @Type Number * /
FUNCTION
Set _RGB (VAL:
Number) {
SetRGB (VAL);
}
FUNCTION
GET _RGB ():
Number {
Return
GETRGB ();
}
/ ** * RGB Value * @Type string * /
FUNCTION
Set _RGBSTR (VAL:
String) {
SetRGBSTR (VAL);
}
FUNCTION
GET _RGBSTR ():
String {
Return getRGBSTR ();
}
/ ** * Brightness value * @Type Number * /
FUNCTION
Set _brightness (B:
Number) {
Setbrightness (b);
}
FUNCTION
GET _BRIGHTNESS ():
Number {
Return getbrightness ();
}
/ ** * Brightness offset * @Type Number * /
FUNCTION
Set _brightoffset (B:
Number) {
Setbrightoffset (b);
}
public
FUNCTION
GET _BRIGHTOFFSET ():
Number {
Return getBrightoffset ();
}
/ ** * Contrast * @Type Number * / Function
Set _Contrast (C:
Number) {
SetContraSt (C);
}
public
FUNCTION
GET _CONTRAST ():
Number {
Return getContrast ();
}
/ ** * negative percentage * @Type Number * /
public
FUNCTION
Set_negative (p:
Number) {
Setnegative (P);
}
public
FUNCTION
GET _NEGATIVE ():
Number {
Return getNegative ();
}
/ ** * red value * @Type Number * /
public
FUNCTION
Set_red (v:
Number) {
Setred (V);
}
public
FUNCTION
GET _RED ():
Number {
Return getred ();
}
/ ** * Green value * @Type Number * /
public
FUNCTION
Set_green (V:
Number) {
Setgreen (V);
}
public
FUNCTION
Get _Green ():
Number {
Return getGreen ();
}
/ ** * Blue value * @Type Number * /
public
FUNCTION
Set _blue (V:
Number) {
SetBlue (v);
}
public
FUNCTION
GET _BLUE ():
Number {
Return getBlue ();
}
/ ** * red percentage * @Type Number * /
public
FUNCTION
Set _redpercent (V:
Number) {
SetredPercent (V);
}
public
FUNCTION
GET _REDpercent ():
Number {
Return getredPercent ();
}
/ ** * Green percentage * @Type Number * /
public
FUNCTION
Set _Greenpercent (V:
Number) {
SetGreenpercent (V);
}
public
FUNCTION
Get _Greenpercent ():
Number {
Return getGreenpercent ();
}
/ ** * blue percentage * @Type Number * /
public
FUNCTION
Set _BluePercent (V:
Number) {
SetBluePercent (V);
}
public
FUNCTION
GET _BLUEPERCENT ():
Number {
Return getBluePercent ();
}
/ ** * red offset * @Type Number * /
public
FUNCTION
Set _redoffset (V:
Number) {
Setredoffset (V);
}
public
FUNCTION
GET _REDOFFSET ():
Number {
Return getRedoffset ();
}
/ ** * green offset * @Type Number * /
PUBLICFUNCTION
Set_greenoffset (V:
Number) {
Setgreenoffset (V);
}
public
FUNCTION
Get _Greenoffset ():
Number {
Return getGreenoffset ();
}
/ ** * Blue Offset * @Type Number * /
public
FUNCTION
Set _blueoffset (V:
Number) {
SetBlueoffset (V);
}
public
FUNCTION
GET _BLUEOFFSET ():
Number {
Return getBlueoffset ();
}
}