Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.conceptualideas.videoplayer.utils {
- import com.conceptualideas.utils.ColorTools;
- import flash.display.DisplayObject;
- import com.conceptualideas.videoplayer.utils.PlayerUtils;
- import flash.display.Sprite;
- import flash.geom.ColorTransform;
- /**
- * ...
- * @author Conceptual Ideas
- */
- public class Colorer {
- public function Colorer() {
- }
- public static function recursiveColor(base:DisplayObject, colors:Object):void {
- var colorElement:DisplayObject
- for (var section:String in colors) {
- for (var element:String in colors[section]) {
- if (colors[section][element] == "default" ) { continue };
- colorElement = findElement(base, section, element);
- if (colorElement) {
- setColorTransForm(colorElement, colors[section][element]);
- }
- }
- }
- }
- public static function recursiveAlpha(base:DisplayObject, alphas:Object):void {
- var alphaElement:DisplayObject
- for (var section:String in alphas) {
- for (var element:String in alphas[section]) {
- if (alphas[section][element] == "default" ) { continue };
- alphaElement = findElement(base, section, element);
- if (alphaElement) {
- setAlpha(alphaElement, alphas[section][element]);
- }
- }
- }
- }
- private static function findElement(base:Object, section:String, element:String):DisplayObject {
- var found:DisplayObject;
- try {
- found = base[section][element];
- if(section!="time"){
- if (base[section][element] && base[section][element]["overlay"]) { // Check to see if we have an overlay object, used for grey gradients
- found = base[section][element]["overlay"];
- }else if (base[section][section + "_slider"] &&
- (base[section][section + "_slider"][element]
- || base[section][section + "_slider"][element]["overlay"])) {
- found = base[section][section + "_slider"][element]["overlay"]||base[section][section + "_slider"][element]
- }
- }
- }catch (e:Error) { };
- return found;
- }
- public static function colorPlayButton(obj:DisplayObject, scheme:Object,state:String):void {
- var ctf:ColorTransform = new ColorTransform();
- var baseColor:uint = scheme.colors.icons.playicon.base;
- var innerColor:uint = scheme.colors.icons.playicon.inner;
- if (!innerColor) innerColor = 0x000000;
- var isBright:Boolean = ColorTools.isBright(baseColor);
- if(state=="up"){
- if (isBright){
- if (obj["background"]) {
- setColorTransForm(obj["background"], ColorTools.darkenColor(baseColor, 10));
- }
- if (obj["outlineShadow"]) {
- setColorTransForm(obj["outlineShadow"], ColorTools.darkenColor(baseColor, 40));
- obj["outlineShadow"].alpha = .3;
- }
- if (obj["outlineBorder"]) {
- setColorTransForm(obj["outlineBorder"], ColorTools.darkenColor(baseColor, 100));
- }
- } else {
- if (obj["background"]) {
- setColorTransForm(obj["background"], ColorTools.lightenColor(baseColor, 40));
- }
- if (obj["fill"]) {
- obj["fill"].transform.colorTransform = new ColorTransform();
- obj["fill"].transform.colorTransform.alphaMultiplier=.4
- }
- if (obj["outlineShadow"]) {
- setColorTransForm(obj["outlineShadow"], ColorTools.lightenColor(baseColor, 15));
- setAlpha(obj["outlineShadow"], 30);
- }
- if (obj["outlineBorder"]) {
- setColorTransForm( obj["outlineBorder"],ColorTools.darkenColor(baseColor, 30))
- }
- }
- setColorTransForm(obj["icon"], innerColor);
- }else {
- if (obj["background"]) {
- setColorTransForm( obj["background"], ColorTools.lightenColor(baseColor, (isBright)?40:100));
- };
- if (obj["outlineBorder"]) {
- var borderColor:uint = obj["outlineBorder"].transform.colorTransform.color;
- setColorTransForm( obj["outlineBorder"], ColorTools.lightenColor(borderColor, 20));
- }
- }
- }
- protected function setGradientFill(obj:Sprite,colors:Array,alphas:Array,gradientSettings:Object,matrixSettings:Object,ratios:Array=null):void {
- PlayerUtils.setGradientFill(obj, colors, alphas, gradientSettings, matrixSettings,ratios);
- }
- /**
- * Sets the color of the object
- * @param obj <DisplayObject>
- * @param color <unit>
- */
- public static function setColorTransForm(obj:DisplayObject, color:uint,blendMode:String=null):void {
- if (obj != null) {
- PlayerUtils.setColorTransForm(obj, color);
- if (blendMode) {
- obj.blendMode = blendMode;
- }
- }
- }
- protected static function setAlpha(obj:DisplayObject, alpha:Number):void {
- alpha = (alpha > 1)?alpha / 100:alpha;
- obj.alpha = alpha;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement