OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004 Zack Rusin <zack@kde.org> | 2 * Copyright (C) 2004 Zack Rusin <zack@kde.org> |
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. |
4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> | 4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> | 5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> |
6 * Copyright (C) 2011 Sencha, Inc. All rights reserved. | 6 * Copyright (C) 2011 Sencha, Inc. All rights reserved. |
7 * Copyright (C) 2015 Google Inc. All rights reserved. | 7 * Copyright (C) 2015 Google Inc. All rights reserved. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Lesser General Public | 10 * modify it under the terms of the GNU Lesser General Public |
(...skipping 1167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1178 if (dashes.isEmpty()) | 1178 if (dashes.isEmpty()) |
1179 return CSSPrimitiveValue::createIdentifier(CSSValueNone); | 1179 return CSSPrimitiveValue::createIdentifier(CSSValueNone); |
1180 | 1180 |
1181 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparated()
; | 1181 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparated()
; |
1182 for (const Length& dashLength : dashes.vector()) | 1182 for (const Length& dashLength : dashes.vector()) |
1183 list->append(zoomAdjustedPixelValueForLength(dashLength, style)); | 1183 list->append(zoomAdjustedPixelValueForLength(dashLength, style)); |
1184 | 1184 |
1185 return list.release(); | 1185 return list.release(); |
1186 } | 1186 } |
1187 | 1187 |
1188 static PassRefPtrWillBeRawPtr<CSSValue> paintOrderToCSSValueList(EPaintOrder pai
ntorder) | 1188 static PassRefPtrWillBeRawPtr<CSSValue> paintOrderToCSSValueList(const SVGComput
edStyle& svgStyle) |
1189 { | 1189 { |
1190 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated()
; | 1190 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated()
; |
1191 do { | 1191 for (int i = 0; i < 3; i++) { |
1192 EPaintOrderType paintOrderType = (EPaintOrderType)(paintorder & ((1 << k
PaintOrderBitwidth) - 1)); | 1192 EPaintOrderType paintOrderType = svgStyle.paintOrderType(i); |
1193 switch (paintOrderType) { | 1193 switch (paintOrderType) { |
1194 case PT_FILL: | 1194 case PT_FILL: |
1195 case PT_STROKE: | 1195 case PT_STROKE: |
1196 case PT_MARKERS: | 1196 case PT_MARKERS: |
1197 list->append(CSSPrimitiveValue::create(paintOrderType)); | 1197 list->append(CSSPrimitiveValue::create(paintOrderType)); |
1198 break; | 1198 break; |
1199 case PT_NONE: | 1199 case PT_NONE: |
1200 default: | 1200 default: |
1201 ASSERT_NOT_REACHED(); | 1201 ASSERT_NOT_REACHED(); |
1202 break; | 1202 break; |
1203 } | 1203 } |
1204 } while (paintorder >>= kPaintOrderBitwidth); | 1204 } |
1205 | 1205 |
1206 return list.release(); | 1206 return list.release(); |
1207 } | 1207 } |
1208 | 1208 |
1209 static PassRefPtrWillBeRawPtr<CSSValue> adjustSVGPaintForCurrentColor(SVGPaintTy
pe paintType, const String& url, const Color& color, const Color& currentColor) | 1209 static PassRefPtrWillBeRawPtr<CSSValue> adjustSVGPaintForCurrentColor(SVGPaintTy
pe paintType, const String& url, const Color& color, const Color& currentColor) |
1210 { | 1210 { |
1211 if (paintType >= SVG_PAINTTYPE_URI_NONE) { | 1211 if (paintType >= SVG_PAINTTYPE_URI_NONE) { |
1212 RefPtrWillBeRawPtr<CSSValueList> values = CSSValueList::createSpaceSepar
ated(); | 1212 RefPtrWillBeRawPtr<CSSValueList> values = CSSValueList::createSpaceSepar
ated(); |
1213 values->append(CSSPrimitiveValue::create(url, CSSPrimitiveValue::CSS_URI
)); | 1213 values->append(CSSPrimitiveValue::create(url, CSSPrimitiveValue::CSS_URI
)); |
1214 if (paintType == SVG_PAINTTYPE_URI_NONE) | 1214 if (paintType == SVG_PAINTTYPE_URI_NONE) |
(...skipping 1397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2612 case CSSPropertyGlyphOrientationHorizontal: | 2612 case CSSPropertyGlyphOrientationHorizontal: |
2613 return glyphOrientationToCSSPrimitiveValue(svgStyle.glyphOrientationHori
zontal()); | 2613 return glyphOrientationToCSSPrimitiveValue(svgStyle.glyphOrientationHori
zontal()); |
2614 case CSSPropertyGlyphOrientationVertical: { | 2614 case CSSPropertyGlyphOrientationVertical: { |
2615 if (RefPtrWillBeRawPtr<CSSPrimitiveValue> value = glyphOrientationToCSSP
rimitiveValue(svgStyle.glyphOrientationVertical())) | 2615 if (RefPtrWillBeRawPtr<CSSPrimitiveValue> value = glyphOrientationToCSSP
rimitiveValue(svgStyle.glyphOrientationVertical())) |
2616 return value.release(); | 2616 return value.release(); |
2617 if (svgStyle.glyphOrientationVertical() == GO_AUTO) | 2617 if (svgStyle.glyphOrientationVertical() == GO_AUTO) |
2618 return CSSPrimitiveValue::createIdentifier(CSSValueAuto); | 2618 return CSSPrimitiveValue::createIdentifier(CSSValueAuto); |
2619 return nullptr; | 2619 return nullptr; |
2620 } | 2620 } |
2621 case CSSPropertyPaintOrder: | 2621 case CSSPropertyPaintOrder: |
2622 return paintOrderToCSSValueList(svgStyle.paintOrder()); | 2622 return paintOrderToCSSValueList(svgStyle); |
2623 case CSSPropertyVectorEffect: | 2623 case CSSPropertyVectorEffect: |
2624 return CSSPrimitiveValue::create(svgStyle.vectorEffect()); | 2624 return CSSPrimitiveValue::create(svgStyle.vectorEffect()); |
2625 case CSSPropertyMaskType: | 2625 case CSSPropertyMaskType: |
2626 return CSSPrimitiveValue::create(svgStyle.maskType()); | 2626 return CSSPrimitiveValue::create(svgStyle.maskType()); |
2627 case CSSPropertyMarker: | 2627 case CSSPropertyMarker: |
2628 case CSSPropertyEnableBackground: | 2628 case CSSPropertyEnableBackground: |
2629 // the above properties are not yet implemented in the engine | 2629 // the above properties are not yet implemented in the engine |
2630 return nullptr; | 2630 return nullptr; |
2631 case CSSPropertyCx: | 2631 case CSSPropertyCx: |
2632 return zoomAdjustedPixelValueForLength(svgStyle.cx(), style); | 2632 return zoomAdjustedPixelValueForLength(svgStyle.cx(), style); |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2705 case CSSPropertyAll: | 2705 case CSSPropertyAll: |
2706 return nullptr; | 2706 return nullptr; |
2707 default: | 2707 default: |
2708 break; | 2708 break; |
2709 } | 2709 } |
2710 ASSERT_NOT_REACHED(); | 2710 ASSERT_NOT_REACHED(); |
2711 return nullptr; | 2711 return nullptr; |
2712 } | 2712 } |
2713 | 2713 |
2714 } | 2714 } |
OLD | NEW |