Changeset 16000 for lang/actionscript

Show
Ignore:
Timestamp:
07/19/08 00:51:46 (4 months ago)
Author:
gyuque
Message:

supported color names

Location:
lang/actionscript/ascss/src
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • lang/actionscript/ascss/src/KyotoDemo.as

    r15905 r16000  
    8181                        mXMLField.x = 40; 
    8282                        mXMLField.y = 80; 
    83                         mXMLField.text = "<cho45>\n</cho45>"; 
     83                        mXMLField.text = "<cho45>\n  <amachang />\n</cho45>"; 
    8484                        new TabSender(mXMLField); 
    8585                        setTextFieldProperties(mXMLField); 
     
    432432                                var rs:RenderStyle = ed.wrapper.renderStyle; 
    433433                                var color:uint = lookupColorValue(rs, 0xffffffff, CSSPropertyID.CSSPropertyColor); 
    434                                 var bgcolor:uint = lookupColorValue(rs, 0xffffffff, CSSPropertyID.CSSPropertyBackgroundColor); 
     434                                var bgcolor:uint = lookupColorValue(rs, 0, CSSPropertyID.CSSPropertyBackgroundColor); 
    435435                                var bgurl:String = null; 
    436                                 if (color != 0xffffffff) 
     436                                if (color != 0) 
    437437                                        mXMLField.setTextFormat(createColorFormat(color), ed.start_index, ed.end_index); 
    438438 
     
    445445 
    446446                                var di:BGDisplayItem = null; 
    447                                 if (bgcolor != 0xffffffff || bgurl) 
     447                                if (bgcolor != 0 || bgurl) 
    448448                                { 
    449449                                        di = new BGDisplayItem(); 
    450                                         di.color = bgcolor; 
     450                                        di.color = bgcolor & 0xffffff; 
    451451                                        di.url = bgurl; 
    452452                                        di.y = mXMLField.y + ed.lineno * LINEHEIGHT; 
     
    466466                        for each(var di:BGDisplayItem in mBGDisplayList.list) 
    467467                        { 
    468                                 if (di.color != 0xffffffff) 
     468                                if (di.color != 0) 
    469469                                { 
    470470                                        g.beginFill(di.color); 
     
    518518                                        if (cssv is CSSPrimitiveValue) 
    519519                                        { 
    520                                                 var primv:CSSPrimitiveValue = cssv as CSSPrimitiveValue; 
    521                                                 if (primv.primitiveType == CSSPrimitiveValue.CSS_RGBCOLOR) 
    522                                                         return primv.getRGBColorValue() & 0xffffff; 
    523                                                 else if (primv.primitiveType == CSSPrimitiveValue.CSS_IDENT) 
    524                                                 { 
    525                                                         if (primv.getIdent() == CSSValueKeywords.CSSValueTransparent) 
    526                                                                 return 0xffffffff; 
    527                                                 } 
     520                                                return CSSStyleSelector.getColorFromPrimitiveValue(CSSPrimitiveValue(cssv), defaultColor); 
    528521                                        } 
    529522                                } 
  • lang/actionscript/ascss/src/css/CSSStyleSelector.as

    r15905 r16000  
    753753                        return !(r1 > r2); 
    754754                } 
     755 
     756                public static function getColorFromPrimitiveValue(primitiveValue:CSSPrimitiveValue, defaultColor:uint):uint 
     757                { 
     758                        var col:uint = defaultColor; 
     759                        var ident:int = primitiveValue.getIdent(); 
     760                        if (ident != 0) 
     761                        { 
     762                                if (ident >= CSSValueKeywords.CSSValueAqua && ident <= CSSValueKeywords.CSSValueTransparent) 
     763                            col = NAMED_COLORS[ident - CSSValueKeywords.CSSValueAqua]; 
     764                        } 
     765                        else if (primitiveValue.primitiveType == CSSPrimitiveValue.CSS_RGBCOLOR) 
     766                        col = primitiveValue.getRGBColorValue(); 
     767                        return col; 
     768                } 
     769 
     770                public static var NAMED_COLORS:Array = [ 
     771                        0xFF00FFFF, 
     772                        0xFF000000, 
     773                        0xFF0000FF, 
     774                        0xFFFF00FF, 
     775                        0xFF808080, 
     776                        0xFF008000, 
     777                        0xFF00FF00, 
     778                        0xFF800000, 
     779                        0xFF000080, 
     780                        0xFF808000, 
     781                        0xFFFFA500, 
     782                        0xFF800080, 
     783                        0xFFFF0000, 
     784                        0xFFC0C0C0, 
     785                        0xFF008080, 
     786                        0xFFFFFFFF, 
     787                        0xFFFFFF00, 
     788                        0x00000000] 
     789                 
    755790        } 
    756791}