1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <!DOCTYPE svg PUBLIC
"-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4 <!--======================================================================-->
5 <!--= Copyright 2000 World Wide Web Consortium, (Massachusetts =-->
6 <!--= Institute of Technology, Institut National de Recherche en =-->
7 <!--= Informatique et en Automatique, Keio University). All Rights =-->
8 <!--= Reserved. See http://www.w3.org/Consortium/Legal/. =-->
9 <!--======================================================================-->
10 <!-- ===================================================================== -->
12 <!-- paint-markers-BE-04.svg -->
13 <!-- renamed for 1.1 suite to painting-marker-02-f.svg -->
15 <!-- Tests Marker support -->
17 <!-- Author : Dean Jackson 06-08-2000 -->
18 <!-- 1.1 revision by Rick Graham -->
21 <!-- 06 08 2000, DJ, created -->
23 <!-- ===================================================================== -->
24 <!--======================================================================-->
25 <!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
26 <!--= log messages, and therefore is no longer in the preceding preamble.=-->
27 <!--======================================================================-->
28 <svg version=
"1.1" baseProfile=
"full" xmlns=
"http://www.w3.org/2000/svg" xmlns:
xlink=
"http://www.w3.org/1999/xlink" id=
"svg-root" viewBox=
"0 0 480 360" width=
"100%" height=
"100%">
29 <SVGTestCase xmlns=
"http://www.w3.org/2000/02/svg/testsuite/description/">
30 <OperatorScript version=
"$Revision: 1.8 $" testname=
"painting-marker-02-f.svg">
32 Tests the rendering of markers, specifically property inheritance. For the four tests, there should
33 be two identical paths with markers drawn. The path on the left is
34 rendered using the marker elements. The path on the right is rendered using
35 the equivalent SVG, showing what the marked path should look like.
38 The top two tests examine the rendering of markers when the marker and the path
39 referencing it share the same parent and all painting properties are specfied on
40 that parent. The first test show inheritance of the 'fill' property and the
41 second the inheritance of the 'paint' property. In both tests, the marker
42 is painting using the same properties as the referencing object. Because of
43 scaling transformations on the marker, the stroke on the second test is thinner
44 than on the referencing object.
47 The third and fourth tests examine the rendering of markers in a situation where the
48 marker and referencing path do NOT share the same parent and painting
49 properties are specified both on the parent of the marked path and on the contents
50 of the marker itself. In both cases, the marker's parent specifies
51 fill=
"green" stroke=
"blue" stroke-width=
"8". For the third test, the marker contents
52 override with
stroke=
"black". For the fourth test, the marker contents
53 override with
fill=
"black". In neither case should you see
54 fill=
"red" or
stroke=
"blue" or
"stroke="purple
" on the markers as these properties
55 are specified on the ancestor of the referencing object or the referencing object itself
56 and thus shouldn't affect the marker.
60 <title id="test-title
">painting-marker-02-f.svg</title>
61 <desc id="test-desc
">Examines rendering model for markers</desc>
62 <!--======================================================================-->
63 <!--Content of Test Case follows... =====================-->
64 <!--======================================================================-->
65 <g id="test-body-content
" fill="green
" >
67 <clipPath id="overflowHiddenClip1
" clipPathUnits="userSpaceOnUse
" >
68 <rect x="0" y="0" width="2" height="2" />
70 <clipPath id="overflowHiddenClip
" clipPathUnits="userSpaceOnUse
" >
71 <rect x="0" y="0" width="4" height="4" />
74 <text x="125" y="30" font-family="Arial
" font-size="14" fill="black
" >Marker Rendering Properties</text>
75 <!-- ===================================================================== -->
76 <!-- Fill property -->
77 <!-- ===================================================================== -->
78 <g fill="black
" stroke="none
" stroke-width="8">
79 <marker id="marker1
" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="5" refY="5" markerUnits="strokeWidth
">
80 <rect width="10" height="10" />
82 <text x="100" y="140" font-family="Arial
" font-size="10" fill="black
" stroke="none
" >Fill Property</text>
83 <path marker-start="url(#marker1)
" marker-mid="url(#marker1)
" marker-end="url(#marker1)
" d="M
30 60 L
80 60 L
80 110 Z
"/>
84 <!-- ===================================================================== -->
85 <!-- Generate the equivalent SVG -->
86 <!-- ===================================================================== -->
87 <g transform="translate(
120,
0)
">
88 <path d="M
30 60 L
80 60 L
80 110 Z
"/>
89 <g transform="translate(
30,
60) scale(
8) translate(-
1, -
1)
">
90 <g clip-path="url(#overflowHiddenClip1)
">
91 <g transform="scale(
0.2,
0.2)
">
92 <rect width="10" height="10"/>
96 <g transform="translate(
80,
60) scale(
8) translate(-
1, -
1)
">
97 <g clip-path="url(#overflowHiddenClip1)
">
98 <g transform="scale(
0.2,
0.2)
" >
99 <rect width="10" height="10"/>
103 <g transform="translate(
80,
110) scale(
8) translate(-
1, -
1)
">
104 <g clip-path="url(#overflowHiddenClip1)
">
105 <g transform="scale(
0.2,
0.2)
" >
106 <rect width="10" height="10"/>
112 <!-- ===================================================================== -->
113 <!-- Stroke property -->
114 <!-- ===================================================================== -->
115 <g fill="none
" stroke="black
" stroke-width="4">
116 <marker id="marker2
" viewBox="0 0 20 20" markerWidth="4" markerHeight="4" refX="10" refY="10" markerUnits="strokeWidth
">
117 <rect width="20" height="20"/>
119 <text x="340" y="140" font-family="Arial
" font-size="10" fill="black
" stroke="none
" >Stroke Property</text>
120 <path marker-start="url(#marker2)
" marker-mid="url(#marker2)
" marker-end="url(#marker2)
" d="M
270 60 L
320 60 L
320 110 Z
"/>
121 <!-- ===================================================================== -->
122 <!-- Generate the equivalent SVG -->
123 <!-- ===================================================================== -->
124 <g transform="translate(
120,
0)
">
125 <path d="M
270 60 L
320 60 L
320 110 Z
"/>
126 <!-- ===================================================================== -->
127 <!-- Generate the equivalent SVG -->
128 <!-- ===================================================================== -->
129 <g transform="translate(
270,
60) scale(
4) translate(-
2, -
2)
" >
130 <g clip-path="url(#overflowHiddenClip)
">
131 <g transform="scale(
0.2,
0.2)
" >
132 <rect width="20" height="20"/>
136 <g transform="translate(
320,
60) scale(
4) translate(-
2, -
2)
" >
137 <g clip-path="url(#overflowHiddenClip)
">
138 <g transform="scale(
0.2,
0.2)
" >
139 <rect width="20" height="20"/>
143 <g transform="translate(
320,
110) scale(
4) translate(-
2, -
2)
">
144 <g clip-path="url(#overflowHiddenClip)
">
145 <g transform="scale(
0.2,
0.2)
" >
146 <rect width="20" height="20"/>
152 <!-- ===================================================================== -->
153 <!-- Define marker element with parents setting painting properties -->
154 <!-- ===================================================================== -->
155 <g fill="green
" stroke="blue
" stroke-width="8">
156 <marker id="marker3
" viewBox="0 0 20 20" markerWidth="4" markerHeight="4" refX="10" refY="10" markerUnits="strokeWidth
">
157 <rect width="20" height="20" stroke="black
" />
159 <marker id="marker4
" viewBox="0 0 10 10" markerWidth="4" markerHeight="4" refX="5" refY="5" markerUnits="strokeWidth
">
160 <rect width="10" height="10" fill="black
" stroke-width="4" />
163 <!-- ===================================================================== -->
164 <!-- Parent and specified properties -->
165 <!-- ===================================================================== -->
166 <g fill="red
" stroke="blue
" >
167 <text x="90" y="270" font-family="Arial
" font-size="10" fill="black
" stroke="none
" >Mixed Properties</text>
168 <path stroke="purple
" stroke-width="4" marker-start="url(#marker3)
" marker-mid="url(#marker3)
" marker-end="url(#marker3)
" d="M
30 190 L
80 190 L
80 240 Z
"/>
169 <!-- ===================================================================== -->
170 <!-- Generate the equivalent SVG -->
171 <!-- ===================================================================== -->
172 <g transform="translate(
120,
0)
">
173 <path stroke="purple
" stroke-width="4" d="M
30 190 L
80 190 L
80 240 Z
"/>
174 <g fill="green
" stroke="black
" stroke-width="8">
175 <g transform="translate(
30,
190) scale(
4) translate(-
2, -
2)
">
176 <g clip-path="url(#overflowHiddenClip)
">
177 <g transform="scale(
.2,
.2)
" >
178 <rect width="20" height="20"/>
182 <g transform="translate(
80,
190) scale(
4) translate(-
2, -
2)
">
183 <g clip-path="url(#overflowHiddenClip)
">
184 <g transform="scale(
0.2,
0.2)
" >
185 <rect width="20" height="20"/>
189 <g transform="translate(
80,
240) scale(
4) translate(-
2, -
2)
">
190 <g clip-path="url(#overflowHiddenClip)
">
191 <g transform="scale(
0.2,
0.2)
" >
192 <rect width="20" height="20"/>
199 <g fill="red
" stroke="green
" >
200 <text x="340" y="270" font-family="Arial
" font-size="10" fill="black
" stroke="none
" >Mixed Properties</text>
201 <path stroke="purple
" stroke-width="4" marker-start="url(#marker4)
" marker-mid="url(#marker4)
" marker-end="url(#marker4)
" d="M
270 190 L
320 190 L
320 240 Z
"/>
202 <!-- ===================================================================== -->
203 <!-- Generate the equivalent SVG -->
204 <!-- ===================================================================== -->
205 <g transform="translate(
120,
0)
">
206 <path stroke="purple
" stroke-width="4" d="M
270 190 L
320 190 L
320 240 Z
"/>
207 <g fill="black
" stroke="blue
" stroke-width="4">
208 <g transform="translate(
270,
190) scale(
4) translate(-
2, -
2)
">
209 <g clip-path="url(#overflowHiddenClip)
">
210 <g transform="scale(
0.4,
0.4)
" >
211 <rect width="10" height="10" />
215 <g transform="translate(
320,
190) scale(
4) translate(-
2, -
2)
">
216 <g clip-path="url(#overflowHiddenClip)
">
217 <g transform="scale(
0.4,
0.4)
" >
218 <rect width="10" height="10" />
222 <g transform="translate(
320,
240) scale(
4) translate(-
2, -
2)
">
223 <g clip-path="url(#overflowHiddenClip)
">
224 <g transform="scale(
0.4,
0.4)
" >
225 <rect width="10" height="10" />
234 <text id="revision
" x="10" y="340" font-size="40" stroke="none
" fill="black
">$Revision: 1.8 $</text>
235 <rect id="test-frame
" x="1" y="1" width="478" height="358" fill="none
" stroke="#
000000"/>