Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1030)

Unified Diff: Source/core/rendering/style/SVGRenderStyle.cpp

Issue 14907011: Support 'paint-order' from SVG2. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)

Powered by Google App Engine
This is Rietveld 408576698