Chromium Code Reviews| Index: Source/core/rendering/style/SVGRenderStyle.cpp |
| diff --git a/Source/core/rendering/style/SVGRenderStyle.cpp b/Source/core/rendering/style/SVGRenderStyle.cpp |
| index cbd16cd422da6f0f3f274ad271d09e2909aa1e6d..29e9d8dbb77108aff814243a864a42a0b6c26166 100644 |
| --- a/Source/core/rendering/style/SVGRenderStyle.cpp |
| +++ b/Source/core/rendering/style/SVGRenderStyle.cpp |
| @@ -232,6 +232,84 @@ StyleDifference SVGRenderStyle::diff(const SVGRenderStyle* other) const |
| return StyleDifferenceEqual; |
| } |
| +EPaintOrder SVGRenderStyle::paintOrder(int index) const |
| +{ |
| + ASSERT(index >= 0 && index < 3); |
| + EPaintOrder po = paintOrder(); |
| + switch(index) |
| + { |
| + case 0: |
| + switch(po) |
| + { |
| + case PO_FILL: |
| + case PO_FILL_STROKE: |
| + case PO_FILL_MARKERS: |
| + case PO_FILL_MARKERS_STROKE: |
| + case PO_NORMAL: |
| + return PO_FILL; |
| + case PO_STROKE: |
| + case PO_STROKE_FILL: |
| + case PO_STROKE_MARKERS: |
| + case PO_STROKE_MARKERS_FILL: |
| + case PO_STROKE_FILL_MARKERS: |
| + return PO_STROKE; |
| + case PO_MARKERS: |
| + case PO_MARKERS_FILL: |
| + case PO_MARKERS_STROKE: |
| + case PO_MARKERS_FILL_STROKE: |
| + case PO_MARKERS_STROKE_FILL: |
| + return PO_MARKERS; |
| + } |
| + case 1: |
| + switch(po) |
| + { |
| + case PO_STROKE: |
| + case PO_STROKE_FILL: |
| + case PO_MARKERS: |
| + case PO_MARKERS_FILL: |
| + case PO_MARKERS_FILL_STROKE: |
| + case PO_STROKE_FILL_MARKERS: |
| + return PO_FILL; |
| + case PO_FILL: |
| + case PO_FILL_STROKE: |
| + case PO_MARKERS_STROKE: |
| + case PO_MARKERS_STROKE_FILL: |
| + case PO_NORMAL: |
| + return PO_STROKE; |
| + case PO_FILL_MARKERS: |
| + case PO_FILL_MARKERS_STROKE: |
| + case PO_STROKE_MARKERS: |
| + case PO_STROKE_MARKERS_FILL: |
| + return PO_MARKERS; |
| + } |
| + case 2: |
| + switch(po) |
| + { |
| + case PO_STROKE_MARKERS: |
| + case PO_STROKE_MARKERS_FILL: |
| + case PO_MARKERS_STROKE: |
| + case PO_MARKERS_STROKE_FILL: |
| + return PO_FILL; |
| + case PO_FILL_MARKERS: |
| + case PO_FILL_MARKERS_STROKE: |
| + case PO_MARKERS: |
| + case PO_MARKERS_FILL: |
| + case PO_MARKERS_FILL_STROKE: |
| + return PO_STROKE; |
| + case PO_FILL: |
| + case PO_FILL_STROKE: |
| + case PO_STROKE: |
| + case PO_STROKE_FILL: |
| + case PO_STROKE_FILL_MARKERS: |
| + case PO_NORMAL: |
| + return PO_MARKERS; |
|
f(malita)
2013/05/03 14:36:25
Is there a better way to encode these internally?
pdr.
2013/05/03 17:58:29
+1 to Florin's idea.
Using an int here is not easy
Erik Dahlström (inactive)
2013/06/03 15:58:24
If we can live with normalizing the paintorder her
|
| + } |
| + } |
| + |
| + ASSERT_NOT_REACHED(); |
| + return PO_FILL; |
| +} |
| + |
| } |
| #endif // ENABLE(SVG) |