| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd"> |
| <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" onload="createPatterns()"> |
| <g id="content"/> |
| |
| <script> |
| var content = document.getElementById("content"); |
| |
| function createPatterns() |
| { |
| // Setup "fillPattern" |
| var pattern1 = document.createElementNS("http://www.w3.org/2000/svg", "pattern"); |
| pattern1.setAttribute("id", "fillPattern"); |
| pattern1.setAttribute("patternUnits", "userSpaceOnUse"); |
| pattern1.setAttribute("x", "0"); |
| pattern1.setAttribute("y", "0"); |
| pattern1.setAttribute("width", "20"); |
| pattern1.setAttribute("height", "20"); |
| |
| var rect11 = document.createElementNS("http://www.w3.org/2000/svg", "rect"); |
| rect11.setAttribute("x", "5"); |
| rect11.setAttribute("y", "5"); |
| rect11.setAttribute("width", "10"); |
| rect11.setAttribute("height", "10"); |
| rect11.setAttribute("fill", "red"); |
| |
| var rect21 = document.createElementNS("http://www.w3.org/2000/svg", "rect"); |
| rect21.setAttribute("x", "10"); |
| rect21.setAttribute("y", "10"); |
| rect21.setAttribute("width", "10"); |
| rect21.setAttribute("height", "10"); |
| rect21.setAttribute("fill", "green"); |
| |
| pattern1.appendChild(rect11); |
| pattern1.appendChild(rect21); |
| |
| content.appendChild(pattern1); |
| |
| // Setup "strokePattern" |
| var pattern2 = document.createElementNS("http://www.w3.org/2000/svg", "pattern"); |
| pattern2.setAttribute("id", "strokePattern"); |
| pattern2.setAttribute("patternUnits", "userSpaceOnUse"); |
| pattern2.setAttribute("x", "0"); |
| pattern2.setAttribute("y", "0"); |
| pattern2.setAttribute("width", "20"); |
| pattern2.setAttribute("height", "20"); |
| |
| var rect12 = document.createElementNS("http://www.w3.org/2000/svg", "rect"); |
| rect12.setAttribute("x", "5"); |
| rect12.setAttribute("y", "5"); |
| rect12.setAttribute("width", "10"); |
| rect12.setAttribute("height", "10"); |
| rect12.setAttribute("fill", "yellow"); |
| |
| var rect22 = document.createElementNS("http://www.w3.org/2000/svg", "rect"); |
| rect22.setAttribute("x", "10"); |
| rect22.setAttribute("y", "10"); |
| rect22.setAttribute("width", "10"); |
| rect22.setAttribute("height", "10"); |
| rect22.setAttribute("fill", "blue"); |
| |
| pattern2.appendChild(rect12); |
| pattern2.appendChild(rect22); |
| |
| content.appendChild(pattern2); |
| |
| setupPatternUsers(); |
| } |
| |
| function setupPatternUsers() |
| { |
| var text1 = document.createElementNS("http://www.w3.org/2000/svg", "text"); |
| text1.setAttribute("font-size", "68"); |
| text1.setAttribute("x", "-150"); |
| text1.setAttribute("y", "70") |
| text1.setAttribute("fill", "url(#fillPattern)"); |
| text1.setAttribute("stroke", "none"); |
| text1.appendChild(document.createTextNode("Pattern on fill")); |
| |
| content.appendChild(text1); |
| |
| var text2 = document.createElementNS("http://www.w3.org/2000/svg", "text"); |
| text2.setAttribute("font-size", "68"); |
| text2.setAttribute("x", "-150"); |
| text2.setAttribute("y", "140") |
| text2.setAttribute("fill", "none"); |
| text2.setAttribute("stroke", "url(#strokePattern)"); |
| text2.appendChild(document.createTextNode("Pattern on stroke")); |
| |
| content.appendChild(text2); |
| |
| var text3 = document.createElementNS("http://www.w3.org/2000/svg", "text"); |
| text3.setAttribute("font-size", "68"); |
| text3.setAttribute("x", "-150"); |
| text3.setAttribute("y", "210") |
| text3.setAttribute("fill", "url(#fillPattern)"); |
| text3.setAttribute("stroke", "url(#strokePattern)"); |
| text3.appendChild(document.createTextNode("Pattern on fill/stroke")); |
| |
| content.appendChild(text3); |
| } |
| </script> |
| |
| </svg> |