chromium/third_party/blink/web_tests/external/wpt/svg/painting/marker-005.svg

<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>