mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-01 06:35:42 +00:00
42 lines
1.8 KiB
XML
42 lines
1.8 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
|
|
<!-- This reference SVG must perform *exactly* the same path construction,
|
|
clipping, and filling operations that PaintBoxShadowInner does for
|
|
the HTML test file. If it doesn't match perfectly, antialiased
|
|
pixels at the curved edges will not agree.
|
|
|
|
PaintBoxShadowInner defines both its second (nonrectangular)
|
|
clipping path and its fill path as the even-odd-rule compositions
|
|
of two rectangles, one with nonzero corner radius. It is
|
|
impossible to express "the path consisting of the even-odd-rule
|
|
composition of two |rect| elements" in SVG. This is a minor
|
|
nuisance because we have to write everything out using |path|,
|
|
plus a major nuisance because Gecko uses the same ellipse-to-
|
|
Bezier conversion for rounded rectangles in SVG and HTML, but the
|
|
SVG 'A' operator uses a different one. Therefore we cannot use 'A'.
|
|
The 'C' parameters here were obtained by dumping out the cairo
|
|
operations used to draw the HTML, using cairo-trace. -->
|
|
<defs>
|
|
<clipPath id="outer">
|
|
<rect x="16" y="16" width="240" height="240"/>
|
|
</clipPath>
|
|
<clipPath id="inner">
|
|
<path clip-rule="evenodd"
|
|
d="M 248 16
|
|
H 24 C 19.58468 16 16 19.58468 16 24
|
|
V 248 C 16 252.41532 19.58468 256 24 256
|
|
H 248 C 252.41532 256 256 252.41532 256 248
|
|
V 24 C 256 19.58468 252.41532 16 248 16 Z
|
|
M 48 56 H 272 V 296 H 48 Z"/>
|
|
</clipPath>
|
|
</defs>
|
|
<g clip-path="url(#outer)">
|
|
<path fill="grey" fill-rule="evenodd" clip-path="url(#inner)"
|
|
d="M 16 16 H 256 V 256 H 16 Z
|
|
M 280 48
|
|
H 56 C 51.58468 48 48 51.58468 48 56
|
|
V 280 C 48 284.41532 51.58468 288 56 288
|
|
H 280 C 284.41532 288 288 284.41532 288 280
|
|
V 56 C 288 51.58468 284.41532 48 280 48 Z"/>
|
|
</g>
|
|
</svg>
|