blob: 640b3545deb4ba62fbebfc32dbea1a0e41db57ee [file] [log] [blame]
<svg width="500" height="500"
xmlns="http://www.w3.org/2000/svg"
xmlns:html="http://www.w3.org/1999/xhtml">
<!--
Test all the 'overflow' property values except 'inherit' on the 'marker' element.
Each column tests a value of the 'overflow' property.
The first row uses the 'marker' property to set the same marker on start-, mid- and end-points on the path.
The second row uses 'marker-start', 'marker-mid' and 'marker-end' to give each point its own marker.
The third row uses the 'marker' property like the first row, but here the marker has orient="auto" set.
-->
<html:link rel="help" href="https://www.w3.org/TR/2016/CR-SVG2-20160915/painting.html#Markers"/>
<html:link rel="match" href="marker-005-ref.svg"/>
<html:meta name="assert" content="Test all the 'overflow' property values except 'inherit' on the 'marker' element."/>
<defs>
<marker id="marker1" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth">
<rect width="15" height="15" fill="purple" stroke="none"/>
</marker>
<marker id="marker2" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth" orient="auto">
<path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
</marker>
<marker id="markerStart" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth">
<rect width="15" height="15" fill="purple" stroke="none"/>
</marker>
<marker id="markerMiddle" viewBox="0 0 8 8" markerWidth="2" markerHeight="2" refX="4" refY="4" markerUnits="strokeWidth">
<circle cx="4" cy="4" r="8" fill="green" stroke="none"/>
</marker>
<marker id="markerEnd" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth">
<path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
</marker>
<marker id="vmarker1" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth" overflow="visible">
<rect width="15" height="15" fill="purple" stroke="none"/>
</marker>
<marker id="vmarker2" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth" orient="auto" overflow="visible">
<path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
</marker>
<marker id="vmarkerStart" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth" overflow="visible">
<rect width="15" height="15" fill="purple" stroke="none"/>
</marker>
<marker id="vmarkerMiddle" viewBox="0 0 8 8" markerWidth="2" markerHeight="2" refX="4" refY="4" markerUnits="strokeWidth" overflow="visible">
<circle cx="4" cy="4" r="8" fill="green" stroke="none"/>
</marker>
<marker id="vmarkerEnd" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth" overflow="visible">
<path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
</marker>
<marker id="amarker1" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth" overflow="auto">
<rect width="15" height="15" fill="purple" stroke="none"/>
</marker>
<marker id="amarker2" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth" orient="auto" overflow="auto">
<path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
</marker>
<marker id="amarkerStart" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth" overflow="auto">
<rect width="15" height="15" fill="purple" stroke="none"/>
</marker>
<marker id="amarkerMiddle" viewBox="0 0 8 8" markerWidth="2" markerHeight="2" refX="4" refY="4" markerUnits="strokeWidth" overflow="auto">
<circle cx="4" cy="4" r="8" fill="green" stroke="none"/>
</marker>
<marker id="amarkerEnd" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth" overflow="auto">
<path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
</marker>
<marker id="smarker1" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth" overflow="scroll">
<rect width="15" height="15" fill="purple" stroke="none"/>
</marker>
<marker id="smarker2" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth" orient="auto" overflow="scroll">
<path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
</marker>
<marker id="smarkerStart" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth" overflow="scroll">
<rect width="15" height="15" fill="purple" stroke="none"/>
</marker>
<marker id="smarkerMiddle" viewBox="0 0 8 8" markerWidth="2" markerHeight="2" refX="4" refY="4" markerUnits="strokeWidth" overflow="scroll">
<circle cx="4" cy="4" r="8" fill="green" stroke="none"/>
</marker>
<marker id="smarkerEnd" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth" overflow="scroll">
<path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
</marker>
<marker id="hmarker1" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth" overflow="hidden">
<rect width="15" height="15" fill="purple" stroke="none"/>
</marker>
<marker id="hmarker2" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth" orient="auto" overflow="hidden">
<path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
</marker>
<marker id="hmarkerStart" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth" overflow="hidden">
<rect width="15" height="15" fill="purple" stroke="none"/>
</marker>
<marker id="hmarkerMiddle" viewBox="0 0 8 8" markerWidth="2" markerHeight="2" refX="4" refY="4" markerUnits="strokeWidth" overflow="hidden">
<circle cx="4" cy="4" r="8" fill="green" stroke="none"/>
</marker>
<marker id="hmarkerEnd" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth" overflow="hidden">
<path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
</marker>
</defs>
<style type="text/css">
.testpaths {
fill:none;
stroke:black;
stroke-width:8px;
}
/* no overflow specified */
#p1 { marker: url(#marker1); }
#p2 {
marker-start: url(#markerStart);
marker-mid:url(#markerMiddle);
marker-end: url(#markerEnd);
}
#p3 { marker: url(#marker2); }
/* overflow = visible */
#p4 { marker: url(#vmarker1); }
#p5 {
marker-start: url(#vmarkerStart);
marker-mid:url(#vmarkerMiddle);
marker-end: url(#vmarkerEnd);
}
#p6 { marker: url(#vmarker2); }
/* overflow = auto */
#p7 { marker: url(#amarker1); }
#p8 {
marker-start: url(#amarkerStart);
marker-mid:url(#amarkerMiddle);
marker-end: url(#amarkerEnd);
}
#p9 { marker: url(#amarker2); }
/* overflow = scroll */
#p10 { marker: url(#smarker1); }
#p11 {
marker-start: url(#smarkerStart);
marker-mid:url(#smarkerMiddle);
marker-end: url(#smarkerEnd);
}
#p12 { marker: url(#smarker2); }
/* overflow = hidden */
#p13 { marker: url(#hmarker1); }
#p14 {
marker-start: url(#hmarkerStart);
marker-mid:url(#hmarkerMiddle);
marker-end: url(#hmarkerEnd);
}
#p15 { marker: url(#hmarker2); }
</style>
<text x="50%" y="3em" style="font: 18px; text-anchor:middle;">Test marker overflow</text>
<g style="font: 14px; text-anchor:middle" transform="translate(0,280)">
<text x="60">default</text>
<text x="155">'visible'</text>
<text x="245">'auto'</text>
<text x="340">'scroll'</text>
<text x="430">'hidden'</text>
</g>
<g transform="translate(-30,75)">
<g id="subtest1" transform="scale(0.6)">
<path id="p1" class="testpaths" d="M 130 40 L 180 40 L 180 90"/>
<path id="p2" class="testpaths" d="M 130 135 L 180 135 L 180 185"/>
<path id="p3" class="testpaths" d="M 130 230 L 180 230 L 180 280"/>
</g>
<g id="subtest2" transform="scale(0.6) translate(150,0)">
<path id="p4" class="testpaths" d="M 130 40 L 180 40 L 180 90"/>
<path id="p5" class="testpaths" d="M 130 135 L 180 135 L 180 185"/>
<path id="p6" class="testpaths" d="M 130 230 L 180 230 L 180 280"/>
</g>
<g id="subtest3" transform="scale(0.6) translate(300,0)">
<path id="p7" class="testpaths" d="M 130 40 L 180 40 L 180 90"/>
<path id="p8" class="testpaths" d="M 130 135 L 180 135 L 180 185"/>
<path id="p9" class="testpaths" d="M 130 230 L 180 230 L 180 280"/>
</g>
<g id="subtest4" transform="scale(0.6) translate(450,0)">
<path id="p10" class="testpaths" d="M 130 40 L 180 40 L 180 90"/>
<path id="p11" class="testpaths" d="M 130 135 L 180 135 L 180 185"/>
<path id="p12" class="testpaths" d="M 130 230 L 180 230 L 180 280"/>
</g>
<g id="subtest5" transform="scale(0.6) translate(600,0)">
<path id="p13" class="testpaths" d="M 130 40 L 180 40 L 180 90"/>
<path id="p14" class="testpaths" d="M 130 135 L 180 135 L 180 185"/>
<path id="p15" class="testpaths" d="M 130 230 L 180 230 L 180 280"/>
</g>
</g>
</svg>