diff --git a/Macaw.xcodeproj/project.pbxproj b/Macaw.xcodeproj/project.pbxproj index a6e822ee..5dcb47ec 100644 --- a/Macaw.xcodeproj/project.pbxproj +++ b/Macaw.xcodeproj/project.pbxproj @@ -253,10 +253,152 @@ 57F1087C1F53CA7E00DC365B /* MDisplayLink_iOS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57F1087B1F53CA7E00DC365B /* MDisplayLink_iOS.swift */; }; 57FCD2771D76EA4600CC0FB6 /* Macaw.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57FCD26C1D76EA4600CC0FB6 /* Macaw.framework */; }; 57FCD27C1D76EA4600CC0FB6 /* MacawTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57FCD27B1D76EA4600CC0FB6 /* MacawTests.swift */; }; - 5B1A8C7620A15F7300E5FFAE /* SvgNodeLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B1A8C7520A15F7300E5FFAE /* SvgNodeLayout.swift */; }; - 5B1A8C7720A15F7300E5FFAE /* SvgNodeLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B1A8C7520A15F7300E5FFAE /* SvgNodeLayout.swift */; }; - 5B1FFD7A207E083600716A46 /* SvgContentLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BAA56A7207C73FF0055BC5B /* SvgContentLayout.swift */; }; - 5BAA56A8207C73FF0055BC5B /* SvgContentLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BAA56A7207C73FF0055BC5B /* SvgContentLayout.swift */; }; + 5B1A8C7620A15F7300E5FFAE /* SVGNodeLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B1A8C7520A15F7300E5FFAE /* SVGNodeLayout.swift */; }; + 5B1A8C7720A15F7300E5FFAE /* SVGNodeLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B1A8C7520A15F7300E5FFAE /* SVGNodeLayout.swift */; }; + 5B1FFD7A207E083600716A46 /* SVGContentLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BAA56A7207C73FF0055BC5B /* SVGContentLayout.swift */; }; + 5B574C0620A409FA003DE2BF /* coords-trans-07-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B7820A409DF003DE2BF /* coords-trans-07-t-manual.reference */; }; + 5B574C0720A409FA003DE2BF /* shapes-polygon-01-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B7920A409E0003DE2BF /* shapes-polygon-01-t-manual.svg */; }; + 5B574C0820A409FA003DE2BF /* coords-coord-01-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B7A20A409E0003DE2BF /* coords-coord-01-t-manual.reference */; }; + 5B574C0920A409FA003DE2BF /* shapes-polygon-02-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B7B20A409E0003DE2BF /* shapes-polygon-02-t-manual.reference */; }; + 5B574C0A20A409FA003DE2BF /* shapes-rect-04-f-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B7C20A409E0003DE2BF /* shapes-rect-04-f-manual.reference */; }; + 5B574C0B20A409FA003DE2BF /* coords-transformattr-05-f-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B7D20A409E0003DE2BF /* coords-transformattr-05-f-manual.reference */; }; + 5B574C0C20A409FA003DE2BF /* color-prop-02-f-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B7E20A409E0003DE2BF /* color-prop-02-f-manual.svg */; }; + 5B574C0D20A409FA003DE2BF /* paths-data-02-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B7F20A409E0003DE2BF /* paths-data-02-t-manual.svg */; }; + 5B574C0E20A409FA003DE2BF /* shapes-ellipse-02-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B8020A409E0003DE2BF /* shapes-ellipse-02-t-manual.reference */; }; + 5B574C0F20A409FA003DE2BF /* metadata-example-01-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B8120A409E0003DE2BF /* metadata-example-01-t-manual.svg */; }; + 5B574C1020A409FA003DE2BF /* painting-fill-04-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B8220A409E0003DE2BF /* painting-fill-04-t-manual.svg */; }; + 5B574C1120A409FA003DE2BF /* coords-trans-08-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B8320A409E0003DE2BF /* coords-trans-08-t-manual.reference */; }; + 5B574C1220A409FA003DE2BF /* painting-stroke-02-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B8420A409E1003DE2BF /* painting-stroke-02-t-manual.reference */; }; + 5B574C1320A409FA003DE2BF /* shapes-line-02-f-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B8520A409E1003DE2BF /* shapes-line-02-f-manual.reference */; }; + 5B574C1420A409FA003DE2BF /* paths-data-17-f-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B8620A409E1003DE2BF /* paths-data-17-f-manual.reference */; }; + 5B574C1520A409FA003DE2BF /* painting-control-06-f-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B8720A409E1003DE2BF /* painting-control-06-f-manual.svg */; }; + 5B574C1620A409FA003DE2BF /* painting-control-02-f-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B8820A409E1003DE2BF /* painting-control-02-f-manual.reference */; }; + 5B574C1720A409FA003DE2BF /* color-prop-02-f-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B8920A409E1003DE2BF /* color-prop-02-f-manual.reference */; }; + 5B574C1820A409FA003DE2BF /* painting-control-03-f-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B8A20A409E1003DE2BF /* painting-control-03-f-manual.reference */; }; + 5B574C1920A409FA003DE2BF /* painting-fill-04-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B8B20A409E1003DE2BF /* painting-fill-04-t-manual.reference */; }; + 5B574C1A20A409FA003DE2BF /* paths-data-13-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B8C20A409E1003DE2BF /* paths-data-13-t-manual.reference */; }; + 5B574C1B20A409FA003DE2BF /* render-elems-02-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B8D20A409E2003DE2BF /* render-elems-02-t-manual.svg */; }; + 5B574C1C20A409FA003DE2BF /* render-elems-01-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B8E20A409E2003DE2BF /* render-elems-01-t-manual.reference */; }; + 5B574C1D20A409FA003DE2BF /* shapes-polygon-02-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B8F20A409E2003DE2BF /* shapes-polygon-02-t-manual.svg */; }; + 5B574C1E20A409FA003DE2BF /* struct-use-03-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B9020A409E2003DE2BF /* struct-use-03-t-manual.svg */; }; + 5B574C1F20A409FA003DE2BF /* painting-stroke-02-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B9120A409E2003DE2BF /* painting-stroke-02-t-manual.svg */; }; + 5B574C2020A409FA003DE2BF /* painting-fill-01-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B9220A409E2003DE2BF /* painting-fill-01-t-manual.reference */; }; + 5B574C2120A409FA003DE2BF /* coords-coord-01-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B9320A409E2003DE2BF /* coords-coord-01-t-manual.svg */; }; + 5B574C2220A409FA003DE2BF /* painting-stroke-05-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B9420A409E2003DE2BF /* painting-stroke-05-t-manual.svg */; }; + 5B574C2320A409FA003DE2BF /* pservers-grad-stops-01-f-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B9520A409E2003DE2BF /* pservers-grad-stops-01-f-manual.svg */; }; + 5B574C2420A409FA003DE2BF /* shapes-polyline-01-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B9620A409E3003DE2BF /* shapes-polyline-01-t-manual.svg */; }; + 5B574C2520A409FA003DE2BF /* struct-frag-04-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B9720A409E3003DE2BF /* struct-frag-04-t-manual.reference */; }; + 5B574C2620A409FA003DE2BF /* text-fonts-01-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B9820A409E3003DE2BF /* text-fonts-01-t-manual.reference */; }; + 5B574C2720A409FA003DE2BF /* painting-fill-03-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B9920A409E3003DE2BF /* painting-fill-03-t-manual.reference */; }; + 5B574C2820A409FA003DE2BF /* paths-data-07-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B9A20A409E3003DE2BF /* paths-data-07-t-manual.svg */; }; + 5B574C2920A409FA003DE2BF /* struct-frag-02-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B9B20A409E3003DE2BF /* struct-frag-02-t-manual.reference */; }; + 5B574C2A20A409FA003DE2BF /* struct-defs-01-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B9C20A409E3003DE2BF /* struct-defs-01-t-manual.svg */; }; + 5B574C2B20A409FA003DE2BF /* paths-data-02-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B9D20A409E3003DE2BF /* paths-data-02-t-manual.reference */; }; + 5B574C2C20A409FA003DE2BF /* coords-trans-09-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B9E20A409E4003DE2BF /* coords-trans-09-t-manual.svg */; }; + 5B574C2D20A409FA003DE2BF /* render-elems-01-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574B9F20A409E4003DE2BF /* render-elems-01-t-manual.svg */; }; + 5B574C2E20A409FA003DE2BF /* paths-data-01-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BA020A409E4003DE2BF /* paths-data-01-t-manual.reference */; }; + 5B574C2F20A409FA003DE2BF /* paths-data-07-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BA120A409E4003DE2BF /* paths-data-07-t-manual.reference */; }; + 5B574C3020A409FA003DE2BF /* coords-transformattr-02-f-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BA220A409E4003DE2BF /* coords-transformattr-02-f-manual.svg */; }; + 5B574C3120A409FA003DE2BF /* metadata-example-01-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BA320A409E4003DE2BF /* metadata-example-01-t-manual.reference */; }; + 5B574C3220A409FA003DE2BF /* shapes-rect-04-f-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BA420A409E4003DE2BF /* shapes-rect-04-f-manual.svg */; }; + 5B574C3320A409FA003DE2BF /* painting-stroke-09-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BA520A409E4003DE2BF /* painting-stroke-09-t-manual.svg */; }; + 5B574C3420A409FA003DE2BF /* coords-coord-02-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BA620A409E5003DE2BF /* coords-coord-02-t-manual.svg */; }; + 5B574C3520A409FA003DE2BF /* coords-trans-08-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BA720A409E5003DE2BF /* coords-trans-08-t-manual.svg */; }; + 5B574C3620A409FA003DE2BF /* text-fonts-02-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BA820A409E5003DE2BF /* text-fonts-02-t-manual.reference */; }; + 5B574C3720A409FA003DE2BF /* painting-fill-05-b-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BA920A409E5003DE2BF /* painting-fill-05-b-manual.reference */; }; + 5B574C3820A409FA003DE2BF /* paths-data-19-f-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BAA20A409E5003DE2BF /* paths-data-19-f-manual.svg */; }; + 5B574C3920A409FA003DE2BF /* struct-frag-03-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BAB20A409E5003DE2BF /* struct-frag-03-t-manual.svg */; }; + 5B574C3A20A409FA003DE2BF /* shapes-ellipse-02-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BAC20A409E5003DE2BF /* shapes-ellipse-02-t-manual.svg */; }; + 5B574C3B20A409FA003DE2BF /* coords-coord-02-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BAD20A409E5003DE2BF /* coords-coord-02-t-manual.reference */; }; + 5B574C3C20A409FA003DE2BF /* shapes-rect-05-f-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BAE20A409E6003DE2BF /* shapes-rect-05-f-manual.reference */; }; + 5B574C3D20A409FA003DE2BF /* coords-trans-07-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BAF20A409E6003DE2BF /* coords-trans-07-t-manual.svg */; }; + 5B574C3E20A409FA003DE2BF /* coords-trans-04-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BB020A409E6003DE2BF /* coords-trans-04-t-manual.svg */; }; + 5B574C3F20A409FA003DE2BF /* coords-transformattr-04-f-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BB120A409E6003DE2BF /* coords-transformattr-04-f-manual.svg */; }; + 5B574C4020A409FA003DE2BF /* painting-fill-05-b-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BB220A409E6003DE2BF /* painting-fill-05-b-manual.svg */; }; + 5B574C4120A409FA003DE2BF /* coords-trans-01-b-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BB320A409E6003DE2BF /* coords-trans-01-b-manual.svg */; }; + 5B574C4220A409FA003DE2BF /* paths-data-12-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BB420A409E6003DE2BF /* paths-data-12-t-manual.reference */; }; + 5B574C4320A409FA003DE2BF /* struct-frag-04-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BB520A409E6003DE2BF /* struct-frag-04-t-manual.svg */; }; + 5B574C4420A409FA003DE2BF /* struct-use-12-f-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BB620A409E7003DE2BF /* struct-use-12-f-manual.reference */; }; + 5B574C4520A409FA003DE2BF /* painting-stroke-03-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BB720A409E7003DE2BF /* painting-stroke-03-t-manual.reference */; }; + 5B574C4620A409FA003DE2BF /* shapes-polyline-01-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BB820A409E7003DE2BF /* shapes-polyline-01-t-manual.reference */; }; + 5B574C4720A409FA003DE2BF /* struct-group-01-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BB920A409E7003DE2BF /* struct-group-01-t-manual.reference */; }; + 5B574C4820A409FA003DE2BF /* color-prop-01-b-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BBA20A409E7003DE2BF /* color-prop-01-b-manual.svg */; }; + 5B574C4920A409FA003DE2BF /* color-prop-03-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BBB20A409E7003DE2BF /* color-prop-03-t-manual.reference */; }; + 5B574C4A20A409FA003DE2BF /* struct-group-01-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BBC20A409E7003DE2BF /* struct-group-01-t-manual.svg */; }; + 5B574C4B20A409FA003DE2BF /* paths-data-12-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BBD20A409E8003DE2BF /* paths-data-12-t-manual.svg */; }; + 5B574C4C20A409FA003DE2BF /* coords-trans-06-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BBE20A409E8003DE2BF /* coords-trans-06-t-manual.reference */; }; + 5B574C4D20A409FA003DE2BF /* paths-data-17-f-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BBF20A409E8003DE2BF /* paths-data-17-f-manual.svg */; }; + 5B574C4E20A409FA003DE2BF /* shapes-ellipse-01-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BC020A409E8003DE2BF /* shapes-ellipse-01-t-manual.reference */; }; + 5B574C4F20A409FA003DE2BF /* struct-frag-01-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BC120A409E8003DE2BF /* struct-frag-01-t-manual.reference */; }; + 5B574C5020A409FA003DE2BF /* color-prop-01-b-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BC220A409E8003DE2BF /* color-prop-01-b-manual.reference */; }; + 5B574C5120A409FA003DE2BF /* painting-control-03-f-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BC320A409E8003DE2BF /* painting-control-03-f-manual.svg */; }; + 5B574C5220A409FA003DE2BF /* shapes-polygon-01-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BC420A409E8003DE2BF /* shapes-polygon-01-t-manual.reference */; }; + 5B574C5320A409FA003DE2BF /* painting-control-02-f-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BC520A409E9003DE2BF /* painting-control-02-f-manual.svg */; }; + 5B574C5420A409FA003DE2BF /* coords-transformattr-01-f-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BC620A409E9003DE2BF /* coords-transformattr-01-f-manual.svg */; }; + 5B574C5520A409FA003DE2BF /* paths-data-06-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BC720A409E9003DE2BF /* paths-data-06-t-manual.reference */; }; + 5B574C5620A409FA003DE2BF /* paths-data-19-f-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BC820A409E9003DE2BF /* paths-data-19-f-manual.reference */; }; + 5B574C5720A409FA003DE2BF /* shapes-line-01-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BC920A409E9003DE2BF /* shapes-line-01-t-manual.reference */; }; + 5B574C5820A409FA003DE2BF /* painting-stroke-08-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BCA20A409E9003DE2BF /* painting-stroke-08-t-manual.reference */; }; + 5B574C5920A409FA003DE2BF /* paths-data-15-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BCB20A409E9003DE2BF /* paths-data-15-t-manual.svg */; }; + 5B574C5A20A409FA003DE2BF /* coords-trans-01-b-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BCC20A409E9003DE2BF /* coords-trans-01-b-manual.reference */; }; + 5B574C5B20A409FA003DE2BF /* paths-data-06-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BCD20A409E9003DE2BF /* paths-data-06-t-manual.svg */; }; + 5B574C5C20A409FA003DE2BF /* paths-data-13-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BCE20A409EA003DE2BF /* paths-data-13-t-manual.svg */; }; + 5B574C5D20A409FA003DE2BF /* struct-frag-03-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BCF20A409EA003DE2BF /* struct-frag-03-t-manual.reference */; }; + 5B574C5E20A409FA003DE2BF /* coords-transformattr-04-f-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BD020A409EA003DE2BF /* coords-transformattr-04-f-manual.reference */; }; + 5B574C5F20A409FA003DE2BF /* coords-transformattr-03-f-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BD120A409EA003DE2BF /* coords-transformattr-03-f-manual.reference */; }; + 5B574C6020A409FA003DE2BF /* struct-frag-01-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BD220A409EE003DE2BF /* struct-frag-01-t-manual.svg */; }; + 5B574C6120A409FA003DE2BF /* coords-trans-03-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BD320A409F1003DE2BF /* coords-trans-03-t-manual.reference */; }; + 5B574C6220A409FA003DE2BF /* painting-fill-02-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BD420A409F1003DE2BF /* painting-fill-02-t-manual.svg */; }; + 5B574C6320A409FA003DE2BF /* shapes-intro-01-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BD520A409F2003DE2BF /* shapes-intro-01-t-manual.svg */; }; + 5B574C6420A409FA003DE2BF /* paths-data-15-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BD620A409F2003DE2BF /* paths-data-15-t-manual.reference */; }; + 5B574C6520A409FA003DE2BF /* coords-trans-03-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BD720A409F2003DE2BF /* coords-trans-03-t-manual.svg */; }; + 5B574C6620A409FA003DE2BF /* render-elems-03-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BD820A409F3003DE2BF /* render-elems-03-t-manual.svg */; }; + 5B574C6720A409FA003DE2BF /* painting-stroke-01-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BD920A409F3003DE2BF /* painting-stroke-01-t-manual.svg */; }; + 5B574C6820A409FA003DE2BF /* painting-stroke-01-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BDA20A409F3003DE2BF /* painting-stroke-01-t-manual.reference */; }; + 5B574C6920A409FA003DE2BF /* paths-data-01-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BDB20A409F3003DE2BF /* paths-data-01-t-manual.svg */; }; + 5B574C6A20A409FA003DE2BF /* struct-defs-01-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BDC20A409F3003DE2BF /* struct-defs-01-t-manual.reference */; }; + 5B574C6B20A409FA003DE2BF /* text-align-01-b-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BDD20A409F3003DE2BF /* text-align-01-b-manual.reference */; }; + 5B574C6C20A409FA003DE2BF /* coords-trans-09-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BDE20A409F3003DE2BF /* coords-trans-09-t-manual.reference */; }; + 5B574C6D20A409FA003DE2BF /* struct-use-12-f-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BDF20A409F3003DE2BF /* struct-use-12-f-manual.svg */; }; + 5B574C6E20A409FA003DE2BF /* coords-transformattr-01-f-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BE020A409F3003DE2BF /* coords-transformattr-01-f-manual.reference */; }; + 5B574C6F20A409FA003DE2BF /* painting-control-06-f-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BE120A409F3003DE2BF /* painting-control-06-f-manual.reference */; }; + 5B574C7020A409FA003DE2BF /* shapes-circle-02-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BE220A409F3003DE2BF /* shapes-circle-02-t-manual.reference */; }; + 5B574C7120A409FA003DE2BF /* shapes-circle-01-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BE320A409F3003DE2BF /* shapes-circle-01-t-manual.svg */; }; + 5B574C7220A409FA003DE2BF /* painting-fill-01-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BE420A409F3003DE2BF /* painting-fill-01-t-manual.svg */; }; + 5B574C7320A409FA003DE2BF /* coords-trans-04-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BE520A409F3003DE2BF /* coords-trans-04-t-manual.reference */; }; + 5B574C7420A409FA003DE2BF /* render-elems-02-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BE620A409F3003DE2BF /* render-elems-02-t-manual.reference */; }; + 5B574C7520A409FA003DE2BF /* coords-trans-06-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BE720A409F4003DE2BF /* coords-trans-06-t-manual.svg */; }; + 5B574C7620A409FA003DE2BF /* render-elems-03-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BE820A409F4003DE2BF /* render-elems-03-t-manual.reference */; }; + 5B574C7720A409FA003DE2BF /* types-basic-01-f-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BE920A409F4003DE2BF /* types-basic-01-f-manual.svg */; }; + 5B574C7820A409FA003DE2BF /* struct-use-03-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BEA20A409F4003DE2BF /* struct-use-03-t-manual.reference */; }; + 5B574C7920A409FA003DE2BF /* coords-transformattr-02-f-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BEB20A409F4003DE2BF /* coords-transformattr-02-f-manual.reference */; }; + 5B574C7A20A409FA003DE2BF /* coords-trans-05-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BEC20A409F4003DE2BF /* coords-trans-05-t-manual.reference */; }; + 5B574C7B20A409FA003DE2BF /* painting-fill-02-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BED20A409F4003DE2BF /* painting-fill-02-t-manual.reference */; }; + 5B574C7C20A409FA003DE2BF /* struct-frag-02-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BEE20A409F4003DE2BF /* struct-frag-02-t-manual.svg */; }; + 5B574C7D20A409FA003DE2BF /* coords-trans-02-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BEF20A409F4003DE2BF /* coords-trans-02-t-manual.reference */; }; + 5B574C7E20A409FA003DE2BF /* color-prop-03-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BF020A409F4003DE2BF /* color-prop-03-t-manual.svg */; }; + 5B574C7F20A409FA003DE2BF /* coords-trans-02-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BF120A409F4003DE2BF /* coords-trans-02-t-manual.svg */; }; + 5B574C8020A409FA003DE2BF /* coords-trans-05-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BF220A409F4003DE2BF /* coords-trans-05-t-manual.svg */; }; + 5B574C8120A409FA003DE2BF /* pservers-grad-stops-01-f-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BF320A409F4003DE2BF /* pservers-grad-stops-01-f-manual.reference */; }; + 5B574C8220A409FA003DE2BF /* shapes-line-02-f-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BF420A409F4003DE2BF /* shapes-line-02-f-manual.svg */; }; + 5B574C8320A409FA003DE2BF /* coords-transformattr-05-f-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BF520A409F4003DE2BF /* coords-transformattr-05-f-manual.svg */; }; + 5B574C8420A409FA003DE2BF /* shapes-circle-02-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BF620A409F5003DE2BF /* shapes-circle-02-t-manual.svg */; }; + 5B574C8520A409FA003DE2BF /* text-fonts-01-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BF720A409F5003DE2BF /* text-fonts-01-t-manual.svg */; }; + 5B574C8620A409FA003DE2BF /* shapes-intro-01-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BF820A409F6003DE2BF /* shapes-intro-01-t-manual.reference */; }; + 5B574C8720A409FA003DE2BF /* coords-transformattr-03-f-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BF920A409F6003DE2BF /* coords-transformattr-03-f-manual.svg */; }; + 5B574C8820A409FA003DE2BF /* painting-stroke-03-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BFA20A409F6003DE2BF /* painting-stroke-03-t-manual.svg */; }; + 5B574C8920A409FA003DE2BF /* shapes-rect-05-f-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BFB20A409F6003DE2BF /* shapes-rect-05-f-manual.svg */; }; + 5B574C8A20A409FA003DE2BF /* painting-stroke-08-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BFC20A409F6003DE2BF /* painting-stroke-08-t-manual.svg */; }; + 5B574C8B20A409FA003DE2BF /* shapes-ellipse-01-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BFD20A409F6003DE2BF /* shapes-ellipse-01-t-manual.svg */; }; + 5B574C8C20A409FA003DE2BF /* text-align-01-b-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BFE20A409F7003DE2BF /* text-align-01-b-manual.svg */; }; + 5B574C8D20A409FA003DE2BF /* text-fonts-02-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574BFF20A409F8003DE2BF /* text-fonts-02-t-manual.svg */; }; + 5B574C8E20A409FA003DE2BF /* shapes-circle-01-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574C0020A409F9003DE2BF /* shapes-circle-01-t-manual.reference */; }; + 5B574C8F20A409FA003DE2BF /* painting-stroke-09-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574C0120A409F9003DE2BF /* painting-stroke-09-t-manual.reference */; }; + 5B574C9020A409FA003DE2BF /* shapes-line-01-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574C0220A409F9003DE2BF /* shapes-line-01-t-manual.svg */; }; + 5B574C9120A409FA003DE2BF /* painting-fill-03-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5B574C0320A409F9003DE2BF /* painting-fill-03-t-manual.svg */; }; + 5B574C9220A409FA003DE2BF /* types-basic-01-f-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574C0420A409F9003DE2BF /* types-basic-01-f-manual.reference */; }; + 5B574C9320A409FA003DE2BF /* painting-stroke-05-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5B574C0520A409FA003DE2BF /* painting-stroke-05-t-manual.reference */; }; + 5BAA56A8207C73FF0055BC5B /* SVGContentLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BAA56A7207C73FF0055BC5B /* SVGContentLayout.swift */; }; 5BAE201F208E1211006BF277 /* SVGCanvas.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BAE201E208E1211006BF277 /* SVGCanvas.swift */; }; 5BAE2038208E163D006BF277 /* polyline.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5BAE2022208E1637006BF277 /* polyline.reference */; }; 5BAE2039208E163D006BF277 /* polygon.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5BAE2023208E1637006BF277 /* polygon.reference */; }; @@ -276,10 +418,6 @@ 5BAE204B208E163D006BF277 /* clip.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5BAE2035208E163C006BF277 /* clip.reference */; }; 5BAE204C208E1EF4006BF277 /* SVGCanvas.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BAE201E208E1211006BF277 /* SVGCanvas.swift */; }; 5BAE2058208F24DE006BF277 /* SceneSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BAE2057208F24DE006BF277 /* SceneSerialization.swift */; }; - 5BAE2061208F2504006BF277 /* color-prop-02-f-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5BAE205B208F2504006BF277 /* color-prop-02-f-manual.svg */; }; - 5BAE2062208F2504006BF277 /* shapes-circle-01-t-manual.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5BAE205C208F2504006BF277 /* shapes-circle-01-t-manual.svg */; }; - 5BAE2063208F2504006BF277 /* shapes-circle-01-t-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5BAE205D208F2504006BF277 /* shapes-circle-01-t-manual.reference */; }; - 5BAE2066208F2504006BF277 /* color-prop-02-f-manual.reference in Resources */ = {isa = PBXBuildFile; fileRef = 5BAE2060208F2504006BF277 /* color-prop-02-f-manual.reference */; }; 5BAEA9C9206CEAA20049AAAE /* viewBox.svg in Resources */ = {isa = PBXBuildFile; fileRef = 5BAEA9C8206CEAA20049AAAE /* viewBox.svg */; }; A718CD441F45C28200966E06 /* Common_iOS.swift in Sources */ = {isa = PBXBuildFile; fileRef = A718CD431F45C28200966E06 /* Common_iOS.swift */; }; A718CD471F45C28700966E06 /* Graphics_iOS.swift in Sources */ = {isa = PBXBuildFile; fileRef = A718CD451F45C28700966E06 /* Graphics_iOS.swift */; }; @@ -470,8 +608,150 @@ 57FCD2761D76EA4600CC0FB6 /* MacawTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MacawTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 57FCD27B1D76EA4600CC0FB6 /* MacawTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MacawTests.swift; sourceTree = ""; }; 57FCD27D1D76EA4600CC0FB6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 5B1A8C7520A15F7300E5FFAE /* SvgNodeLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SvgNodeLayout.swift; sourceTree = ""; }; - 5BAA56A7207C73FF0055BC5B /* SvgContentLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SvgContentLayout.swift; sourceTree = ""; }; + 5B1A8C7520A15F7300E5FFAE /* SVGNodeLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SVGNodeLayout.swift; sourceTree = ""; }; + 5B574B7820A409DF003DE2BF /* coords-trans-07-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-trans-07-t-manual.reference"; sourceTree = ""; }; + 5B574B7920A409E0003DE2BF /* shapes-polygon-01-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-polygon-01-t-manual.svg"; sourceTree = ""; }; + 5B574B7A20A409E0003DE2BF /* coords-coord-01-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-coord-01-t-manual.reference"; sourceTree = ""; }; + 5B574B7B20A409E0003DE2BF /* shapes-polygon-02-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-polygon-02-t-manual.reference"; sourceTree = ""; }; + 5B574B7C20A409E0003DE2BF /* shapes-rect-04-f-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-rect-04-f-manual.reference"; sourceTree = ""; }; + 5B574B7D20A409E0003DE2BF /* coords-transformattr-05-f-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-transformattr-05-f-manual.reference"; sourceTree = ""; }; + 5B574B7E20A409E0003DE2BF /* color-prop-02-f-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "color-prop-02-f-manual.svg"; sourceTree = ""; }; + 5B574B7F20A409E0003DE2BF /* paths-data-02-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "paths-data-02-t-manual.svg"; sourceTree = ""; }; + 5B574B8020A409E0003DE2BF /* shapes-ellipse-02-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-ellipse-02-t-manual.reference"; sourceTree = ""; }; + 5B574B8120A409E0003DE2BF /* metadata-example-01-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "metadata-example-01-t-manual.svg"; sourceTree = ""; }; + 5B574B8220A409E0003DE2BF /* painting-fill-04-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-fill-04-t-manual.svg"; sourceTree = ""; }; + 5B574B8320A409E0003DE2BF /* coords-trans-08-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-trans-08-t-manual.reference"; sourceTree = ""; }; + 5B574B8420A409E1003DE2BF /* painting-stroke-02-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-stroke-02-t-manual.reference"; sourceTree = ""; }; + 5B574B8520A409E1003DE2BF /* shapes-line-02-f-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-line-02-f-manual.reference"; sourceTree = ""; }; + 5B574B8620A409E1003DE2BF /* paths-data-17-f-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "paths-data-17-f-manual.reference"; sourceTree = ""; }; + 5B574B8720A409E1003DE2BF /* painting-control-06-f-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-control-06-f-manual.svg"; sourceTree = ""; }; + 5B574B8820A409E1003DE2BF /* painting-control-02-f-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-control-02-f-manual.reference"; sourceTree = ""; }; + 5B574B8920A409E1003DE2BF /* color-prop-02-f-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "color-prop-02-f-manual.reference"; sourceTree = ""; }; + 5B574B8A20A409E1003DE2BF /* painting-control-03-f-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-control-03-f-manual.reference"; sourceTree = ""; }; + 5B574B8B20A409E1003DE2BF /* painting-fill-04-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-fill-04-t-manual.reference"; sourceTree = ""; }; + 5B574B8C20A409E1003DE2BF /* paths-data-13-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "paths-data-13-t-manual.reference"; sourceTree = ""; }; + 5B574B8D20A409E2003DE2BF /* render-elems-02-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "render-elems-02-t-manual.svg"; sourceTree = ""; }; + 5B574B8E20A409E2003DE2BF /* render-elems-01-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "render-elems-01-t-manual.reference"; sourceTree = ""; }; + 5B574B8F20A409E2003DE2BF /* shapes-polygon-02-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-polygon-02-t-manual.svg"; sourceTree = ""; }; + 5B574B9020A409E2003DE2BF /* struct-use-03-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "struct-use-03-t-manual.svg"; sourceTree = ""; }; + 5B574B9120A409E2003DE2BF /* painting-stroke-02-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-stroke-02-t-manual.svg"; sourceTree = ""; }; + 5B574B9220A409E2003DE2BF /* painting-fill-01-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-fill-01-t-manual.reference"; sourceTree = ""; }; + 5B574B9320A409E2003DE2BF /* coords-coord-01-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-coord-01-t-manual.svg"; sourceTree = ""; }; + 5B574B9420A409E2003DE2BF /* painting-stroke-05-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-stroke-05-t-manual.svg"; sourceTree = ""; }; + 5B574B9520A409E2003DE2BF /* pservers-grad-stops-01-f-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "pservers-grad-stops-01-f-manual.svg"; sourceTree = ""; }; + 5B574B9620A409E3003DE2BF /* shapes-polyline-01-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-polyline-01-t-manual.svg"; sourceTree = ""; }; + 5B574B9720A409E3003DE2BF /* struct-frag-04-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "struct-frag-04-t-manual.reference"; sourceTree = ""; }; + 5B574B9820A409E3003DE2BF /* text-fonts-01-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "text-fonts-01-t-manual.reference"; sourceTree = ""; }; + 5B574B9920A409E3003DE2BF /* painting-fill-03-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-fill-03-t-manual.reference"; sourceTree = ""; }; + 5B574B9A20A409E3003DE2BF /* paths-data-07-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "paths-data-07-t-manual.svg"; sourceTree = ""; }; + 5B574B9B20A409E3003DE2BF /* struct-frag-02-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "struct-frag-02-t-manual.reference"; sourceTree = ""; }; + 5B574B9C20A409E3003DE2BF /* struct-defs-01-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "struct-defs-01-t-manual.svg"; sourceTree = ""; }; + 5B574B9D20A409E3003DE2BF /* paths-data-02-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "paths-data-02-t-manual.reference"; sourceTree = ""; }; + 5B574B9E20A409E4003DE2BF /* coords-trans-09-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-trans-09-t-manual.svg"; sourceTree = ""; }; + 5B574B9F20A409E4003DE2BF /* render-elems-01-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "render-elems-01-t-manual.svg"; sourceTree = ""; }; + 5B574BA020A409E4003DE2BF /* paths-data-01-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "paths-data-01-t-manual.reference"; sourceTree = ""; }; + 5B574BA120A409E4003DE2BF /* paths-data-07-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "paths-data-07-t-manual.reference"; sourceTree = ""; }; + 5B574BA220A409E4003DE2BF /* coords-transformattr-02-f-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-transformattr-02-f-manual.svg"; sourceTree = ""; }; + 5B574BA320A409E4003DE2BF /* metadata-example-01-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "metadata-example-01-t-manual.reference"; sourceTree = ""; }; + 5B574BA420A409E4003DE2BF /* shapes-rect-04-f-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-rect-04-f-manual.svg"; sourceTree = ""; }; + 5B574BA520A409E4003DE2BF /* painting-stroke-09-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-stroke-09-t-manual.svg"; sourceTree = ""; }; + 5B574BA620A409E5003DE2BF /* coords-coord-02-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-coord-02-t-manual.svg"; sourceTree = ""; }; + 5B574BA720A409E5003DE2BF /* coords-trans-08-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-trans-08-t-manual.svg"; sourceTree = ""; }; + 5B574BA820A409E5003DE2BF /* text-fonts-02-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "text-fonts-02-t-manual.reference"; sourceTree = ""; }; + 5B574BA920A409E5003DE2BF /* painting-fill-05-b-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-fill-05-b-manual.reference"; sourceTree = ""; }; + 5B574BAA20A409E5003DE2BF /* paths-data-19-f-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "paths-data-19-f-manual.svg"; sourceTree = ""; }; + 5B574BAB20A409E5003DE2BF /* struct-frag-03-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "struct-frag-03-t-manual.svg"; sourceTree = ""; }; + 5B574BAC20A409E5003DE2BF /* shapes-ellipse-02-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-ellipse-02-t-manual.svg"; sourceTree = ""; }; + 5B574BAD20A409E5003DE2BF /* coords-coord-02-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-coord-02-t-manual.reference"; sourceTree = ""; }; + 5B574BAE20A409E6003DE2BF /* shapes-rect-05-f-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-rect-05-f-manual.reference"; sourceTree = ""; }; + 5B574BAF20A409E6003DE2BF /* coords-trans-07-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-trans-07-t-manual.svg"; sourceTree = ""; }; + 5B574BB020A409E6003DE2BF /* coords-trans-04-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-trans-04-t-manual.svg"; sourceTree = ""; }; + 5B574BB120A409E6003DE2BF /* coords-transformattr-04-f-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-transformattr-04-f-manual.svg"; sourceTree = ""; }; + 5B574BB220A409E6003DE2BF /* painting-fill-05-b-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-fill-05-b-manual.svg"; sourceTree = ""; }; + 5B574BB320A409E6003DE2BF /* coords-trans-01-b-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-trans-01-b-manual.svg"; sourceTree = ""; }; + 5B574BB420A409E6003DE2BF /* paths-data-12-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "paths-data-12-t-manual.reference"; sourceTree = ""; }; + 5B574BB520A409E6003DE2BF /* struct-frag-04-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "struct-frag-04-t-manual.svg"; sourceTree = ""; }; + 5B574BB620A409E7003DE2BF /* struct-use-12-f-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "struct-use-12-f-manual.reference"; sourceTree = ""; }; + 5B574BB720A409E7003DE2BF /* painting-stroke-03-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-stroke-03-t-manual.reference"; sourceTree = ""; }; + 5B574BB820A409E7003DE2BF /* shapes-polyline-01-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-polyline-01-t-manual.reference"; sourceTree = ""; }; + 5B574BB920A409E7003DE2BF /* struct-group-01-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "struct-group-01-t-manual.reference"; sourceTree = ""; }; + 5B574BBA20A409E7003DE2BF /* color-prop-01-b-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "color-prop-01-b-manual.svg"; sourceTree = ""; }; + 5B574BBB20A409E7003DE2BF /* color-prop-03-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "color-prop-03-t-manual.reference"; sourceTree = ""; }; + 5B574BBC20A409E7003DE2BF /* struct-group-01-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "struct-group-01-t-manual.svg"; sourceTree = ""; }; + 5B574BBD20A409E8003DE2BF /* paths-data-12-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "paths-data-12-t-manual.svg"; sourceTree = ""; }; + 5B574BBE20A409E8003DE2BF /* coords-trans-06-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-trans-06-t-manual.reference"; sourceTree = ""; }; + 5B574BBF20A409E8003DE2BF /* paths-data-17-f-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "paths-data-17-f-manual.svg"; sourceTree = ""; }; + 5B574BC020A409E8003DE2BF /* shapes-ellipse-01-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-ellipse-01-t-manual.reference"; sourceTree = ""; }; + 5B574BC120A409E8003DE2BF /* struct-frag-01-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "struct-frag-01-t-manual.reference"; sourceTree = ""; }; + 5B574BC220A409E8003DE2BF /* color-prop-01-b-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "color-prop-01-b-manual.reference"; sourceTree = ""; }; + 5B574BC320A409E8003DE2BF /* painting-control-03-f-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-control-03-f-manual.svg"; sourceTree = ""; }; + 5B574BC420A409E8003DE2BF /* shapes-polygon-01-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-polygon-01-t-manual.reference"; sourceTree = ""; }; + 5B574BC520A409E9003DE2BF /* painting-control-02-f-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-control-02-f-manual.svg"; sourceTree = ""; }; + 5B574BC620A409E9003DE2BF /* coords-transformattr-01-f-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-transformattr-01-f-manual.svg"; sourceTree = ""; }; + 5B574BC720A409E9003DE2BF /* paths-data-06-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "paths-data-06-t-manual.reference"; sourceTree = ""; }; + 5B574BC820A409E9003DE2BF /* paths-data-19-f-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "paths-data-19-f-manual.reference"; sourceTree = ""; }; + 5B574BC920A409E9003DE2BF /* shapes-line-01-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-line-01-t-manual.reference"; sourceTree = ""; }; + 5B574BCA20A409E9003DE2BF /* painting-stroke-08-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-stroke-08-t-manual.reference"; sourceTree = ""; }; + 5B574BCB20A409E9003DE2BF /* paths-data-15-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "paths-data-15-t-manual.svg"; sourceTree = ""; }; + 5B574BCC20A409E9003DE2BF /* coords-trans-01-b-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-trans-01-b-manual.reference"; sourceTree = ""; }; + 5B574BCD20A409E9003DE2BF /* paths-data-06-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "paths-data-06-t-manual.svg"; sourceTree = ""; }; + 5B574BCE20A409EA003DE2BF /* paths-data-13-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "paths-data-13-t-manual.svg"; sourceTree = ""; }; + 5B574BCF20A409EA003DE2BF /* struct-frag-03-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "struct-frag-03-t-manual.reference"; sourceTree = ""; }; + 5B574BD020A409EA003DE2BF /* coords-transformattr-04-f-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-transformattr-04-f-manual.reference"; sourceTree = ""; }; + 5B574BD120A409EA003DE2BF /* coords-transformattr-03-f-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-transformattr-03-f-manual.reference"; sourceTree = ""; }; + 5B574BD220A409EE003DE2BF /* struct-frag-01-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "struct-frag-01-t-manual.svg"; sourceTree = ""; }; + 5B574BD320A409F1003DE2BF /* coords-trans-03-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-trans-03-t-manual.reference"; sourceTree = ""; }; + 5B574BD420A409F1003DE2BF /* painting-fill-02-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-fill-02-t-manual.svg"; sourceTree = ""; }; + 5B574BD520A409F2003DE2BF /* shapes-intro-01-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-intro-01-t-manual.svg"; sourceTree = ""; }; + 5B574BD620A409F2003DE2BF /* paths-data-15-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "paths-data-15-t-manual.reference"; sourceTree = ""; }; + 5B574BD720A409F2003DE2BF /* coords-trans-03-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-trans-03-t-manual.svg"; sourceTree = ""; }; + 5B574BD820A409F3003DE2BF /* render-elems-03-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "render-elems-03-t-manual.svg"; sourceTree = ""; }; + 5B574BD920A409F3003DE2BF /* painting-stroke-01-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-stroke-01-t-manual.svg"; sourceTree = ""; }; + 5B574BDA20A409F3003DE2BF /* painting-stroke-01-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-stroke-01-t-manual.reference"; sourceTree = ""; }; + 5B574BDB20A409F3003DE2BF /* paths-data-01-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "paths-data-01-t-manual.svg"; sourceTree = ""; }; + 5B574BDC20A409F3003DE2BF /* struct-defs-01-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "struct-defs-01-t-manual.reference"; sourceTree = ""; }; + 5B574BDD20A409F3003DE2BF /* text-align-01-b-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "text-align-01-b-manual.reference"; sourceTree = ""; }; + 5B574BDE20A409F3003DE2BF /* coords-trans-09-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-trans-09-t-manual.reference"; sourceTree = ""; }; + 5B574BDF20A409F3003DE2BF /* struct-use-12-f-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "struct-use-12-f-manual.svg"; sourceTree = ""; }; + 5B574BE020A409F3003DE2BF /* coords-transformattr-01-f-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-transformattr-01-f-manual.reference"; sourceTree = ""; }; + 5B574BE120A409F3003DE2BF /* painting-control-06-f-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-control-06-f-manual.reference"; sourceTree = ""; }; + 5B574BE220A409F3003DE2BF /* shapes-circle-02-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-circle-02-t-manual.reference"; sourceTree = ""; }; + 5B574BE320A409F3003DE2BF /* shapes-circle-01-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-circle-01-t-manual.svg"; sourceTree = ""; }; + 5B574BE420A409F3003DE2BF /* painting-fill-01-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-fill-01-t-manual.svg"; sourceTree = ""; }; + 5B574BE520A409F3003DE2BF /* coords-trans-04-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-trans-04-t-manual.reference"; sourceTree = ""; }; + 5B574BE620A409F3003DE2BF /* render-elems-02-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "render-elems-02-t-manual.reference"; sourceTree = ""; }; + 5B574BE720A409F4003DE2BF /* coords-trans-06-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-trans-06-t-manual.svg"; sourceTree = ""; }; + 5B574BE820A409F4003DE2BF /* render-elems-03-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "render-elems-03-t-manual.reference"; sourceTree = ""; }; + 5B574BE920A409F4003DE2BF /* types-basic-01-f-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "types-basic-01-f-manual.svg"; sourceTree = ""; }; + 5B574BEA20A409F4003DE2BF /* struct-use-03-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "struct-use-03-t-manual.reference"; sourceTree = ""; }; + 5B574BEB20A409F4003DE2BF /* coords-transformattr-02-f-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-transformattr-02-f-manual.reference"; sourceTree = ""; }; + 5B574BEC20A409F4003DE2BF /* coords-trans-05-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-trans-05-t-manual.reference"; sourceTree = ""; }; + 5B574BED20A409F4003DE2BF /* painting-fill-02-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-fill-02-t-manual.reference"; sourceTree = ""; }; + 5B574BEE20A409F4003DE2BF /* struct-frag-02-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "struct-frag-02-t-manual.svg"; sourceTree = ""; }; + 5B574BEF20A409F4003DE2BF /* coords-trans-02-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-trans-02-t-manual.reference"; sourceTree = ""; }; + 5B574BF020A409F4003DE2BF /* color-prop-03-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "color-prop-03-t-manual.svg"; sourceTree = ""; }; + 5B574BF120A409F4003DE2BF /* coords-trans-02-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-trans-02-t-manual.svg"; sourceTree = ""; }; + 5B574BF220A409F4003DE2BF /* coords-trans-05-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-trans-05-t-manual.svg"; sourceTree = ""; }; + 5B574BF320A409F4003DE2BF /* pservers-grad-stops-01-f-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "pservers-grad-stops-01-f-manual.reference"; sourceTree = ""; }; + 5B574BF420A409F4003DE2BF /* shapes-line-02-f-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-line-02-f-manual.svg"; sourceTree = ""; }; + 5B574BF520A409F4003DE2BF /* coords-transformattr-05-f-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-transformattr-05-f-manual.svg"; sourceTree = ""; }; + 5B574BF620A409F5003DE2BF /* shapes-circle-02-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-circle-02-t-manual.svg"; sourceTree = ""; }; + 5B574BF720A409F5003DE2BF /* text-fonts-01-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "text-fonts-01-t-manual.svg"; sourceTree = ""; }; + 5B574BF820A409F6003DE2BF /* shapes-intro-01-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-intro-01-t-manual.reference"; sourceTree = ""; }; + 5B574BF920A409F6003DE2BF /* coords-transformattr-03-f-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "coords-transformattr-03-f-manual.svg"; sourceTree = ""; }; + 5B574BFA20A409F6003DE2BF /* painting-stroke-03-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-stroke-03-t-manual.svg"; sourceTree = ""; }; + 5B574BFB20A409F6003DE2BF /* shapes-rect-05-f-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-rect-05-f-manual.svg"; sourceTree = ""; }; + 5B574BFC20A409F6003DE2BF /* painting-stroke-08-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-stroke-08-t-manual.svg"; sourceTree = ""; }; + 5B574BFD20A409F6003DE2BF /* shapes-ellipse-01-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-ellipse-01-t-manual.svg"; sourceTree = ""; }; + 5B574BFE20A409F7003DE2BF /* text-align-01-b-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "text-align-01-b-manual.svg"; sourceTree = ""; }; + 5B574BFF20A409F8003DE2BF /* text-fonts-02-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "text-fonts-02-t-manual.svg"; sourceTree = ""; }; + 5B574C0020A409F9003DE2BF /* shapes-circle-01-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-circle-01-t-manual.reference"; sourceTree = ""; }; + 5B574C0120A409F9003DE2BF /* painting-stroke-09-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-stroke-09-t-manual.reference"; sourceTree = ""; }; + 5B574C0220A409F9003DE2BF /* shapes-line-01-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-line-01-t-manual.svg"; sourceTree = ""; }; + 5B574C0320A409F9003DE2BF /* painting-fill-03-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-fill-03-t-manual.svg"; sourceTree = ""; }; + 5B574C0420A409F9003DE2BF /* types-basic-01-f-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "types-basic-01-f-manual.reference"; sourceTree = ""; }; + 5B574C0520A409FA003DE2BF /* painting-stroke-05-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "painting-stroke-05-t-manual.reference"; sourceTree = ""; }; + 5BAA56A7207C73FF0055BC5B /* SVGContentLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SVGContentLayout.swift; sourceTree = ""; }; 5BAE201E208E1211006BF277 /* SVGCanvas.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SVGCanvas.swift; sourceTree = ""; }; 5BAE2022208E1637006BF277 /* polyline.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = polyline.reference; sourceTree = ""; }; 5BAE2023208E1637006BF277 /* polygon.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = polygon.reference; sourceTree = ""; }; @@ -490,10 +770,6 @@ 5BAE2034208E163B006BF277 /* roundRect.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = roundRect.reference; sourceTree = ""; }; 5BAE2035208E163C006BF277 /* clip.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = clip.reference; sourceTree = ""; }; 5BAE2057208F24DE006BF277 /* SceneSerialization.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SceneSerialization.swift; sourceTree = ""; }; - 5BAE205B208F2504006BF277 /* color-prop-02-f-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "color-prop-02-f-manual.svg"; sourceTree = ""; }; - 5BAE205C208F2504006BF277 /* shapes-circle-01-t-manual.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-circle-01-t-manual.svg"; sourceTree = ""; }; - 5BAE205D208F2504006BF277 /* shapes-circle-01-t-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shapes-circle-01-t-manual.reference"; sourceTree = ""; }; - 5BAE2060208F2504006BF277 /* color-prop-02-f-manual.reference */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "color-prop-02-f-manual.reference"; sourceTree = ""; }; 5BAEA9C8206CEAA20049AAAE /* viewBox.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = viewBox.svg; sourceTree = ""; }; A718CD431F45C28200966E06 /* Common_iOS.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Common_iOS.swift; path = Source/platform/iOS/Common_iOS.swift; sourceTree = SOURCE_ROOT; }; A718CD451F45C28700966E06 /* Graphics_iOS.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Graphics_iOS.swift; path = Source/platform/iOS/Graphics_iOS.swift; sourceTree = SOURCE_ROOT; }; @@ -586,8 +862,6 @@ 57900FF71EA0DEBF00809FFB /* utils */ = { isa = PBXGroup; children = ( - 5B1A8C7520A15F7300E5FFAE /* SvgNodeLayout.swift */, - 5BAA56A7207C73FF0055BC5B /* SvgContentLayout.swift */, 57900FF81EA0DEBF00809FFB /* UIImage2Image.swift */, ); path = utils; @@ -843,11 +1117,13 @@ children = ( 5BAE201E208E1211006BF277 /* SVGCanvas.swift */, 57E5E1461E3B393900D1CB28 /* SVGConstants.swift */, + 5BAA56A7207C73FF0055BC5B /* SVGContentLayout.swift */, + 5B1A8C7520A15F7300E5FFAE /* SVGNodeLayout.swift */, 57E5E1471E3B393900D1CB28 /* SVGParser.swift */, 57E5E1481E3B393900D1CB28 /* SVGParserError.swift */, 57E5E1491E3B393900D1CB28 /* SVGParserRegexHelper.swift */, - 57E5E14A1E3B393900D1CB28 /* SVGView.swift */, C4820B171F458D0E008CE0FF /* SVGSerializer.swift */, + 57E5E14A1E3B393900D1CB28 /* SVGView.swift */, ); path = svg; sourceTree = ""; @@ -923,10 +1199,148 @@ 5BAE205A208F2504006BF277 /* w3cSVGTests */ = { isa = PBXGroup; children = ( - 5BAE2060208F2504006BF277 /* color-prop-02-f-manual.reference */, - 5BAE205B208F2504006BF277 /* color-prop-02-f-manual.svg */, - 5BAE205D208F2504006BF277 /* shapes-circle-01-t-manual.reference */, - 5BAE205C208F2504006BF277 /* shapes-circle-01-t-manual.svg */, + 5B574BC220A409E8003DE2BF /* color-prop-01-b-manual.reference */, + 5B574BBA20A409E7003DE2BF /* color-prop-01-b-manual.svg */, + 5B574B8920A409E1003DE2BF /* color-prop-02-f-manual.reference */, + 5B574B7E20A409E0003DE2BF /* color-prop-02-f-manual.svg */, + 5B574BBB20A409E7003DE2BF /* color-prop-03-t-manual.reference */, + 5B574BF020A409F4003DE2BF /* color-prop-03-t-manual.svg */, + 5B574B7A20A409E0003DE2BF /* coords-coord-01-t-manual.reference */, + 5B574B9320A409E2003DE2BF /* coords-coord-01-t-manual.svg */, + 5B574BAD20A409E5003DE2BF /* coords-coord-02-t-manual.reference */, + 5B574BA620A409E5003DE2BF /* coords-coord-02-t-manual.svg */, + 5B574BCC20A409E9003DE2BF /* coords-trans-01-b-manual.reference */, + 5B574BB320A409E6003DE2BF /* coords-trans-01-b-manual.svg */, + 5B574BEF20A409F4003DE2BF /* coords-trans-02-t-manual.reference */, + 5B574BF120A409F4003DE2BF /* coords-trans-02-t-manual.svg */, + 5B574BD320A409F1003DE2BF /* coords-trans-03-t-manual.reference */, + 5B574BD720A409F2003DE2BF /* coords-trans-03-t-manual.svg */, + 5B574BE520A409F3003DE2BF /* coords-trans-04-t-manual.reference */, + 5B574BB020A409E6003DE2BF /* coords-trans-04-t-manual.svg */, + 5B574BEC20A409F4003DE2BF /* coords-trans-05-t-manual.reference */, + 5B574BF220A409F4003DE2BF /* coords-trans-05-t-manual.svg */, + 5B574BBE20A409E8003DE2BF /* coords-trans-06-t-manual.reference */, + 5B574BE720A409F4003DE2BF /* coords-trans-06-t-manual.svg */, + 5B574B7820A409DF003DE2BF /* coords-trans-07-t-manual.reference */, + 5B574BAF20A409E6003DE2BF /* coords-trans-07-t-manual.svg */, + 5B574B8320A409E0003DE2BF /* coords-trans-08-t-manual.reference */, + 5B574BA720A409E5003DE2BF /* coords-trans-08-t-manual.svg */, + 5B574BDE20A409F3003DE2BF /* coords-trans-09-t-manual.reference */, + 5B574B9E20A409E4003DE2BF /* coords-trans-09-t-manual.svg */, + 5B574BE020A409F3003DE2BF /* coords-transformattr-01-f-manual.reference */, + 5B574BC620A409E9003DE2BF /* coords-transformattr-01-f-manual.svg */, + 5B574BEB20A409F4003DE2BF /* coords-transformattr-02-f-manual.reference */, + 5B574BA220A409E4003DE2BF /* coords-transformattr-02-f-manual.svg */, + 5B574BD120A409EA003DE2BF /* coords-transformattr-03-f-manual.reference */, + 5B574BF920A409F6003DE2BF /* coords-transformattr-03-f-manual.svg */, + 5B574BD020A409EA003DE2BF /* coords-transformattr-04-f-manual.reference */, + 5B574BB120A409E6003DE2BF /* coords-transformattr-04-f-manual.svg */, + 5B574B7D20A409E0003DE2BF /* coords-transformattr-05-f-manual.reference */, + 5B574BF520A409F4003DE2BF /* coords-transformattr-05-f-manual.svg */, + 5B574BA320A409E4003DE2BF /* metadata-example-01-t-manual.reference */, + 5B574B8120A409E0003DE2BF /* metadata-example-01-t-manual.svg */, + 5B574B8820A409E1003DE2BF /* painting-control-02-f-manual.reference */, + 5B574BC520A409E9003DE2BF /* painting-control-02-f-manual.svg */, + 5B574B8A20A409E1003DE2BF /* painting-control-03-f-manual.reference */, + 5B574BC320A409E8003DE2BF /* painting-control-03-f-manual.svg */, + 5B574BE120A409F3003DE2BF /* painting-control-06-f-manual.reference */, + 5B574B8720A409E1003DE2BF /* painting-control-06-f-manual.svg */, + 5B574B9220A409E2003DE2BF /* painting-fill-01-t-manual.reference */, + 5B574BE420A409F3003DE2BF /* painting-fill-01-t-manual.svg */, + 5B574BED20A409F4003DE2BF /* painting-fill-02-t-manual.reference */, + 5B574BD420A409F1003DE2BF /* painting-fill-02-t-manual.svg */, + 5B574B9920A409E3003DE2BF /* painting-fill-03-t-manual.reference */, + 5B574C0320A409F9003DE2BF /* painting-fill-03-t-manual.svg */, + 5B574B8B20A409E1003DE2BF /* painting-fill-04-t-manual.reference */, + 5B574B8220A409E0003DE2BF /* painting-fill-04-t-manual.svg */, + 5B574BA920A409E5003DE2BF /* painting-fill-05-b-manual.reference */, + 5B574BB220A409E6003DE2BF /* painting-fill-05-b-manual.svg */, + 5B574BDA20A409F3003DE2BF /* painting-stroke-01-t-manual.reference */, + 5B574BD920A409F3003DE2BF /* painting-stroke-01-t-manual.svg */, + 5B574B8420A409E1003DE2BF /* painting-stroke-02-t-manual.reference */, + 5B574B9120A409E2003DE2BF /* painting-stroke-02-t-manual.svg */, + 5B574BB720A409E7003DE2BF /* painting-stroke-03-t-manual.reference */, + 5B574BFA20A409F6003DE2BF /* painting-stroke-03-t-manual.svg */, + 5B574C0520A409FA003DE2BF /* painting-stroke-05-t-manual.reference */, + 5B574B9420A409E2003DE2BF /* painting-stroke-05-t-manual.svg */, + 5B574BCA20A409E9003DE2BF /* painting-stroke-08-t-manual.reference */, + 5B574BFC20A409F6003DE2BF /* painting-stroke-08-t-manual.svg */, + 5B574C0120A409F9003DE2BF /* painting-stroke-09-t-manual.reference */, + 5B574BA520A409E4003DE2BF /* painting-stroke-09-t-manual.svg */, + 5B574BA020A409E4003DE2BF /* paths-data-01-t-manual.reference */, + 5B574BDB20A409F3003DE2BF /* paths-data-01-t-manual.svg */, + 5B574B9D20A409E3003DE2BF /* paths-data-02-t-manual.reference */, + 5B574B7F20A409E0003DE2BF /* paths-data-02-t-manual.svg */, + 5B574BC720A409E9003DE2BF /* paths-data-06-t-manual.reference */, + 5B574BCD20A409E9003DE2BF /* paths-data-06-t-manual.svg */, + 5B574BA120A409E4003DE2BF /* paths-data-07-t-manual.reference */, + 5B574B9A20A409E3003DE2BF /* paths-data-07-t-manual.svg */, + 5B574BB420A409E6003DE2BF /* paths-data-12-t-manual.reference */, + 5B574BBD20A409E8003DE2BF /* paths-data-12-t-manual.svg */, + 5B574B8C20A409E1003DE2BF /* paths-data-13-t-manual.reference */, + 5B574BCE20A409EA003DE2BF /* paths-data-13-t-manual.svg */, + 5B574BD620A409F2003DE2BF /* paths-data-15-t-manual.reference */, + 5B574BCB20A409E9003DE2BF /* paths-data-15-t-manual.svg */, + 5B574B8620A409E1003DE2BF /* paths-data-17-f-manual.reference */, + 5B574BBF20A409E8003DE2BF /* paths-data-17-f-manual.svg */, + 5B574BC820A409E9003DE2BF /* paths-data-19-f-manual.reference */, + 5B574BAA20A409E5003DE2BF /* paths-data-19-f-manual.svg */, + 5B574BF320A409F4003DE2BF /* pservers-grad-stops-01-f-manual.reference */, + 5B574B9520A409E2003DE2BF /* pservers-grad-stops-01-f-manual.svg */, + 5B574B8E20A409E2003DE2BF /* render-elems-01-t-manual.reference */, + 5B574B9F20A409E4003DE2BF /* render-elems-01-t-manual.svg */, + 5B574BE620A409F3003DE2BF /* render-elems-02-t-manual.reference */, + 5B574B8D20A409E2003DE2BF /* render-elems-02-t-manual.svg */, + 5B574BE820A409F4003DE2BF /* render-elems-03-t-manual.reference */, + 5B574BD820A409F3003DE2BF /* render-elems-03-t-manual.svg */, + 5B574C0020A409F9003DE2BF /* shapes-circle-01-t-manual.reference */, + 5B574BE320A409F3003DE2BF /* shapes-circle-01-t-manual.svg */, + 5B574BE220A409F3003DE2BF /* shapes-circle-02-t-manual.reference */, + 5B574BF620A409F5003DE2BF /* shapes-circle-02-t-manual.svg */, + 5B574BC020A409E8003DE2BF /* shapes-ellipse-01-t-manual.reference */, + 5B574BFD20A409F6003DE2BF /* shapes-ellipse-01-t-manual.svg */, + 5B574B8020A409E0003DE2BF /* shapes-ellipse-02-t-manual.reference */, + 5B574BAC20A409E5003DE2BF /* shapes-ellipse-02-t-manual.svg */, + 5B574BF820A409F6003DE2BF /* shapes-intro-01-t-manual.reference */, + 5B574BD520A409F2003DE2BF /* shapes-intro-01-t-manual.svg */, + 5B574BC920A409E9003DE2BF /* shapes-line-01-t-manual.reference */, + 5B574C0220A409F9003DE2BF /* shapes-line-01-t-manual.svg */, + 5B574B8520A409E1003DE2BF /* shapes-line-02-f-manual.reference */, + 5B574BF420A409F4003DE2BF /* shapes-line-02-f-manual.svg */, + 5B574BC420A409E8003DE2BF /* shapes-polygon-01-t-manual.reference */, + 5B574B7920A409E0003DE2BF /* shapes-polygon-01-t-manual.svg */, + 5B574B7B20A409E0003DE2BF /* shapes-polygon-02-t-manual.reference */, + 5B574B8F20A409E2003DE2BF /* shapes-polygon-02-t-manual.svg */, + 5B574BB820A409E7003DE2BF /* shapes-polyline-01-t-manual.reference */, + 5B574B9620A409E3003DE2BF /* shapes-polyline-01-t-manual.svg */, + 5B574B7C20A409E0003DE2BF /* shapes-rect-04-f-manual.reference */, + 5B574BA420A409E4003DE2BF /* shapes-rect-04-f-manual.svg */, + 5B574BAE20A409E6003DE2BF /* shapes-rect-05-f-manual.reference */, + 5B574BFB20A409F6003DE2BF /* shapes-rect-05-f-manual.svg */, + 5B574BDC20A409F3003DE2BF /* struct-defs-01-t-manual.reference */, + 5B574B9C20A409E3003DE2BF /* struct-defs-01-t-manual.svg */, + 5B574BC120A409E8003DE2BF /* struct-frag-01-t-manual.reference */, + 5B574BD220A409EE003DE2BF /* struct-frag-01-t-manual.svg */, + 5B574B9B20A409E3003DE2BF /* struct-frag-02-t-manual.reference */, + 5B574BEE20A409F4003DE2BF /* struct-frag-02-t-manual.svg */, + 5B574BCF20A409EA003DE2BF /* struct-frag-03-t-manual.reference */, + 5B574BAB20A409E5003DE2BF /* struct-frag-03-t-manual.svg */, + 5B574B9720A409E3003DE2BF /* struct-frag-04-t-manual.reference */, + 5B574BB520A409E6003DE2BF /* struct-frag-04-t-manual.svg */, + 5B574BB920A409E7003DE2BF /* struct-group-01-t-manual.reference */, + 5B574BBC20A409E7003DE2BF /* struct-group-01-t-manual.svg */, + 5B574BEA20A409F4003DE2BF /* struct-use-03-t-manual.reference */, + 5B574B9020A409E2003DE2BF /* struct-use-03-t-manual.svg */, + 5B574BB620A409E7003DE2BF /* struct-use-12-f-manual.reference */, + 5B574BDF20A409F3003DE2BF /* struct-use-12-f-manual.svg */, + 5B574BDD20A409F3003DE2BF /* text-align-01-b-manual.reference */, + 5B574BFE20A409F7003DE2BF /* text-align-01-b-manual.svg */, + 5B574B9820A409E3003DE2BF /* text-fonts-01-t-manual.reference */, + 5B574BF720A409F5003DE2BF /* text-fonts-01-t-manual.svg */, + 5B574BA820A409E5003DE2BF /* text-fonts-02-t-manual.reference */, + 5B574BFF20A409F8003DE2BF /* text-fonts-02-t-manual.svg */, + 5B574C0420A409F9003DE2BF /* types-basic-01-f-manual.reference */, + 5B574BE920A409F4003DE2BF /* types-basic-01-f-manual.svg */, ); path = w3cSVGTests; sourceTree = ""; @@ -1120,47 +1534,185 @@ buildActionMask = 2147483647; files = ( 5BAE203C208E163D006BF277 /* triangle.reference in Resources */, + 5B574C5720A409FA003DE2BF /* shapes-line-01-t-manual.reference in Resources */, + 5B574C8E20A409FA003DE2BF /* shapes-circle-01-t-manual.reference in Resources */, + 5B574C0920A409FA003DE2BF /* shapes-polygon-02-t-manual.reference in Resources */, + 5B574C3520A409FA003DE2BF /* coords-trans-08-t-manual.svg in Resources */, + 5B574C4220A409FA003DE2BF /* paths-data-12-t-manual.reference in Resources */, + 5B574C2320A409FA003DE2BF /* pservers-grad-stops-01-f-manual.svg in Resources */, + 5B574C6F20A409FA003DE2BF /* painting-control-06-f-manual.reference in Resources */, + 5B574C7720A409FA003DE2BF /* types-basic-01-f-manual.svg in Resources */, + 5B574C0A20A409FA003DE2BF /* shapes-rect-04-f-manual.reference in Resources */, + 5B574C4A20A409FA003DE2BF /* struct-group-01-t-manual.svg in Resources */, + 5B574C8020A409FA003DE2BF /* coords-trans-05-t-manual.svg in Resources */, + 5B574C0820A409FA003DE2BF /* coords-coord-01-t-manual.reference in Resources */, + 5B574C6920A409FA003DE2BF /* paths-data-01-t-manual.svg in Resources */, + 5B574C6220A409FA003DE2BF /* painting-fill-02-t-manual.svg in Resources */, + 5B574C7420A409FA003DE2BF /* render-elems-02-t-manual.reference in Resources */, + 5B574C7A20A409FA003DE2BF /* coords-trans-05-t-manual.reference in Resources */, + 5B574C1720A409FA003DE2BF /* color-prop-02-f-manual.reference in Resources */, + 5B574C2B20A409FA003DE2BF /* paths-data-02-t-manual.reference in Resources */, + 5B574C6420A409FA003DE2BF /* paths-data-15-t-manual.reference in Resources */, + 5B574C2D20A409FA003DE2BF /* render-elems-01-t-manual.svg in Resources */, + 5B574C1320A409FA003DE2BF /* shapes-line-02-f-manual.reference in Resources */, + 5B574C2520A409FA003DE2BF /* struct-frag-04-t-manual.reference in Resources */, C4153A8F1F8793DE001BA5EE /* small-logo.png in Resources */, - 5BAE2061208F2504006BF277 /* color-prop-02-f-manual.svg in Resources */, + 5B574C4820A409FA003DE2BF /* color-prop-01-b-manual.svg in Resources */, + 5B574C6720A409FA003DE2BF /* painting-stroke-01-t-manual.svg in Resources */, + 5B574C5B20A409FA003DE2BF /* paths-data-06-t-manual.svg in Resources */, + 5B574C8A20A409FA003DE2BF /* painting-stroke-08-t-manual.svg in Resources */, + 5B574C6A20A409FA003DE2BF /* struct-defs-01-t-manual.reference in Resources */, + 5B574C8820A409FA003DE2BF /* painting-stroke-03-t-manual.svg in Resources */, + 5B574C0C20A409FA003DE2BF /* color-prop-02-f-manual.svg in Resources */, 5BAE2048208E163D006BF277 /* line.reference in Resources */, 57CAB1361D7832E000FD8E47 /* triangle.svg in Resources */, + 5B574C9020A409FA003DE2BF /* shapes-line-01-t-manual.svg in Resources */, C43B06691F99FC2300787A35 /* pathbounds4.svg in Resources */, C43B06631F99A33400787A35 /* pathbounds3.svg in Resources */, + 5B574C0E20A409FA003DE2BF /* shapes-ellipse-02-t-manual.reference in Resources */, + 5B574C7220A409FA003DE2BF /* painting-fill-01-t-manual.svg in Resources */, 5BAEA9C9206CEAA20049AAAE /* viewBox.svg in Resources */, + 5B574C7820A409FA003DE2BF /* struct-use-03-t-manual.reference in Resources */, + 5B574C6620A409FA003DE2BF /* render-elems-03-t-manual.svg in Resources */, + 5B574C5520A409FA003DE2BF /* paths-data-06-t-manual.reference in Resources */, 5BAE204B208E163D006BF277 /* clip.reference in Resources */, + 5B574C4E20A409FA003DE2BF /* shapes-ellipse-01-t-manual.reference in Resources */, + 5B574C7020A409FA003DE2BF /* shapes-circle-02-t-manual.reference in Resources */, + 5B574C8620A409FA003DE2BF /* shapes-intro-01-t-manual.reference in Resources */, + 5B574C3220A409FA003DE2BF /* shapes-rect-04-f-manual.svg in Resources */, + 5B574C2C20A409FA003DE2BF /* coords-trans-09-t-manual.svg in Resources */, C43B064D1F9738EF00787A35 /* clip.svg in Resources */, + 5B574C8D20A409FA003DE2BF /* text-fonts-02-t-manual.svg in Resources */, + 5B574C5420A409FA003DE2BF /* coords-transformattr-01-f-manual.svg in Resources */, + 5B574C2720A409FA003DE2BF /* painting-fill-03-t-manual.reference in Resources */, + 5B574C8520A409FA003DE2BF /* text-fonts-01-t-manual.svg in Resources */, + 5B574C5120A409FA003DE2BF /* painting-control-03-f-manual.svg in Resources */, + 5B574C5620A409FA003DE2BF /* paths-data-19-f-manual.reference in Resources */, + 5B574C1C20A409FA003DE2BF /* render-elems-01-t-manual.reference in Resources */, 5BAE2040208E163D006BF277 /* ellipse.reference in Resources */, + 5B574C5820A409FA003DE2BF /* painting-stroke-08-t-manual.reference in Resources */, + 5B574C8C20A409FA003DE2BF /* text-align-01-b-manual.svg in Resources */, + 5B574C5F20A409FA003DE2BF /* coords-transformattr-03-f-manual.reference in Resources */, 57B7A4E11EE70DA5009D78D7 /* logo_base64.txt in Resources */, + 5B574C2E20A409FA003DE2BF /* paths-data-01-t-manual.reference in Resources */, 5BAE2047208E163D006BF277 /* viewBox.reference in Resources */, 5BAE2042208E163D006BF277 /* group.reference in Resources */, + 5B574C6120A409FA003DE2BF /* coords-trans-03-t-manual.reference in Resources */, C43B06671F99EE7300787A35 /* cubicRelative.svg in Resources */, + 5B574C2620A409FA003DE2BF /* text-fonts-01-t-manual.reference in Resources */, 5BAE204A208E163D006BF277 /* roundRect.reference in Resources */, + 5B574C5220A409FA003DE2BF /* shapes-polygon-01-t-manual.reference in Resources */, 5BAE203E208E163D006BF277 /* circle.reference in Resources */, + 5B574C2F20A409FA003DE2BF /* paths-data-07-t-manual.reference in Resources */, + 5B574C1520A409FA003DE2BF /* painting-control-06-f-manual.svg in Resources */, C43B064D1F9738EF00787A35 /* clip.svg in Resources */, + 5B574C3E20A409FA003DE2BF /* coords-trans-04-t-manual.svg in Resources */, + 5B574C1E20A409FA003DE2BF /* struct-use-03-t-manual.svg in Resources */, + 5B574C2A20A409FA003DE2BF /* struct-defs-01-t-manual.svg in Resources */, + 5B574C8720A409FA003DE2BF /* coords-transformattr-03-f-manual.svg in Resources */, + 5B574C5320A409FA003DE2BF /* painting-control-02-f-manual.svg in Resources */, + 5B574C4F20A409FA003DE2BF /* struct-frag-01-t-manual.reference in Resources */, + 5B574C4C20A409FA003DE2BF /* coords-trans-06-t-manual.reference in Resources */, + 5B574C1620A409FA003DE2BF /* painting-control-02-f-manual.reference in Resources */, + 5B574C3F20A409FA003DE2BF /* coords-transformattr-04-f-manual.svg in Resources */, + 5B574C4420A409FA003DE2BF /* struct-use-12-f-manual.reference in Resources */, + 5B574C4720A409FA003DE2BF /* struct-group-01-t-manual.reference in Resources */, + 5B574C1B20A409FA003DE2BF /* render-elems-02-t-manual.svg in Resources */, + 5B574C7B20A409FA003DE2BF /* painting-fill-02-t-manual.reference in Resources */, + 5B574C1A20A409FA003DE2BF /* paths-data-13-t-manual.reference in Resources */, + 5B574C5E20A409FA003DE2BF /* coords-transformattr-04-f-manual.reference in Resources */, + 5B574C1F20A409FA003DE2BF /* painting-stroke-02-t-manual.svg in Resources */, + 5B574C3920A409FA003DE2BF /* struct-frag-03-t-manual.svg in Resources */, 57B7A4E11EE70DA5009D78D7 /* logo_base64.txt in Resources */, + 5B574C8320A409FA003DE2BF /* coords-transformattr-05-f-manual.svg in Resources */, C410148E1F834D290022EE44 /* style.svg in Resources */, - 5BAE2063208F2504006BF277 /* shapes-circle-01-t-manual.reference in Resources */, + 5B574C0720A409FA003DE2BF /* shapes-polygon-01-t-manual.svg in Resources */, + 5B574C0B20A409FA003DE2BF /* coords-transformattr-05-f-manual.reference in Resources */, + 5B574C8B20A409FA003DE2BF /* shapes-ellipse-01-t-manual.svg in Resources */, + 5B574C3B20A409FA003DE2BF /* coords-coord-02-t-manual.reference in Resources */, + 5B574C5A20A409FA003DE2BF /* coords-trans-01-b-manual.reference in Resources */, + 5B574C1420A409FA003DE2BF /* paths-data-17-f-manual.reference in Resources */, C4BD40BB1F8F58B0003034F0 /* pathbounds1.svg in Resources */, + 5B574C3120A409FA003DE2BF /* metadata-example-01-t-manual.reference in Resources */, + 5B574C2920A409FA003DE2BF /* struct-frag-02-t-manual.reference in Resources */, + 5B574C0D20A409FA003DE2BF /* paths-data-02-t-manual.svg in Resources */, C4BD40BC1F8F58B0003034F0 /* pathbounds2.svg in Resources */, 5BAE2039208E163D006BF277 /* polygon.reference in Resources */, + 5B574C6D20A409FA003DE2BF /* struct-use-12-f-manual.svg in Resources */, + 5B574C4020A409FA003DE2BF /* painting-fill-05-b-manual.svg in Resources */, + 5B574C7E20A409FA003DE2BF /* color-prop-03-t-manual.svg in Resources */, + 5B574C3020A409FA003DE2BF /* coords-transformattr-02-f-manual.svg in Resources */, + 5B574C4D20A409FA003DE2BF /* paths-data-17-f-manual.svg in Resources */, + 5B574C8F20A409FA003DE2BF /* painting-stroke-09-t-manual.reference in Resources */, + 5B574C3D20A409FA003DE2BF /* coords-trans-07-t-manual.svg in Resources */, + 5B574C1220A409FA003DE2BF /* painting-stroke-02-t-manual.reference in Resources */, + 5B574C8120A409FA003DE2BF /* pservers-grad-stops-01-f-manual.reference in Resources */, + 5B574C8220A409FA003DE2BF /* shapes-line-02-f-manual.svg in Resources */, 5BAE2043208E163D006BF277 /* textBasicTransform.reference in Resources */, + 5B574C7520A409FA003DE2BF /* coords-trans-06-t-manual.svg in Resources */, + 5B574C2120A409FA003DE2BF /* coords-coord-01-t-manual.svg in Resources */, + 5B574C4920A409FA003DE2BF /* color-prop-03-t-manual.reference in Resources */, + 5B574C6020A409FA003DE2BF /* struct-frag-01-t-manual.svg in Resources */, + 5B574C1120A409FA003DE2BF /* coords-trans-08-t-manual.reference in Resources */, 57CAB1301D7832E000FD8E47 /* group.svg in Resources */, 5BAE2045208E163D006BF277 /* arcsgroup.reference in Resources */, - 5BAE2062208F2504006BF277 /* shapes-circle-01-t-manual.svg in Resources */, + 5B574C7620A409FA003DE2BF /* render-elems-03-t-manual.reference in Resources */, 5BAE203F208E163D006BF277 /* transform.reference in Resources */, 5BAE2038208E163D006BF277 /* polyline.reference in Resources */, + 5B574C2220A409FA003DE2BF /* painting-stroke-05-t-manual.svg in Resources */, + 5B574C2420A409FA003DE2BF /* shapes-polyline-01-t-manual.svg in Resources */, + 5B574C7920A409FA003DE2BF /* coords-transformattr-02-f-manual.reference in Resources */, C43B06661F99EE7300787A35 /* cubicAbsolute.svg in Resources */, + 5B574C1920A409FA003DE2BF /* painting-fill-04-t-manual.reference in Resources */, C46E83551F94B20E00208037 /* transform.svg in Resources */, + 5B574C1D20A409FA003DE2BF /* shapes-polygon-02-t-manual.svg in Resources */, + 5B574C3320A409FA003DE2BF /* painting-stroke-09-t-manual.svg in Resources */, + 5B574C3C20A409FA003DE2BF /* shapes-rect-05-f-manual.reference in Resources */, 57CAB1351D7832E000FD8E47 /* roundRect.svg in Resources */, + 5B574C6B20A409FA003DE2BF /* text-align-01-b-manual.reference in Resources */, + 5B574C6320A409FA003DE2BF /* shapes-intro-01-t-manual.svg in Resources */, 5BAE203D208E163D006BF277 /* clipManual.reference in Resources */, + 5B574C3420A409FA003DE2BF /* coords-coord-02-t-manual.svg in Resources */, + 5B574C5D20A409FA003DE2BF /* struct-frag-03-t-manual.reference in Resources */, + 5B574C7D20A409FA003DE2BF /* coords-trans-02-t-manual.reference in Resources */, 57CAB12E1D7832E000FD8E47 /* circle.svg in Resources */, - 5BAE2066208F2504006BF277 /* color-prop-02-f-manual.reference in Resources */, + 5B574C4B20A409FA003DE2BF /* paths-data-12-t-manual.svg in Resources */, + 5B574C5C20A409FA003DE2BF /* paths-data-13-t-manual.svg in Resources */, + 5B574C6E20A409FA003DE2BF /* coords-transformattr-01-f-manual.reference in Resources */, + 5B574C6820A409FA003DE2BF /* painting-stroke-01-t-manual.reference in Resources */, + 5B574C4120A409FA003DE2BF /* coords-trans-01-b-manual.svg in Resources */, 57CAB1331D7832E000FD8E47 /* polyline.svg in Resources */, + 5B574C4520A409FA003DE2BF /* painting-stroke-03-t-manual.reference in Resources */, 57CAB1311D7832E000FD8E47 /* line.svg in Resources */, 57B7A4DF1EE70D17009D78D7 /* logo.png in Resources */, + 5B574C4620A409FA003DE2BF /* shapes-polyline-01-t-manual.reference in Resources */, + 5B574C9320A409FA003DE2BF /* painting-stroke-05-t-manual.reference in Resources */, + 5B574C7C20A409FA003DE2BF /* struct-frag-02-t-manual.svg in Resources */, + 5B574C5920A409FA003DE2BF /* paths-data-15-t-manual.svg in Resources */, 57CAB1321D7832E000FD8E47 /* polygon.svg in Resources */, + 5B574C0620A409FA003DE2BF /* coords-trans-07-t-manual.reference in Resources */, 5BAE203A208E163D006BF277 /* rect.reference in Resources */, + 5B574C5020A409FA003DE2BF /* color-prop-01-b-manual.reference in Resources */, + 5B574C8920A409FA003DE2BF /* shapes-rect-05-f-manual.svg in Resources */, + 5B574C7320A409FA003DE2BF /* coords-trans-04-t-manual.reference in Resources */, + 5B574C3620A409FA003DE2BF /* text-fonts-02-t-manual.reference in Resources */, + 5B574C7F20A409FA003DE2BF /* coords-trans-02-t-manual.svg in Resources */, + 5B574C8420A409FA003DE2BF /* shapes-circle-02-t-manual.svg in Resources */, + 5B574C1020A409FA003DE2BF /* painting-fill-04-t-manual.svg in Resources */, + 5B574C3720A409FA003DE2BF /* painting-fill-05-b-manual.reference in Resources */, + 5B574C6520A409FA003DE2BF /* coords-trans-03-t-manual.svg in Resources */, + 5B574C7120A409FA003DE2BF /* shapes-circle-01-t-manual.svg in Resources */, + 5B574C3A20A409FA003DE2BF /* shapes-ellipse-02-t-manual.svg in Resources */, + 5B574C9220A409FA003DE2BF /* types-basic-01-f-manual.reference in Resources */, + 5B574C3820A409FA003DE2BF /* paths-data-19-f-manual.svg in Resources */, + 5B574C4320A409FA003DE2BF /* struct-frag-04-t-manual.svg in Resources */, + 5B574C1820A409FA003DE2BF /* painting-control-03-f-manual.reference in Resources */, + 5B574C0F20A409FA003DE2BF /* metadata-example-01-t-manual.svg in Resources */, 5BAE2044208E163D006BF277 /* style.reference in Resources */, + 5B574C2820A409FA003DE2BF /* paths-data-07-t-manual.svg in Resources */, + 5B574C6C20A409FA003DE2BF /* coords-trans-09-t-manual.reference in Resources */, + 5B574C2020A409FA003DE2BF /* painting-fill-01-t-manual.reference in Resources */, + 5B574C9120A409FA003DE2BF /* painting-fill-03-t-manual.svg in Resources */, 57CAB12F1D7832E000FD8E47 /* ellipse.svg in Resources */, 57CAB1341D7832E000FD8E47 /* rect.svg in Resources */, ); @@ -1202,7 +1754,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5B1FFD7A207E083600716A46 /* SvgContentLayout.swift in Sources */, + 5B1FFD7A207E083600716A46 /* SVGContentLayout.swift in Sources */, 57614AFD1F83D15600875933 /* Group.swift in Sources */, 57D9DAE11FC9AA4C0002555D /* Locus+ToPath.swift in Sources */, 57614AFE1F83D15600875933 /* TextRenderer.swift in Sources */, @@ -1318,7 +1870,7 @@ 57614B6B1F83D15600875933 /* NSTimer+Closure.swift in Sources */, 57614B6C1F83D15600875933 /* SWXMLHash+TypeConversion.swift in Sources */, 57614B6D1F83D15600875933 /* AnimationSequence.swift in Sources */, - 5B1A8C7720A15F7300E5FFAE /* SvgNodeLayout.swift in Sources */, + 5B1A8C7720A15F7300E5FFAE /* SVGNodeLayout.swift in Sources */, 57614B6E1F83D15600875933 /* MorphingGenerator.swift in Sources */, 57614B6F1F83D15600875933 /* SVGConstants.swift in Sources */, 57614B701F83D15600875933 /* ShapeLayer.swift in Sources */, @@ -1434,7 +1986,7 @@ 57E5E1A01E3B393900D1CB28 /* Node.swift in Sources */, 57E5E1751E3B393900D1CB28 /* PanEvent.swift in Sources */, 57E5E1771E3B393900D1CB28 /* RotateEvent.swift in Sources */, - 5BAA56A8207C73FF0055BC5B /* SvgContentLayout.swift in Sources */, + 5BAA56A8207C73FF0055BC5B /* SVGContentLayout.swift in Sources */, 57E5E18F1E3B393900D1CB28 /* Insets.swift in Sources */, 57E5E19A1E3B393900D1CB28 /* Rect.swift in Sources */, 57E5E1941E3B393900D1CB28 /* PathBuilder.swift in Sources */, @@ -1446,7 +1998,7 @@ 57E5E1B11E3B393900D1CB28 /* NSTimer+Closure.swift in Sources */, 572CEFC71E2CED4B008C7C83 /* SWXMLHash+TypeConversion.swift in Sources */, 57E5E16B1E3B393900D1CB28 /* AnimationSequence.swift in Sources */, - 5B1A8C7620A15F7300E5FFAE /* SvgNodeLayout.swift in Sources */, + 5B1A8C7620A15F7300E5FFAE /* SVGNodeLayout.swift in Sources */, 57E5E1671E3B393900D1CB28 /* MorphingGenerator.swift in Sources */, 57E5E1AA1E3B393900D1CB28 /* SVGConstants.swift in Sources */, 57E5E1B41E3B393900D1CB28 /* ShapeLayer.swift in Sources */, diff --git a/MacawTests/MacawSVGTests.swift b/MacawTests/MacawSVGTests.swift index 90cd8e33..53fef214 100644 --- a/MacawTests/MacawSVGTests.swift +++ b/MacawTests/MacawSVGTests.swift @@ -197,11 +197,279 @@ class MacawSVGTests: XCTestCase { } } - func testColorProp02() { - validateJSON("color-prop-02-f-manual") + func testTextAlign01() { + validateJSON("text-align-01-b-manual") } - func testShapesCircle01() { - validateJSON("shapes-circle-01-t-manual") + func testPathsData07() { + validateJSON("paths-data-07-t-manual") + } + + func testColorProp01() { + validateJSON("color-prop-01-b-manual") + } + + func testShapesEllipse01() { + validateJSON("shapes-ellipse-01-t-manual") + } + + func testPathsData15() { + validateJSON("paths-data-15-t-manual") + } + + func testPathsData12() { + validateJSON("paths-data-12-t-manual") + } + + func testCoordsTrans06() { + validateJSON("coords-trans-06-t-manual") + } + + func testCoordsCoord01() { + validateJSON("coords-coord-01-t-manual") + } + + func testPaintingControl06() { + validateJSON("painting-control-06-f-manual") + } + + func testShapesLine02() { + validateJSON("shapes-line-02-f-manual") + } + + func testPathsData13() { + validateJSON("paths-data-13-t-manual") + } + + func testPaintingStroke02() { + validateJSON("painting-stroke-02-t-manual") + } + + func testPathsData01() { + validateJSON("paths-data-01-t-manual") + } + + func testPathsData06() { + validateJSON("paths-data-06-t-manual") + } + + func testCoordsTrans07() { + validateJSON("coords-trans-07-t-manual") + } + + func testCoordsTrans01() { + validateJSON("coords-trans-01-b-manual") + } + + func testPaintingStroke01() { + validateJSON("painting-stroke-01-t-manual") + } + + func testShapesIntro01() { + validateJSON("shapes-intro-01-t-manual") + } + + func testCoordsTransformattr05() { + validateJSON("coords-transformattr-05-f-manual") + } + + func testCoordsTransformattr02() { + validateJSON("coords-transformattr-02-f-manual") + } + + func testPaintingFill03() { + validateJSON("painting-fill-03-t-manual") + } + + func testShapesRect05() { + validateJSON("shapes-rect-05-f-manual") + } + + func testPaintingFill04() { + validateJSON("painting-fill-04-t-manual") + } + + func testShapesPolyline01() { + validateJSON("shapes-polyline-01-t-manual") + } + + func testShapesPolygon02() { + validateJSON("shapes-polygon-02-t-manual") + } + + func testPaintingFill05() { + validateJSON("painting-fill-05-b-manual") + } + + func testStructFrag01() { + validateJSON("struct-frag-01-t-manual") + } + + func testShapesLine01() { + validateJSON("shapes-line-01-t-manual") + } + + func testPathsData17() { + validateJSON("paths-data-17-f-manual") + } + + func testRenderElems02() { + validateJSON("render-elems-02-t-manual") + } + + func testPaintingFill02() { + validateJSON("painting-fill-02-t-manual") + } + + func testShapesRect04() { + validateJSON("shapes-rect-04-f-manual") + } + + func testCoordsTransformattr03() { + validateJSON("coords-transformattr-03-f-manual") + } + + func testCoordsTransformattr04() { + validateJSON("coords-transformattr-04-f-manual") + } + + func testRenderElems03() { + validateJSON("render-elems-03-t-manual") + } + + func testTextFonts02() { + validateJSON("text-fonts-02-t-manual") + } + + func testShapesPolygon01() { + validateJSON("shapes-polygon-01-t-manual") + } + + func testPaintingStroke08() { + validateJSON("painting-stroke-08-t-manual") + } + + func testCoordsTransformattr01() { + validateJSON("coords-transformattr-01-f-manual") + } + + func testCoordsTrans09() { + validateJSON("coords-trans-09-t-manual") + } + + func testShapesCircle02() { + validateJSON("shapes-circle-02-t-manual") + } + + func testRenderElems01() { + validateJSON("render-elems-01-t-manual") + } + + func testPserversGradStops01() { + validateJSON("pservers-grad-stops-01-f-manual") + } + + func testStructFrag02() { + validateJSON("struct-frag-02-t-manual") + } + + func testPaintingStroke03() { + validateJSON("painting-stroke-03-t-manual") + } + + func testPaintingStroke09() { + validateJSON("painting-stroke-09-t-manual") + } + + func testCoordsTrans08() { + validateJSON("coords-trans-08-t-manual") + } + + func testPaintingFill01() { + validateJSON("painting-fill-01-t-manual") + } + + func testTextFonts01() { + validateJSON("text-fonts-01-t-manual") + } + + func testStructFrag04() { + validateJSON("struct-frag-04-t-manual") + } + + func testStructFrag03() { + validateJSON("struct-frag-03-t-manual") + } + + func testStructUse12() { + validateJSON("struct-use-12-f-manual") + } + + func testStructUse03() { + validateJSON("struct-use-03-t-manual") + } + + func testColorProp03() { + validateJSON("color-prop-03-t-manual") + } + + func testTypesBasic01() { + validateJSON("types-basic-01-f-manual") + } + + func testShapesEllipse02() { + validateJSON("shapes-ellipse-02-t-manual") + } + + func testPaintingControl02() { + validateJSON("painting-control-02-f-manual") + } + + func testCoordsCoord02() { + validateJSON("coords-coord-02-t-manual") + } + + func testCoordsTrans05() { + validateJSON("coords-trans-05-t-manual") + } + + func testCoordsTrans02() { + validateJSON("coords-trans-02-t-manual") + } + + func testPathsData02() { + validateJSON("paths-data-02-t-manual") + } + + func testPathsData19() { + validateJSON("paths-data-19-f-manual") + } + + func testStructGroup01() { + validateJSON("struct-group-01-t-manual") + } + + func testPaintingStroke05() { + validateJSON("painting-stroke-05-t-manual") + } + + func testCoordsTrans03() { + validateJSON("coords-trans-03-t-manual") + } + + func testCoordsTrans04() { + validateJSON("coords-trans-04-t-manual") + } + + func testMetadataExample01() { + validateJSON("metadata-example-01-t-manual") + } + + func testStructDefs01() { + validateJSON("struct-defs-01-t-manual") + } + + func testPaintingControl03() { + validateJSON("painting-control-03-f-manual") } } diff --git a/MacawTests/SceneSerialization.swift b/MacawTests/SceneSerialization.swift index 43ab00a1..86014171 100644 --- a/MacawTests/SceneSerialization.swift +++ b/MacawTests/SceneSerialization.swift @@ -7,7 +7,7 @@ // import UIKit -import Macaw +@testable import Macaw protocol Initializable { init() @@ -80,6 +80,15 @@ class NodeSerializer { } return Group(contents: nodes) } + factories["Canvas"] = { dictionary in + let layout = SVGNodeLayout(dictionary: dictionary["layout"] as! [String : Any]) + let contents = dictionary["contents"] as! [[String:Any]] + var nodes = [Node]() + for dict in contents { + nodes.append(self.instance(dictionary: dict)) + } + return SVGCanvas(layout: layout, contents: nodes) + } } func instance(dictionary: [String:Any]) -> Node { @@ -98,7 +107,14 @@ class NodeSerializer { extension Node { func baseToDictionary() -> [String:Any] { - var result = ["place": place.toString(), "opaque": String(describing: opaque), "opacity": String(describing: opacity)] as [String : Any] + var result = [String : Any]() + if place != .identity { + result["place"] = place.toString() + } + if !opaque { + result["opaque"] = String(describing: opaque) + result["opacity"] = String(describing: opacity) + } if let clip = clip as? Serializable { result["clip"] = clip.toDictionary() } @@ -148,6 +164,10 @@ extension Text: Serializable { extension Group: Serializable { func toDictionary() -> [String:Any] { + if let canvas = self as? SVGCanvas { + return canvas.canvasDictionary() + } + var nodes = [[String:Any]]() for node in contents { if let node = node as? Serializable { @@ -161,6 +181,80 @@ extension Group: Serializable { } } +extension SVGCanvas { + + func canvasDictionary() -> [String:Any] { + var nodes = [[String:Any]]() + for node in contents { + if let node = node as? Serializable { + nodes.append(node.toDictionary()) + } + } + var result = super.baseToDictionary() + result["node"] = "Canvas" + result["layout"] = (layout as! SVGNodeLayout).toDictionary() + result["contents"] = nodes + return result + } +} + +extension SVGNodeLayout: Serializable { + + func toDictionary() -> [String:Any] { + return ["svgSize" : svgSize?.toDictionary() as Any, + "viewBox" : viewBox?.toDictionary() as Any, + "scalingMode" : scalingMode.toString(), + "xAligningMode" : xAligningMode.toString(), + "yAligningMode" : yAligningMode.toString()] + } + + convenience init(dictionary: [String:Any]) { + let viewBox = LocusSerializer().instance(dictionary: dictionary["viewBox"] as! [String:Any]) as? Rect + self.init(svgSize: SVGSize(dictionary: dictionary["svgSize"] as! [String : Any]), + viewBox: viewBox, + scalingMode: AspectRatio.instantiate(string: dictionary["scalingMode"] as! String), + xAligningMode: Align.instantiate(string: dictionary["xAligningMode"] as! String), + yAligningMode: Align.instantiate(string: dictionary["yAligningMode"] as! String) + ) + } +} + +extension SVGSize: Serializable { + + func toDictionary() -> [String:Any] { + return ["width" : width.toString(), "height": height.toString()] + } + + convenience init(dictionary: [String:Any]) { + self.init(width: SVGLength(string: dictionary["width"] as? String), height: SVGLength(string: dictionary["height"] as? String)) + } +} + +extension SVGLength { + + func toString() -> String { + switch(self) { + case let .percent(percent): + return "\(percent)%" + case let .pixels(pixels): + return String(describing: pixels) + } + } + + init(string: String?) { + self.init(pixels: 0) + guard let string = string else { + return + } + if string.hasSuffix("%") { + self = SVGLength.percent(Double(string.dropLast())!) + } else { + self = SVGLength.pixels(Double(string)!) + } + } +} + + class LocusSerializer { var factories = [String:([String:Any]) -> Locus]() @@ -408,6 +502,30 @@ extension Align { } } +extension AspectRatio { + + func toString() -> String { + if self === AspectRatio.meet { + return "meet" + } + if self === AspectRatio.slice { + return "slice" + } + return "none" + } + + static func instantiate(string: String) -> AspectRatio { + switch string { + case "meet": + return .meet + case "slice": + return .slice + default: + return .none + } + } +} + fileprivate func typeForString(_ string: String) -> PathSegmentType { switch(string) { case "M": return .M diff --git a/MacawTests/w3cSVGTests/color-prop-01-b-manual.reference b/MacawTests/w3cSVGTests/color-prop-01-b-manual.reference new file mode 100644 index 00000000..c832d6dc --- /dev/null +++ b/MacawTests/w3cSVGTests/color-prop-01-b-manual.reference @@ -0,0 +1,186 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "form" : { + "cy" : 80, + "type" : "Circle", + "r" : 60, + "cx" : 130 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "dashes" : [ + + ], + "width" : 4 + }, + "form" : { + "cy" : 80, + "type" : "Circle", + "r" : 60, + "cx" : 350 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "contents" : [ + { + "form" : { + "x" : 60, + "w" : 360, + "type" : "Rect", + "y" : 215, + "h" : 80 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "fill", + "place" : "1, 0, 0, 1, 120, 170", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 30, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "stroke", + "place" : "1, 0, 0, 1, 310, 170", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 30, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "stop-color", + "place" : "1, 0, 0, 1, 180, 205", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 30, + "weight" : "normal" + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.8 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/color-prop-01-b-manual.svg b/MacawTests/w3cSVGTests/color-prop-01-b-manual.svg new file mode 100755 index 00000000..ba5f1085 --- /dev/null +++ b/MacawTests/w3cSVGTests/color-prop-01-b-manual.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + +

+ This tests the 'color' property and the 'currentColor' value on fill, stroke, and stop-color properties. +

+ + +

+ Run the test. No interaction required. +

+ +
+ +

+ There are three subtests. The first subtest, to the top left, is passed if the circle has a green fill. The second subtest, + to the top right, is passed if the circle has a green stroke. The third subtest shows a rectangle + with a gradient fill, which has three stops. The subtest is passed if central stop is green, + fading off to blue to the left and pale yellow to the right. +

+
+ + $RCSfile: color-prop-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fill + stroke + stop-color + + + + $Revision: 1.8 $ + + + + + diff --git a/MacawTests/w3cSVGTests/color-prop-02-f-manual.reference b/MacawTests/w3cSVGTests/color-prop-02-f-manual.reference index 3918f137..918a6767 100644 --- a/MacawTests/w3cSVGTests/color-prop-02-f-manual.reference +++ b/MacawTests/w3cSVGTests/color-prop-02-f-manual.reference @@ -1,670 +1,540 @@ { - "place" : "1, 0, 0, 1, 0, 0", - "node" : "Group", - "opaque" : "true", - "opacity" : "1.0", + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, "contents" : [ { - "place" : "1, 0, 0, 1, 0, 0", - "node" : "Group", - "opaque" : "true", - "opacity" : "1.0", "contents" : [ { - "place" : "1, 0, 0, 1, 0, 0", - "node" : "Group", - "opaque" : "true", - "opacity" : "1.0", "contents" : [ { - "place" : "1, 0, 0, 1, 0, 0", + "fill" : { + "type" : "Color", + "val" : 14423100 + }, "form" : { "cy" : 40, "type" : "Circle", "r" : 20, "cx" : 75 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 14423100 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 40, "type" : "Circle", "r" : 20, "cx" : 115 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 14423100 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 80, "type" : "Circle", "r" : 20, "cx" : 75 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 14423100 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 80, "type" : "Circle", "r" : 20, "cx" : 115 }, - "node" : "Shape", - "opaque" : "true", - "fill" : { - "type" : "Color", - "val" : 14423100 - }, - "opacity" : "1.0" + "node" : "Shape" } - ] + ], + "node" : "Group" }, { - "place" : "1, 0, 0, 1, 0, 0", - "node" : "Group", - "opaque" : "true", - "opacity" : "1.0", "contents" : [ { - "place" : "1, 0, 0, 1, 0, 0", + "fill" : { + "type" : "Color", + "val" : 10025880 + }, "form" : { "cy" : 40, "type" : "Circle", "r" : 20, "cx" : 200 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 10025880 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 40, "type" : "Circle", "r" : 20, "cx" : 240 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 10025880 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 80, "type" : "Circle", "r" : 20, "cx" : 200 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 10025880 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 80, "type" : "Circle", "r" : 20, "cx" : 240 }, - "node" : "Shape", - "opaque" : "true", - "fill" : { - "type" : "Color", - "val" : 10025880 - }, - "opacity" : "1.0" + "node" : "Shape" } - ] + ], + "node" : "Group" }, { - "place" : "1, 0, 0, 1, 0, 0", - "node" : "Group", - "opaque" : "true", - "opacity" : "1.0", "contents" : [ { - "place" : "1, 0, 0, 1, 0, 0", + "fill" : { + "type" : "Color", + "val" : 4286945 + }, "form" : { "cy" : 40, "type" : "Circle", "r" : 20, "cx" : 325 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 4286945 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 40, "type" : "Circle", "r" : 20, "cx" : 365 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 4286945 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 80, "type" : "Circle", "r" : 20, "cx" : 325 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 4286945 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 80, "type" : "Circle", "r" : 20, "cx" : 365 }, - "node" : "Shape", - "opaque" : "true", - "fill" : { - "type" : "Color", - "val" : 4286945 - }, - "opacity" : "1.0" + "node" : "Shape" } - ] + ], + "node" : "Group" }, { - "place" : "1, 0, 0, 1, 0, 0", - "node" : "Group", - "opaque" : "true", - "opacity" : "1.0", "contents" : [ { - "place" : "1, 0, 0, 1, 0, 0", + "fill" : { + "type" : "Color", + "val" : 11674146 + }, "form" : { "cy" : 135, "type" : "Circle", "r" : 20, "cx" : 75 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 11674146 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 135, "type" : "Circle", "r" : 20, "cx" : 115 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 11674146 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 175, "type" : "Circle", "r" : 20, "cx" : 75 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 11674146 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 175, "type" : "Circle", "r" : 20, "cx" : 115 }, - "node" : "Shape", - "opaque" : "true", - "fill" : { - "type" : "Color", - "val" : 11674146 - }, - "opacity" : "1.0" + "node" : "Shape" } - ] + ], + "node" : "Group" }, { - "place" : "1, 0, 0, 1, 0, 0", - "node" : "Group", - "opaque" : "true", - "opacity" : "1.0", "contents" : [ { - "place" : "1, 0, 0, 1, 0, 0", + "fill" : { + "type" : "Color", + "val" : 3050327 + }, "form" : { "cy" : 135, "type" : "Circle", "r" : 20, "cx" : 200 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 3050327 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 135, "type" : "Circle", "r" : 20, "cx" : 240 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 3050327 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 175, "type" : "Circle", "r" : 20, "cx" : 200 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 3050327 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 175, "type" : "Circle", "r" : 20, "cx" : 240 }, - "node" : "Shape", - "opaque" : "true", - "fill" : { - "type" : "Color", - "val" : 3050327 - }, - "opacity" : "1.0" + "node" : "Shape" } - ] + ], + "node" : "Group" }, { - "place" : "1, 0, 0, 1, 0, 0", - "node" : "Group", - "opaque" : "true", - "opacity" : "1.0", "contents" : [ { - "place" : "1, 0, 0, 1, 0, 0", + "fill" : { + "type" : "Color", + "val" : 205 + }, "form" : { "cy" : 135, "type" : "Circle", "r" : 20, "cx" : 325 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 205 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 135, "type" : "Circle", "r" : 20, "cx" : 365 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 205 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 175, "type" : "Circle", "r" : 20, "cx" : 325 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 205 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 175, "type" : "Circle", "r" : 20, "cx" : 365 }, - "node" : "Shape", - "opaque" : "true", - "fill" : { - "type" : "Color", - "val" : 205 - }, - "opacity" : "1.0" + "node" : "Shape" } - ] + ], + "node" : "Group" }, { - "place" : "1, 0, 0, 1, 0, 0", - "node" : "Group", - "opaque" : "true", - "opacity" : "1.0", "contents" : [ { - "place" : "1, 0, 0, 1, 0, 0", + "fill" : { + "type" : "Color", + "val" : 13458524 + }, "form" : { "cy" : 230, "type" : "Circle", "r" : 20, "cx" : 75 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 13458524 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 230, "type" : "Circle", "r" : 20, "cx" : 115 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 13458524 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 270, "type" : "Circle", "r" : 20, "cx" : 75 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 13458524 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 270, "type" : "Circle", "r" : 20, "cx" : 115 }, - "node" : "Shape", - "opaque" : "true", - "fill" : { - "type" : "Color", - "val" : 13458524 - }, - "opacity" : "1.0" + "node" : "Shape" } - ] + ], + "node" : "Group" }, { - "place" : "1, 0, 0, 1, 0, 0", - "node" : "Group", - "opaque" : "true", - "opacity" : "1.0", "contents" : [ { - "place" : "1, 0, 0, 1, 0, 0", + "fill" : { + "type" : "Color", + "val" : 8190976 + }, "form" : { "cy" : 230, "type" : "Circle", "r" : 20, "cx" : 200 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 8190976 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 230, "type" : "Circle", "r" : 20, "cx" : 240 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 8190976 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 270, "type" : "Circle", "r" : 20, "cx" : 200 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 8190976 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 270, "type" : "Circle", "r" : 20, "cx" : 240 }, - "node" : "Shape", - "opaque" : "true", - "fill" : { - "type" : "Color", - "val" : 8190976 - }, - "opacity" : "1.0" + "node" : "Shape" } - ] + ], + "node" : "Group" }, { - "place" : "1, 0, 0, 1, 0, 0", - "node" : "Group", - "opaque" : "true", - "opacity" : "1.0", "contents" : [ { - "place" : "1, 0, 0, 1, 0, 0", + "fill" : { + "type" : "Color", + "val" : 4772300 + }, "form" : { "cy" : 230, "type" : "Circle", "r" : 20, "cx" : 325 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 4772300 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 230, "type" : "Circle", "r" : 20, "cx" : 365 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 4772300 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 270, "type" : "Circle", "r" : 20, "cx" : 325 }, - "node" : "Shape", - "opaque" : "true", + "node" : "Shape" + }, + { "fill" : { "type" : "Color", "val" : 4772300 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 270, "type" : "Circle", "r" : 20, "cx" : 365 }, - "node" : "Shape", - "opaque" : "true", - "fill" : { - "type" : "Color", - "val" : 4772300 - }, - "opacity" : "1.0" + "node" : "Shape" } - ] + ], + "node" : "Group" } - ] + ], + "node" : "Group" }, { - "place" : "1, 0, 0, 1, 0, 0", - "node" : "Group", - "opaque" : "true", - "opacity" : "1.0", "contents" : [ { "baseline" : "bottom", @@ -675,29 +545,17 @@ "node" : "Text", "align" : "min", "text" : "$Revision: 1.9 $", - "opacity" : "1.0", "place" : "1, 0, 0, 1, 10, 340", - "opaque" : "true", "font" : { "name" : "SVGFreeSansASCII,sans-serif", "size" : 32, "weight" : "normal" } } - ] + ], + "node" : "Group" }, { - "place" : "1, 0, 0, 1, 0, 0", - "form" : { - "x" : 1, - "w" : 478, - "type" : "Rect", - "y" : 1, - "h" : 358 - }, - "node" : "Shape", - "opaque" : "true", - "opacity" : "1.0", "stroke" : { "join" : "miter", "cap" : "butt", @@ -709,7 +567,16 @@ ], "width" : 1 - } + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" } - ] + ], + "node" : "Canvas" } \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/color-prop-03-t-manual.reference b/MacawTests/w3cSVGTests/color-prop-03-t-manual.reference new file mode 100644 index 00000000..0a6c0047 --- /dev/null +++ b/MacawTests/w3cSVGTests/color-prop-03-t-manual.reference @@ -0,0 +1,471 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "cy" : 40, + "type" : "Circle", + "r" : 20, + "cx" : 75 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "cy" : 40, + "type" : "Circle", + "r" : 20, + "cx" : 115 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "cy" : 80, + "type" : "Circle", + "r" : 20, + "cx" : 75 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "cy" : 80, + "type" : "Circle", + "r" : 20, + "cx" : 115 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 95, + 40, + 115, + 60, + 95, + 80, + 75, + 60 + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 65280 + }, + "form" : { + "cy" : 40, + "type" : "Circle", + "r" : 20, + "cx" : 200 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 65280 + }, + "form" : { + "cy" : 40, + "type" : "Circle", + "r" : 20, + "cx" : 240 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 65280 + }, + "form" : { + "cy" : 80, + "type" : "Circle", + "r" : 20, + "cx" : 200 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 65280 + }, + "form" : { + "cy" : 80, + "type" : "Circle", + "r" : 20, + "cx" : 240 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 65280 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 220, + 40, + 240, + 60, + 220, + 80, + 200, + 60 + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "cy" : 40, + "type" : "Circle", + "r" : 20, + "cx" : 325 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "cy" : 40, + "type" : "Circle", + "r" : 20, + "cx" : 365 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "cy" : 80, + "type" : "Circle", + "r" : 20, + "cx" : 325 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "cy" : 80, + "type" : "Circle", + "r" : 20, + "cx" : 365 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 345, + 40, + 365, + 60, + 345, + 80, + 325, + 60 + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 11141137 + }, + "form" : { + "cy" : 135, + "type" : "Circle", + "r" : 20, + "cx" : 75 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 11141137 + }, + "form" : { + "cy" : 135, + "type" : "Circle", + "r" : 20, + "cx" : 115 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 11141137 + }, + "form" : { + "cy" : 175, + "type" : "Circle", + "r" : 20, + "cx" : 75 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 11206674 + }, + "form" : { + "cy" : 175, + "type" : "Circle", + "r" : 20, + "cx" : 115 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 3390259 + }, + "form" : { + "cy" : 135, + "type" : "Circle", + "r" : 20, + "cx" : 200 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 3390259 + }, + "form" : { + "cy" : 135, + "type" : "Circle", + "r" : 20, + "cx" : 240 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 3390259 + }, + "form" : { + "cy" : 175, + "type" : "Circle", + "r" : 20, + "cx" : 200 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 3390259 + }, + "form" : { + "cy" : 175, + "type" : "Circle", + "r" : 20, + "cx" : 240 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 5601262 + }, + "form" : { + "cy" : 135, + "type" : "Circle", + "r" : 20, + "cx" : 325 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 5601262 + }, + "form" : { + "cy" : 135, + "type" : "Circle", + "r" : 20, + "cx" : 365 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 5601262 + }, + "form" : { + "cy" : 175, + "type" : "Circle", + "r" : 20, + "cx" : 325 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 5601262 + }, + "form" : { + "cy" : 175, + "type" : "Circle", + "r" : 20, + "cx" : 365 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.9 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/color-prop-03-t-manual.svg b/MacawTests/w3cSVGTests/color-prop-03-t-manual.svg new file mode 100755 index 00000000..c8c95085 --- /dev/null +++ b/MacawTests/w3cSVGTests/color-prop-03-t-manual.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + +

+ Tests if the color datatype is supported. There are multiple syntaxes for + specifying the same color, such as #37F and #3377FF. +For each of the six groups shown here, + each of the circles in the group uses one of the syntactical forms +

+

+ The first row uses five forms - 3-digit hex, 6-digit hex, rbg() integer form, rgb() percentage form, + and the 'HTML' subset of the name ('X11') colors. +

+

+ The second row uses only four forms - 3-digit hex, 6-digit hex, rbg() integer form, rgb() percentage form - + as there are no HTML or X11 names for those colors. +

+ + +

+ Run the test. No interaction required. +

+ +
+ +

+ For each of the six groups of circles shown here, all circles must + be identical in color, and the same color as in the reference image. +

+
+ + $RCSfile: color-prop-03-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.9 $ + + + + + diff --git a/MacawTests/w3cSVGTests/coords-coord-01-t-manual.reference b/MacawTests/w3cSVGTests/coords-coord-01-t-manual.reference new file mode 100644 index 00000000..91890f80 --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-coord-01-t-manual.reference @@ -0,0 +1,220 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 0, + "type" : "Line", + "x1" : 0, + "x2" : 150, + "y2" : 0 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 5 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 0, + "type" : "Line", + "x1" : 0, + "x2" : 0, + "y2" : 150 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 5 + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 15, + "type" : "Rect", + "y" : 0, + "h" : 15 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 150, + "w" : 15, + "type" : "Rect", + "y" : 0, + "h" : 15 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 15, + "type" : "Rect", + "y" : 150, + "h" : 15 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 0, + "w" : 10, + "type" : "Rect", + "y" : 0, + "h" : 10 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 150, + "w" : 10, + "type" : "Rect", + "y" : 0, + "h" : 10 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 0, + "w" : 10, + "type" : "Rect", + "y" : 150, + "h" : 10 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/coords-coord-01-t-manual.svg b/MacawTests/w3cSVGTests/coords-coord-01-t-manual.svg new file mode 100755 index 00000000..0019667c --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-coord-01-t-manual.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + +

+ Tests the default initial coordinate system used by renderer. +

+

Should be 0,0 if not specified. This is illustrated by comparing blue boxes that are + missing a coordinate or all coordinates with yellow boxes that have the + correct coordinates specified. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there are three blue boxes, + with small yellow boxes rendered on top of them. These boxes should be + placed along the origin, and x and y axis. +

+
+ + $RCSfile: coords-coord-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/MacawTests/w3cSVGTests/coords-coord-02-t-manual.reference b/MacawTests/w3cSVGTests/coords-coord-02-t-manual.reference new file mode 100644 index 00000000..66ec03bd --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-coord-02-t-manual.reference @@ -0,0 +1,220 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 0, + "type" : "Line", + "x1" : 0, + "x2" : 150, + "y2" : 0 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 5 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 0, + "type" : "Line", + "x1" : 0, + "x2" : 0, + "y2" : 150 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 5 + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 15, + "type" : "Rect", + "y" : 0, + "h" : 15 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 150, + "w" : 15, + "type" : "Rect", + "y" : 0, + "h" : 15 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 15, + "type" : "Rect", + "y" : 150, + "h" : 15 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 0, + "w" : 10, + "type" : "Rect", + "y" : 0, + "h" : 10 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 150, + "w" : 10, + "type" : "Rect", + "y" : 0, + "h" : 10 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 0, + "w" : 10, + "type" : "Rect", + "y" : 150, + "h" : 10 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.7 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/coords-coord-02-t-manual.svg b/MacawTests/w3cSVGTests/coords-coord-02-t-manual.svg new file mode 100755 index 00000000..a6b0a55c --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-coord-02-t-manual.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + +

+ Tests the default units used for the initial coordinate system. This is + illustrated by comparing blue boxes that have no units specified for their + coordinates, with yellow boxes that have px units specified for their + coordinates. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ This test should produce three blue boxes, with small yellow + boxes rendered on top of them. These boxes should be placed along the + origin, x and y axis. +

+
+ + $RCSfile: coords-coord-02-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/MacawTests/w3cSVGTests/coords-trans-01-b-manual.reference b/MacawTests/w3cSVGTests/coords-trans-01-b-manual.reference new file mode 100644 index 00000000..bc027ccc --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-trans-01-b-manual.reference @@ -0,0 +1,2665 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : "1, 0, 0, 1, 0, 30", + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 10.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 20.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 20.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 30.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 30.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 40.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 40.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 50.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 50.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 60.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 60.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 70.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 70.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 80.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 80.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 90.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 90.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 100.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 100.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 110.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 110.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 120.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 120.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 130.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 130.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 140.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 140.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 150.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 150.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 160.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 160.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 170.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 170.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 180.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 180.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 190.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 190.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 200.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 200.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 210.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 210.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 220.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 220.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 230.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 230.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 240.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 240.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 250.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 250.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 260.5, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 10.5, + "x2" : 10.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 20.5, + "x2" : 20.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 30.5, + "x2" : 30.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 40.5, + "x2" : 40.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 50.5, + "x2" : 50.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 60.5, + "x2" : 60.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 70.5, + "x2" : 70.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 80.5, + "x2" : 80.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 90.5, + "x2" : 90.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 100.5, + "x2" : 100.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 110.5, + "x2" : 110.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 120.5, + "x2" : 120.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 130.5, + "x2" : 130.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 140.5, + "x2" : 140.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 150.5, + "x2" : 150.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 160.5, + "x2" : 160.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 170.5, + "x2" : 170.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 180.5, + "x2" : 180.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 190.5, + "x2" : 190.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 200.5, + "x2" : 200.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 210.5, + "x2" : 210.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 220.5, + "x2" : 220.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 230.5, + "x2" : 230.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 240.5, + "x2" : 240.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 250.5, + "x2" : 250.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 260.5, + "x2" : 260.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 270.5, + "x2" : 270.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 280.5, + "x2" : 280.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 290.5, + "x2" : 290.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 300.5, + "x2" : 300.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 310.5, + "x2" : 310.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 320.5, + "x2" : 320.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 330.5, + "x2" : 330.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 340.5, + "x2" : 340.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 350.5, + "x2" : 350.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 360.5, + "x2" : 360.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 370.5, + "x2" : 370.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 380.5, + "x2" : 380.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 390.5, + "x2" : 390.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 400.5, + "x2" : 400.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 410.5, + "x2" : 410.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 420.5, + "x2" : 420.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 430.5, + "x2" : 430.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 440.5, + "x2" : 440.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 450.5, + "x2" : 450.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 460.5, + "x2" : 460.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 470.5, + "x2" : 470.5, + "y2" : 260.5 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 13421772 + }, + "dashes" : [ + + ], + "width" : 1 + } + } + ], + "node" : "Group" + }, + { + "place" : "1, 0, 0, 1, 0, 10", + "contents" : [ + { + "contents" : [ + { + "place" : "1, 0, 0, 1, 50, 50", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 20, + "type" : "Rect", + "y" : 0, + "h" : 2 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 2, + "type" : "Rect", + "y" : 0, + "h" : 20 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "place" : "0, -1, 1, 0, 150, 70", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 20, + "type" : "Rect", + "y" : 0, + "h" : 2 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 2, + "type" : "Rect", + "y" : 0, + "h" : 20 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "place" : "1, 0, 1, 1, 250, 50", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 20, + "type" : "Rect", + "y" : 0, + "h" : 2 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 2, + "type" : "Rect", + "y" : 0, + "h" : 20 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "place" : "1, 1, 0, 1, 350, 50", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 20, + "type" : "Rect", + "y" : 0, + "h" : 2 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 2, + "type" : "Rect", + "y" : 0, + "h" : 20 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "place" : "2, 0, 0, 2, 210, 120", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 20, + "type" : "Rect", + "y" : 0, + "h" : 1 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 1, + "type" : "Rect", + "y" : 0, + "h" : 20 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "translate (50, 50)", + "place" : "1, 0, 0, 1, 40, 40", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 13, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 48, + "w" : 5, + "type" : "Rect", + "y" : 48, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 68, + "w" : 5, + "type" : "Rect", + "y" : 48, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 48, + "w" : 5, + "type" : "Rect", + "y" : 68, + "h" : 5 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "rotate(-90)", + "place" : "1, 0, 0, 1, 140, 40", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 13, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 148, + "w" : 5, + "type" : "Rect", + "y" : 68, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 148, + "w" : 5, + "type" : "Rect", + "y" : 48, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 168, + "w" : 5, + "type" : "Rect", + "y" : 68, + "h" : 5 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "skew x (45)", + "place" : "1, 0, 0, 1, 240, 40", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 13, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 248, + "w" : 5, + "type" : "Rect", + "y" : 48, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 268, + "w" : 5, + "type" : "Rect", + "y" : 48, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 268, + "w" : 5, + "type" : "Rect", + "y" : 68, + "h" : 5 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "skew y (45)", + "place" : "1, 0, 0, 1, 340, 40", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 13, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 348, + "w" : 5, + "type" : "Rect", + "y" : 48, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 368, + "w" : 5, + "type" : "Rect", + "y" : 68, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 348, + "w" : 5, + "type" : "Rect", + "y" : 68, + "h" : 5 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "scale (2)", + "place" : "1, 0, 0, 1, 200, 110", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 13, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 208, + "w" : 5, + "type" : "Rect", + "y" : 118, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 248, + "w" : 5, + "type" : "Rect", + "y" : 118, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 208, + "w" : 5, + "type" : "Rect", + "y" : 158, + "h" : 5 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "contents" : [ + { + "place" : "3, 0, 0, 2, 50.000001, 210", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 20, + "type" : "Rect", + "y" : 0, + "h" : 1 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 0.67000000000000004, + "type" : "Rect", + "y" : 0, + "h" : 20 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "place" : "1, 0, 0, 1, 200, 0", + "contents" : [ + { + "place" : "3, 0, 0, 2, 0, 0", + "contents" : [ + { + "place" : "1, 0, 0, 1, 16.666667, 105", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 20, + "type" : "Rect", + "y" : 0, + "h" : 1 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 0.67000000000000004, + "type" : "Rect", + "y" : 0, + "h" : 20 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "scale(25, 95) and translate(2, 2)", + "place" : "1, 0, 0, 1, 40, 200", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 13, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 48, + "w" : 5, + "type" : "Rect", + "y" : 208, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 108, + "w" : 5, + "type" : "Rect", + "y" : 208, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 48, + "w" : 5, + "type" : "Rect", + "y" : 248, + "h" : 5 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "scale(25, 95) then translate(2, 2)", + "place" : "1, 0, 0, 1, 240, 200", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 13, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 248, + "w" : 5, + "type" : "Rect", + "y" : 208, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 308, + "w" : 5, + "type" : "Rect", + "y" : 208, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 248, + "w" : 5, + "type" : "Rect", + "y" : 248, + "h" : 5 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/coords-trans-01-b-manual.svg b/MacawTests/w3cSVGTests/coords-trans-01-b-manual.svg new file mode 100755 index 00000000..19431e0f --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-trans-01-b-manual.svg @@ -0,0 +1,239 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of transforms. It tests elementary transforms + and transform nesting. + Note that for layout purposes, this test uses nesting of translation with the elementary transforms. +

+

+ The test uses the rect element, the fill color (solid primary colors) and transforms. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: coords-trans-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + translate (50, 50) + + + + + rotate(-90) + + + + + skew x (45) + + + + + skew y (45) + + + + + scale (2) + + + + + + + + + + + + + + + + + + + + + + + + + + + scale(25, 95) and translate(2, 2) + + + + + scale(25, 95) then translate(2, 2) + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/MacawTests/w3cSVGTests/coords-trans-02-t-manual.reference b/MacawTests/w3cSVGTests/coords-trans-02-t-manual.reference new file mode 100644 index 00000000..50edea52 --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-trans-02-t-manual.reference @@ -0,0 +1,277 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : "1, 0, 0, 1, 0, 30", + "contents" : [ + { + "place" : "1, 0, 0, 1, 0, 10", + "contents" : [ + { + "place" : "2.5, 0, 0, 2.5, -30, 0", + "contents" : [ + { + "place" : "1, 0, 0, 1, 50, 50", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 20, + "type" : "Rect", + "y" : 0, + "h" : 2 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 2, + "type" : "Rect", + "y" : 0, + "h" : 20 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "place" : "0, -1, 1, 0, 150, 70", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 20, + "type" : "Rect", + "y" : 0, + "h" : 2 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 2, + "type" : "Rect", + "y" : 0, + "h" : 20 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "place" : "2.5, 0, 0, 2.5, -30, 0", + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "translate (50, 50)", + "place" : "1, 0, 0, 1, 40, 40", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 48, + "w" : 5, + "type" : "Rect", + "y" : 48, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 68, + "w" : 5, + "type" : "Rect", + "y" : 48, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 48, + "w" : 5, + "type" : "Rect", + "y" : 68, + "h" : 5 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "rotate(-90)", + "place" : "1, 0, 0, 1, 140, 40", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 148, + "w" : 5, + "type" : "Rect", + "y" : 68, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 148, + "w" : 5, + "type" : "Rect", + "y" : 48, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 168, + "w" : 5, + "type" : "Rect", + "y" : 68, + "h" : 5 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/coords-trans-02-t-manual.svg b/MacawTests/w3cSVGTests/coords-trans-02-t-manual.svg new file mode 100755 index 00000000..ef3ab1a8 --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-trans-02-t-manual.svg @@ -0,0 +1,176 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of transforms. It tests elementary transforms + and transform nesting. + Note that for layout purposes, this test uses nesting of translation with the elementary transforms. +

+

+ The test uses the rect element, the fill color (solid primary colors) and transforms. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: coords-trans-02-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + translate (50, 50) + + + + + rotate(-90) + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/MacawTests/w3cSVGTests/coords-trans-03-t-manual.reference b/MacawTests/w3cSVGTests/coords-trans-03-t-manual.reference new file mode 100644 index 00000000..2ee2adfa --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-trans-03-t-manual.reference @@ -0,0 +1,277 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : "1, 0, 0, 1, 0, 30", + "contents" : [ + { + "place" : "1, 0, 0, 1, 0, 10", + "contents" : [ + { + "place" : "2.5, 0, 0, 2.5, -560, 0", + "contents" : [ + { + "place" : "1, 0, 1, 1, 250, 50", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 20, + "type" : "Rect", + "y" : 0, + "h" : 2 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 2, + "type" : "Rect", + "y" : 0, + "h" : 20 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "place" : "1, 1, 0, 1, 350, 50", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 20, + "type" : "Rect", + "y" : 0, + "h" : 2 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 2, + "type" : "Rect", + "y" : 0, + "h" : 20 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "place" : "2.5, 0, 0, 2.5, -560, 0", + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "skew x (45)", + "place" : "1, 0, 0, 1, 240, 40", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 248, + "w" : 5, + "type" : "Rect", + "y" : 48, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 268, + "w" : 5, + "type" : "Rect", + "y" : 48, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 268, + "w" : 5, + "type" : "Rect", + "y" : 68, + "h" : 5 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "skew y (45)", + "place" : "1, 0, 0, 1, 340, 40", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 348, + "w" : 5, + "type" : "Rect", + "y" : 48, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 368, + "w" : 5, + "type" : "Rect", + "y" : 68, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 348, + "w" : 5, + "type" : "Rect", + "y" : 68, + "h" : 5 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/coords-trans-03-t-manual.svg b/MacawTests/w3cSVGTests/coords-trans-03-t-manual.svg new file mode 100755 index 00000000..b1c507c9 --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-trans-03-t-manual.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of transforms. It tests elementary transforms + and transform nesting. + Note that for layout purposes, this test uses nesting of translation with the elementary transforms. +

+

+ The test uses the rect element, the fill color (solid primary colors) and transforms. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: coords-trans-03-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + skew x (45) + + + + + skew y (45) + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/MacawTests/w3cSVGTests/coords-trans-04-t-manual.reference b/MacawTests/w3cSVGTests/coords-trans-04-t-manual.reference new file mode 100644 index 00000000..eedf7c7d --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-trans-04-t-manual.reference @@ -0,0 +1,184 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : "1, 0, 0, 1, 0, 30", + "contents" : [ + { + "contents" : [ + { + "place" : "2.5, 0, 0, 2.5, 60, 45", + "contents" : [ + { + "place" : "2, 0, 0, 2, 40, 10", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 20, + "type" : "Rect", + "y" : 0, + "h" : 1 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 1, + "type" : "Rect", + "y" : 0, + "h" : 20 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "place" : "2.5, 0, 0, 2.5, -364, -230", + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "scale (2)", + "place" : "1, 0, 0, 1, 200, 110", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 208, + "w" : 5, + "type" : "Rect", + "y" : 118, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 248, + "w" : 5, + "type" : "Rect", + "y" : 118, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 208, + "w" : 5, + "type" : "Rect", + "y" : 158, + "h" : 5 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/coords-trans-04-t-manual.svg b/MacawTests/w3cSVGTests/coords-trans-04-t-manual.svg new file mode 100755 index 00000000..3ca36308 --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-trans-04-t-manual.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of transforms. It tests elementary transforms + and transform nesting. + Note that for layout purposes, this test uses nesting of translation with the elementary transforms. +

+

+ The test uses the rect element, the fill color (solid primary colors) and transforms. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: coords-trans-04-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + scale (2) + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/MacawTests/w3cSVGTests/coords-trans-05-t-manual.reference b/MacawTests/w3cSVGTests/coords-trans-05-t-manual.reference new file mode 100644 index 00000000..723e46fc --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-trans-05-t-manual.reference @@ -0,0 +1,184 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : "1, 0, 0, 1, 0, 30", + "contents" : [ + { + "contents" : [ + { + "place" : "1, 0, 0, 1, -90, -450", + "contents" : [ + { + "place" : "7.5, 0, 0, 5, 125.000002, 525", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 20, + "type" : "Rect", + "y" : 0, + "h" : 1 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 0.67000000000000004, + "type" : "Rect", + "y" : 0, + "h" : 20 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "place" : "2.5, 0, 0, 2.5, -90, -450", + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "scale(25, 95) - translate(2, 2)", + "place" : "1, 0, 0, 1, 40, 200", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 48, + "w" : 5, + "type" : "Rect", + "y" : 208, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 108, + "w" : 5, + "type" : "Rect", + "y" : 208, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 48, + "w" : 5, + "type" : "Rect", + "y" : 248, + "h" : 5 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.7 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/coords-trans-05-t-manual.svg b/MacawTests/w3cSVGTests/coords-trans-05-t-manual.svg new file mode 100755 index 00000000..d0d78bf4 --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-trans-05-t-manual.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of transforms. It tests elementary transforms + and transform nesting. + Note that for layout purposes, this test uses nesting of translation with the elementary transforms. +

+

+ The test uses the rect element, the fill color (solid primary colors) and transforms. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: coords-trans-05-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + scale(25, 95) - translate(2, 2) + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/MacawTests/w3cSVGTests/coords-trans-06-t-manual.reference b/MacawTests/w3cSVGTests/coords-trans-06-t-manual.reference new file mode 100644 index 00000000..59448b6f --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-trans-06-t-manual.reference @@ -0,0 +1,195 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : "1, 0, 0, 1, 0, 30", + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "place" : "1, 0, 0, 1, -102, -450", + "contents" : [ + { + "place" : "7.5, 0, 0, 5, 0, 0", + "contents" : [ + { + "place" : "1, 0, 0, 1, 16.666667, 105", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 20, + "type" : "Rect", + "y" : 0, + "h" : 1 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 0.67000000000000004, + "type" : "Rect", + "y" : 0, + "h" : 20 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "place" : "2.5, 0, 0, 2.5, -600, -450", + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "scale(25, 95) then translate(2, 2)", + "place" : "1, 0, 0, 1, 248, 200", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 248, + "w" : 5, + "type" : "Rect", + "y" : 208, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 308, + "w" : 5, + "type" : "Rect", + "y" : 208, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 248, + "w" : 5, + "type" : "Rect", + "y" : 248, + "h" : 5 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/coords-trans-06-t-manual.svg b/MacawTests/w3cSVGTests/coords-trans-06-t-manual.svg new file mode 100755 index 00000000..9b845b23 --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-trans-06-t-manual.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of transforms. It tests elementary transforms + and transform nesting. + Note that for layout purposes, this test uses nesting of translation with the elementary transforms. +

+

+ The test uses the rect element, the fill color (solid primary colors) and transforms. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: coords-trans-06-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + scale(25, 95) then translate(2, 2) + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/MacawTests/w3cSVGTests/coords-trans-07-t-manual.reference b/MacawTests/w3cSVGTests/coords-trans-07-t-manual.reference new file mode 100644 index 00000000..d3049e5c --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-trans-07-t-manual.reference @@ -0,0 +1,174 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "place" : ".866025, .5, -.5, .866025, 123.205081, 186.60254", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "form" : { + "x" : 0, + "w" : 150, + "type" : "Rect", + "y" : 0, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 5, + "type" : "Rect", + "y" : 0, + "h" : 50 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "rotate+translate", + "place" : "1, 0, 0, 1, 65, 185", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 20, + "weight" : "normal" + } + }, + { + "place" : ".866025, .5, -.5, .866025, 200, 100", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 150, + "type" : "Rect", + "y" : 0, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 5, + "type" : "Rect", + "y" : 0, + "h" : 50 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "translate+rotate", + "place" : "1, 0, 0, 1, 150, 100", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 20, + "weight" : "normal" + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/coords-trans-07-t-manual.svg b/MacawTests/w3cSVGTests/coords-trans-07-t-manual.svg new file mode 100755 index 00000000..f9cb6c44 --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-trans-07-t-manual.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of transforms. It tests elementary transforms + and transform nesting. + Note that for layout purposes, this test uses nesting of translation with the elementary transforms. +

+

+ The test uses the rect element, the fill color (solid primary colors) and transforms. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text - a long blue line at four o'clock and a short red line at seven o'clock below the text "translate+rotate", and, below and to the left of that, a long green line at four o'clock and a short red line at seven o'clock below the text "rotate+translate". +

+
+ + $RCSfile: coords-trans-07-t.svg,v $ + + + + + + + + + + + + + + rotate+translate + + + + + + translate+rotate + + + + $Revision: 1.6 $ + + + + + diff --git a/MacawTests/w3cSVGTests/coords-trans-08-t-manual.reference b/MacawTests/w3cSVGTests/coords-trans-08-t-manual.reference new file mode 100644 index 00000000..64c33e5b --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-trans-08-t-manual.reference @@ -0,0 +1,268 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "place" : "2, 1, 1, 1, 0, 0", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 150, + "type" : "Rect", + "y" : 0, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 5, + "type" : "Rect", + "y" : 0, + "h" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 150, + "w" : 5, + "type" : "Rect", + "y" : 0, + "h" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 0, + "w" : 150, + "type" : "Rect", + "y" : 50, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 8388736 + }, + "form" : { + "ellipse" : { + "cy" : 25, + "type" : "Ellipse", + "ry" : 15, + "rx" : 40, + "cx" : 75 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "skewX(45)+skewY(45)", + "place" : "1, 0, 0, 1, 30, 16", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "place" : "1, 1, 1, 2, 200, 0", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 150, + "type" : "Rect", + "y" : 0, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 5, + "type" : "Rect", + "y" : 0, + "h" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 150, + "w" : 5, + "type" : "Rect", + "y" : 0, + "h" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 0, + "w" : 150, + "type" : "Rect", + "y" : 50, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 8388736 + }, + "form" : { + "ellipse" : { + "cy" : 25, + "type" : "Ellipse", + "ry" : 15, + "rx" : 40, + "cx" : 75 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "skewY(45)+skewX(45)", + "place" : "1, 0, 0, 1, 230, 16", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/coords-trans-08-t-manual.svg b/MacawTests/w3cSVGTests/coords-trans-08-t-manual.svg new file mode 100755 index 00000000..d1cbf594 --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-trans-08-t-manual.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of transforms. It tests elementary transforms + and transform nesting. + Note that for layout purposes, this test uses nesting of translation with the elementary transforms. +

+

+ This test will check if the transfomations performed are carried out in the proper order. The result should differ depending on which transformation comes first. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: coords-trans-08-t.svg,v $ + + + + + + + + + + + + + + + + + skewX(45)+skewY(45) + + + + + + + + + skewY(45)+skewX(45) + + + + $Revision: 1.6 $ + + + + + diff --git a/MacawTests/w3cSVGTests/coords-trans-09-t-manual.reference b/MacawTests/w3cSVGTests/coords-trans-09-t-manual.reference new file mode 100644 index 00000000..19907579 --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-trans-09-t-manual.reference @@ -0,0 +1,424 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "place" : "0, 0, 0, 0, 0, 0", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 150, + "type" : "Rect", + "y" : 0, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 5, + "type" : "Rect", + "y" : 0, + "h" : 50 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "matrix(0 0 0 0 0 0)", + "place" : "1, 0, 0, 1, 6, 20", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 20, + "weight" : "normal" + } + }, + { + "place" : "1, 0, 0, 1, 100, 100", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 150, + "type" : "Rect", + "y" : 0, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 5, + "type" : "Rect", + "y" : 0, + "h" : 50 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "matrix(1 0 0 1 100 100)", + "place" : "1, 0, 0, 1, 100, 100", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 20, + "weight" : "normal" + } + }, + { + "place" : "1.5, 0, 0, 1.5, 70, 60", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 150, + "type" : "Rect", + "y" : 0, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 5, + "type" : "Rect", + "y" : 0, + "h" : 50 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "matrix(1.5 0 0 1.5 70 60)", + "place" : "1, 0, 0, 1, 70, 60", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 20, + "weight" : "normal" + } + }, + { + "place" : "1, 0, .5, 1, 30, 170", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 150, + "type" : "Rect", + "y" : 0, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 5, + "type" : "Rect", + "y" : 0, + "h" : 50 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "matrix(1 0 0.5 1 30 170)", + "place" : "1, 0, 0, 1, 30, 170", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 20, + "weight" : "normal" + } + }, + { + "place" : "1, .5, 0, 1, 100, 200", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 150, + "type" : "Rect", + "y" : 0, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 5, + "type" : "Rect", + "y" : 0, + "h" : 50 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "matrix(1 0.5 0 1 100 200)", + "place" : "1, 0, 0, 1, 100, 200", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 20, + "weight" : "normal" + } + }, + { + "place" : "0, 1, -1, 0, 450, 0", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 150, + "type" : "Rect", + "y" : 0, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 5, + "type" : "Rect", + "y" : 0, + "h" : 50 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "matrix(0 1 -1 0 450 0)", + "place" : "1, 0, 0, 1, 275, 30", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 20, + "weight" : "normal" + } + }, + { + "place" : "1, .8, .8, 1, 300, 220", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 150, + "type" : "Rect", + "y" : 0, + "h" : 5 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 5, + "type" : "Rect", + "y" : 0, + "h" : 50 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "matrix(1 0.8 0.8 1 300 220)", + "place" : "1, 0, 0, 1, 230, 220", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 20, + "weight" : "normal" + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/coords-trans-09-t-manual.svg b/MacawTests/w3cSVGTests/coords-trans-09-t-manual.svg new file mode 100755 index 00000000..d37ef9cc --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-trans-09-t-manual.svg @@ -0,0 +1,102 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of transforms. It tests elementary transforms + and transform nesting. + Note that for layout purposes, this test uses nesting of translation with the elementary transforms. +

+

+ This test will check if the various matrix operations work +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: coords-trans-09-t.svg,v $ + + + + + + + + + + + + + + + matrix(0 0 0 0 0 0) + + + + + + matrix(1 0 0 1 100 100) + + + + + + matrix(1.5 0 0 1.5 70 60) + + + + + + matrix(1 0 0.5 1 30 170) + + + + + + matrix(1 0.5 0 1 100 200) + + + + + + matrix(0 1 -1 0 450 0) + + + + + + matrix(1 0.8 0.8 1 300 220) + + + + + $Revision: 1.6 $ + + + + + diff --git a/MacawTests/w3cSVGTests/coords-transformattr-01-f-manual.reference b/MacawTests/w3cSVGTests/coords-transformattr-01-f-manual.reference new file mode 100644 index 00000000..eb73712e --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-transformattr-01-f-manual.reference @@ -0,0 +1,381 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : ".565685, .565685, -.41411, .71726, 50, 50", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 100, + "type" : "Rect", + "y" : 0, + "h" : 100 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "place" : ".565685, .565685, -.41411, .71726, 50, 50", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 0, + "w" : 100, + "type" : "Rect", + "y" : 0, + "h" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + } + ], + "node" : "Group" + }, + { + "place" : ".565685, .565685, -.41411, .71726, 50, 50", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 125, + "w" : 100, + "type" : "Rect", + "y" : 125, + "h" : 100 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "place" : ".565685, .565685, -.41411, .71726, 50, 50", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 125, + "w" : 100, + "type" : "Rect", + "y" : 125, + "h" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + } + ], + "node" : "Group" + }, + { + "place" : ".565685, .565685, -.41411, .71726, 50, 50", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 150, + "w" : 100, + "type" : "Rect", + "y" : -75, + "h" : 100 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "place" : ".565685, .565685, -.41411, .71726, 50, 50", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 150, + "w" : 100, + "type" : "Rect", + "y" : -75, + "h" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + } + ], + "node" : "Group" + }, + { + "place" : ".565685, .565685, -.41411, .71726, 50, 50", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 300, + "w" : 100, + "type" : "Rect", + "y" : -150, + "h" : 100 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "place" : ".565685, .565685, -.41411, .71726, 50, 50", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 300, + "w" : 100, + "type" : "Rect", + "y" : -150, + "h" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + } + ], + "node" : "Group" + }, + { + "place" : ".565685, .565685, -.41411, .71726, 50, 50", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 400, + "w" : 100, + "type" : "Rect", + "y" : -325, + "h" : 100 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "place" : ".565685, .565685, -.41411, .71726, 50, 50", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 400, + "w" : 100, + "type" : "Rect", + "y" : -325, + "h" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + } + ], + "node" : "Group" + }, + { + "place" : ".565685, .565685, -.41411, .71726, 50, 50", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 500, + "w" : 100, + "type" : "Rect", + "y" : -200, + "h" : 100 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "place" : ".565685, .565685, -.41411, .71726, 50, 50", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 500, + "w" : 100, + "type" : "Rect", + "y" : -200, + "h" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/coords-transformattr-01-f-manual.svg b/MacawTests/w3cSVGTests/coords-transformattr-01-f-manual.svg new file mode 100755 index 00000000..5d8dd8a2 --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-transformattr-01-f-manual.svg @@ -0,0 +1,94 @@ + + + + + + + + + + +

+ Tests that separating transform definitions by whitespace and/or a comma is supported. The test draws a red 'rect' element with a valid, non-delimited transform list. It overlays it with an identical black rectangle with + equivalent transform list delimted by commas and numerical Unicode references of space (U+0020), tab (U+0009), carriage + return (U+000D), line feed (U+000A), and combination of all five, +so that no red is visible. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: coords-transformattr-01-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + diff --git a/MacawTests/w3cSVGTests/coords-transformattr-02-f-manual.reference b/MacawTests/w3cSVGTests/coords-transformattr-02-f-manual.reference new file mode 100644 index 00000000..d6494cc9 --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-transformattr-02-f-manual.reference @@ -0,0 +1,353 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : "1, 0, 0, 1, 150, 0", + "contents" : [ + { + "place" : "1.414214, 1.414214, -1.414214, 1.414214, -17.071068, 1.213203", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 50, + "type" : "Rect", + "y" : 0, + "h" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "cy" : 50, + "type" : "Circle", + "r" : 25, + "cx" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 50, + "type" : "Line", + "x1" : 50, + "x2" : 100, + "y2" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 10 + } + } + ], + "node" : "Group" + }, + { + "place" : "1, 0, 0, 1, -10, -20", + "contents" : [ + { + "place" : "2, 0, 0, 2, 0, 0", + "contents" : [ + { + "place" : ".707107, .707107, -.707107, .707107, 0, 0", + "contents" : [ + { + "place" : "1, 0, 0, 1, 5, 10", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 0, + "w" : 50, + "type" : "Rect", + "y" : 0, + "h" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "cy" : 50, + "type" : "Circle", + "r" : 25, + "cx" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 50, + "type" : "Line", + "x1" : 50, + "x2" : 100, + "y2" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 10 + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "place" : "1, 0, 0, 1, 200, 0", + "contents" : [ + { + "place" : "1, 0, 0, 1, -10, -20", + "contents" : [ + { + "place" : "2, 0, 0, 2, 0, 0", + "contents" : [ + { + "place" : ".707107, .707107, -.707107, .707107, 0, 0", + "contents" : [ + { + "place" : "1, 0, 0, 1, 5, 10", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 50, + "type" : "Rect", + "y" : 0, + "h" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "cy" : 50, + "type" : "Circle", + "r" : 25, + "cx" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 50, + "type" : "Line", + "x1" : 50, + "x2" : 100, + "y2" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 10 + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "place" : "1.414214, 1.414214, -1.414214, 1.414214, -17.071068, 1.213203", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 0, + "w" : 50, + "type" : "Rect", + "y" : 0, + "h" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "cy" : 50, + "type" : "Circle", + "r" : 25, + "cx" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 50, + "type" : "Line", + "x1" : 50, + "x2" : 100, + "y2" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 10 + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.4 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/coords-transformattr-02-f-manual.svg b/MacawTests/w3cSVGTests/coords-transformattr-02-f-manual.svg new file mode 100755 index 00000000..7e676c7e --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-transformattr-02-f-manual.svg @@ -0,0 +1,93 @@ + + + + + + + + + + +

+ If a list of transforms is provided, then the net effect is as if each transform had been specified separately in the order provided. +

+

The test overlays a black 'rect' with transform list on top of an equivalent red 'rect' with equivalent nested transforms, and vice + versa, so that there is no red visible on the page.

p> + + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: coords-transformattr-02-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + diff --git a/MacawTests/w3cSVGTests/coords-transformattr-03-f-manual.reference b/MacawTests/w3cSVGTests/coords-transformattr-03-f-manual.reference new file mode 100644 index 00000000..fdb28548 --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-transformattr-03-f-manual.reference @@ -0,0 +1,269 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 10, + "w" : 100, + "type" : "Rect", + "y" : 0, + "h" : 200 + }, + "node" : "Shape" + }, + { + "place" : "1, 0, 0, 1, 10, 0", + "form" : { + "x" : 0, + "w" : 100, + "type" : "Rect", + "y" : 0, + "h" : 200 + }, + "node" : "Shape", + "fill" : { + "type" : "Color", + "val" : 0 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "ellipse" : { + "cy" : 100, + "type" : "Ellipse", + "ry" : 100, + "rx" : 50, + "cx" : 170 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape" + }, + { + "place" : "1, 0, 0, 1, 10, 0", + "form" : { + "ellipse" : { + "cy" : 100, + "type" : "Ellipse", + "ry" : 100, + "rx" : 50, + "cx" : 160 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape", + "fill" : { + "type" : "Color", + "val" : 0 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 230, + "x2" : 330, + "y2" : 200 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 10 + } + }, + { + "place" : "1, 0, 0, 1, 10, 0", + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 220, + "x2" : 320, + "y2" : 200 + }, + "node" : "Shape", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 10 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 340, + 0 + ] + }, + { + "type" : "L", + "data" : [ + 440, + 0 + ] + }, + { + "type" : "L", + "data" : [ + 390, + 200 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "place" : "1, 0, 0, 1, 10, 0", + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 330, + 0 + ] + }, + { + "type" : "L", + "data" : [ + 430, + 0 + ] + }, + { + "type" : "L", + "data" : [ + 380, + 200 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape", + "fill" : { + "type" : "Color", + "val" : 0 + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.3 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/coords-transformattr-03-f-manual.svg b/MacawTests/w3cSVGTests/coords-transformattr-03-f-manual.svg new file mode 100755 index 00000000..08d3a6b9 --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-transformattr-03-f-manual.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + +

+ If 'ty' is not specified for a 'translate' transform, it is assumed to be zero. +

+

+ Specify a series of various red graphics elements. Specify an equivalent series of black graphics elements that are defined to have positions + that are shifted '10' user units to the right of the red graphics elements. Specify a 'transform' value of 'translate' with only the 'tx' value + specified (i.e., 'translate(10)'). If the 'ty' parameter takes the default value of '0' user units, there will be no red on the page. +

+ + +

Run the test. No interaction required.

+
+ +

+ The test is passed if there is no red visible on the page. +

+
+ + $RCSfile: coords-transformattr-03-f.svg,v $ + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + diff --git a/MacawTests/w3cSVGTests/coords-transformattr-04-f-manual.reference b/MacawTests/w3cSVGTests/coords-transformattr-04-f-manual.reference new file mode 100644 index 00000000..2a566e8a --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-transformattr-04-f-manual.reference @@ -0,0 +1,269 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 0, + "w" : 100, + "type" : "Rect", + "y" : 0, + "h" : 200 + }, + "node" : "Shape" + }, + { + "place" : "2, 0, 0, 2, 0, 0", + "form" : { + "x" : 0, + "w" : 50, + "type" : "Rect", + "y" : 0, + "h" : 100 + }, + "node" : "Shape", + "fill" : { + "type" : "Color", + "val" : 0 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "ellipse" : { + "cy" : 100, + "type" : "Ellipse", + "ry" : 100, + "rx" : 50, + "cx" : 160 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape" + }, + { + "place" : "2, 0, 0, 2, 0, 0", + "form" : { + "ellipse" : { + "cy" : 50, + "type" : "Ellipse", + "ry" : 50, + "rx" : 25, + "cx" : 80 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape", + "fill" : { + "type" : "Color", + "val" : 0 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 220, + "x2" : 320, + "y2" : 200 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 10 + } + }, + { + "place" : "2, 0, 0, 2, 0, 0", + "form" : { + "y1" : 5, + "type" : "Line", + "x1" : 110, + "x2" : 160, + "y2" : 100 + }, + "node" : "Shape", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 5 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 330, + 0 + ] + }, + { + "type" : "L", + "data" : [ + 430, + 0 + ] + }, + { + "type" : "L", + "data" : [ + 380, + 200 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "place" : "2, 0, 0, 2, 0, 0", + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 165, + 0 + ] + }, + { + "type" : "L", + "data" : [ + 215, + 0 + ] + }, + { + "type" : "L", + "data" : [ + 190, + 100 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape", + "fill" : { + "type" : "Color", + "val" : 0 + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.3 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/coords-transformattr-04-f-manual.svg b/MacawTests/w3cSVGTests/coords-transformattr-04-f-manual.svg new file mode 100755 index 00000000..8c613c75 --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-transformattr-04-f-manual.svg @@ -0,0 +1,60 @@ + + + + + + + + + + +

+ If 'sy' is not specified for a 'scale' transform, it is assumed to be equal to 'sx'. +

+

+ Specify a series of various red graphics elements. Specify an equivalent series of black graphics elements that are defined to have dimensions + that are half the size as the red elements. Specify a 'transform' value of 'scale' with only the 'sx' value specified (i.e., 'scale(2)'). If the 'sy' + parameter takes the same value as the 'sx', there will be no red on the page. +

+ + +

Run the test. No interaction required.

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: coords-transformattr-04-f.svg,v $ + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + diff --git a/MacawTests/w3cSVGTests/coords-transformattr-05-f-manual.reference b/MacawTests/w3cSVGTests/coords-transformattr-05-f-manual.reference new file mode 100644 index 00000000..a7ade106 --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-transformattr-05-f-manual.reference @@ -0,0 +1,287 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : "1, 0, 0, 1, 50, 15", + "contents" : [ + { + "place" : ".965926, .258819, -.258819, .965926, 0, 0", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 10, + "w" : 100, + "type" : "Rect", + "y" : 0, + "h" : 200 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "ellipse" : { + "cy" : 100, + "type" : "Ellipse", + "ry" : 100, + "rx" : 50, + "cx" : 170 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 230, + "x2" : 330, + "y2" : 200 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 10 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 340, + 0 + ] + }, + { + "type" : "L", + "data" : [ + 440, + 0 + ] + }, + { + "type" : "L", + "data" : [ + 390, + 200 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "place" : ".965926, .258819, -.258819, .965926, 0, 0", + "contents" : [ + { + "place" : "1, 0, 0, 1, 10, 0", + "form" : { + "x" : 0, + "w" : 100, + "type" : "Rect", + "y" : 0, + "h" : 200 + }, + "node" : "Shape", + "fill" : { + "type" : "Color", + "val" : 0 + } + }, + { + "place" : "1, 0, 0, 1, 10, 0", + "form" : { + "ellipse" : { + "cy" : 100, + "type" : "Ellipse", + "ry" : 100, + "rx" : 50, + "cx" : 160 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape", + "fill" : { + "type" : "Color", + "val" : 0 + } + }, + { + "place" : "1, 0, 0, 1, 10, 0", + "form" : { + "y1" : 10, + "type" : "Line", + "x1" : 220, + "x2" : 320, + "y2" : 200 + }, + "node" : "Shape", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 10 + } + }, + { + "place" : "1, 0, 0, 1, 10, 0", + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 330, + 0 + ] + }, + { + "type" : "L", + "data" : [ + 430, + 0 + ] + }, + { + "type" : "L", + "data" : [ + 380, + 200 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape", + "fill" : { + "type" : "Color", + "val" : 0 + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.4 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/coords-transformattr-05-f-manual.svg b/MacawTests/w3cSVGTests/coords-transformattr-05-f-manual.svg new file mode 100755 index 00000000..4fe26e57 --- /dev/null +++ b/MacawTests/w3cSVGTests/coords-transformattr-05-f-manual.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + +

+ If 'cx' and 'cy' are not specified for a 'rotate' transform, the rotation is about the origin of the current user coordinate system and thus corresponds to the matrix [cos(a) sin(a) -sin(a) cos(a) 0 0]. +

+

+ Specify a series of various black graphics elements inside a 'g' element with 'transform' set to a 'rotate' value with unspecified 'cx' + and 'cy' parameters (i.e., 'rotate(15)'). Specify an equivalent series of red graphics elements inside a 'g' element with 'transform' set + to a 'matrix' value which would rotate the elements 15 degrees about the point (0,0) of the current user coordinate system. If the 'g' element containing the black elements correctly rotates its content by 15 degrees around the origin of the current user coordinate system, there will be no red on the page. +

+ + +

Run the test. No interaction required.

+
+ +

+ Test passes if there is no red visible on the page. +

+ +
+ + $RCSfile: coords-transformattr-05-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + + diff --git a/MacawTests/w3cSVGTests/metadata-example-01-t-manual.reference b/MacawTests/w3cSVGTests/metadata-example-01-t-manual.reference new file mode 100644 index 00000000..83c1a159 --- /dev/null +++ b/MacawTests/w3cSVGTests/metadata-example-01-t-manual.reference @@ -0,0 +1,6497 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : "1.2, 0, 0, 1.2, 0, 0", + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 132.386, + 113.17700000000001 + ] + }, + { + "type" : "c", + "data" : [ + 0.39400000000000002, + -2.645, + 0.97799999999999998, + -6.1890000000000001, + 1.681, + -10.262 + ] + }, + { + "type" : "c", + "data" : [ + -7.5970000000000004, + -5.6550000000000002, + -19.263999999999999, + -14.488, + -26.763999999999999, + -25.988 + ] + }, + { + "type" : "l", + "data" : [ + -1.667, + -0.66700000000000004 + ] + }, + { + "type" : "c", + "data" : [ + 5.3330000000000002, + 15.167, + 25, + 32.832999999999998, + 26.75, + 36.917000000000002 + ] + }, + { + "type" : "l", + "data" : [ + 15.583, + 15.25 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + 10, + 10.667, + 12.167, + 13.833 + ] + }, + { + "type" : "c", + "data" : [ + 2.1669999999999998, + 3.1669999999999998, + 3.5, + 7.1669999999999998, + 1.333, + 9.8330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + -1.667, + -1, + -4.8330000000000002, + -5.3330000000000002, + -8, + -9.1669999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + -7, + -1.5, + -13.833, + -1.333 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + 2.6669999999999998, + 5.5, + 3.8330000000000002, + 8 + ] + }, + { + "type" : "c", + "data" : [ + 0.56299999999999994, + 1.2070000000000001, + 0.46500000000000002, + 2.141, + 0.064000000000000001, + 3.0470000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 6.2409999999999997, + 4.8280000000000003, + 12.252000000000001, + 13.801, + 16.102, + 18.452999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 4, + 4.8330000000000002, + 5.548, + 8.8219999999999992, + 12.167, + 10.167 + ] + }, + { + "type" : "c", + "data" : [ + 10.667, + 2.1669999999999998, + 16.667000000000002, + 7.5, + 19.667000000000002, + 10 + ] + }, + { + "type" : "s", + "data" : [ + 3, + 4, + 1.833, + 4.8330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + -4.1669999999999998, + 1.5, + -11, + 2 + ] + }, + { + "type" : "c", + "data" : [ + -6.8330000000000002, + 0.5, + -12.333, + -3.3330000000000002, + -15.167, + -3.3330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + -4.3330000000000002, + -0.16700000000000001, + -6.3330000000000002, + -3, + -7.8330000000000002, + -6.3330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + -1.5, + -3.3330000000000002, + -4.5, + -4.8330000000000002, + -9.1669999999999998, + -7.6669999999999998 + ] + }, + { + "type" : "c", + "data" : [ + -4.2930000000000001, + -2.6059999999999999, + -14.858000000000001, + -7.8940000000000001, + -19.053000000000001, + -14.173999999999999 + ] + }, + { + "type" : "c", + "data" : [ + -4.7910000000000004, + 3.1629999999999998, + -10.643000000000001, + 5.7560000000000002, + -17.446999999999999, + 8.3399999999999999 + ] + }, + { + "type" : "l", + "data" : [ + -1.333, + -1.333 + ] + }, + { + "type" : "c", + "data" : [ + -1.9330000000000001, + 0.77300000000000002, + -4.5380000000000003, + 1.52, + -7.5739999999999998, + 1.925 + ] + }, + { + "type" : "c", + "data" : [ + 2.113, + 6.1699999999999999, + 7.9260000000000002, + 15.122999999999999, + 10.157, + 16.908000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 2.5, + 2, + 4.25, + 4.25, + 4.25, + 6.5 + ] + }, + { + "type" : "s", + "data" : [ + -0.75, + 5.5, + -3.75, + 9.5 + ] + }, + { + "type" : "c", + "data" : [ + -0.5, + 13, + -6, + 19.75, + -12.5, + 22.25 + ] + }, + { + "type" : "c", + "data" : [ + -4.5, + -15, + -0.5, + -25.25, + 1.5, + -31.25 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + -7.4720000000000004, + -6.8129999999999997, + -12.938000000000001, + -12.608000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 0.72999999999999998, + 3.9790000000000001, + 1.468, + 7.7030000000000003, + 2.1880000000000002, + 10.942 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + -1.232, + 1.575, + -3.5, + 0.83299999999999996 + ] + }, + { + "type" : "c", + "data" : [ + -8.6669999999999998, + -2.8330000000000002, + -22.167000000000002, + -10.333, + -27.332999999999998, + -16.332999999999998 + ] + }, + { + "type" : "c", + "data" : [ + -2.6669999999999998, + -7.8330000000000002, + -6.5, + -33.667000000000002, + -7.6669999999999998, + -44.332999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + -5.1669999999999998, + -1.333, + -10.167, + -2.6669999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + -0.66700000000000004, + -0.33300000000000002, + -1.5, + -3.5 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + -5.6669999999999998, + -1.667, + -11.833, + -3 + ] + }, + { + "type" : "c", + "data" : [ + -6.1669999999999998, + -1.333, + -5.6669999999999998, + -2.6669999999999998, + -6.6669999999999998, + -6.1669999999999998 + ] + }, + { + "type" : "s", + "data" : [ + 0.66700000000000004, + -28.5, + 2.5, + -36.667000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 1.833, + -8.1669999999999998, + 10.5, + -22.167000000000002, + 15.833, + -28 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + -1.006, + -0.13500000000000001, + -1.833, + -2.5 + ] + }, + { + "type" : "c", + "data" : [ + -5.8330000000000002, + -16.667000000000002, + -7.8330000000000002, + -27.332999999999998, + -0.66700000000000004, + -37.667000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 7.1669999999999998, + -10.333, + 20.167000000000002, + -6, + 26.667000000000002, + -2.8330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 6.5, + 3.1669999999999998, + 6.6669999999999998, + 8.3330000000000002, + 8.1669999999999998, + 10.833 + ] + }, + { + "type" : "s", + "data" : [ + 0.33300000000000002, + 4.8330000000000002, + 2, + 7.1669999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 17.667000000000002, + 7, + 26.832999999999998, + 16.667000000000002, + 38.832999999999998, + 27.167000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 7.5, + 3.6669999999999998, + 13.667, + 9.6669999999999998, + 18.667000000000002, + 13.833 + ] + }, + { + "type" : "c", + "data" : [ + 1.1240000000000001, + 0.93700000000000006, + 2.323, + 2.1509999999999998, + 3.556, + 3.5249999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 1.444, + -7.6630000000000003, + 2.8580000000000001, + -14.936, + 3.944, + -20.274999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 3, + -14.75, + 9.5, + -47, + 10.25, + -49.25 + ] + }, + { + "type" : "l", + "data" : [ + 3, + 0.25 + ] + }, + { + "type" : "c", + "data" : [ + 29.25, + 0.25, + 69.75, + -1, + 69.75, + -1 + ] + }, + { + "type" : "c", + "data" : [ + 0.25, + 20.25, + 0.25, + 62.5, + 0.25, + 74.25 + ] + }, + { + "type" : "s", + "data" : [ + 0, + 39, + 0.25, + 42.25 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + -3.75, + 2, + -8.3330000000000002, + 2.75 + ] + }, + { + "type" : "c", + "data" : [ + 1, + 0.16700000000000001, + 1.667, + 2.5, + -0.16700000000000001, + 3.3330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + -3, + 0.16700000000000001, + -25.332999999999998, + 0.16700000000000001, + -33, + -1 + ] + }, + { + "type" : "c", + "data" : [ + -1.2450000000000001, + -0.189, + -2.923, + -0.32600000000000001, + -4.8789999999999996, + -0.42199999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 2.4409999999999998, + 2.484, + 8.9060000000000006, + 8.8390000000000004, + 19.629000000000001, + 17.838000000000001 + ] + }, + { + "type" : "l", + "data" : [ + -0.25, + 8.25 + ] + }, + { + "type" : "l", + "data" : [ + -9, + 0.25 + ] + }, + { + "type" : "l", + "data" : [ + -31.952000000000002, + -26.425999999999998 + ] + }, + { + "type" : "c", + "data" : [ + -4.665, + 0.081000000000000003, + -8.5250000000000004, + 0.17599999999999999, + -10.215, + 0.17599999999999999 + ] + }, + { + "type" : "l", + "data" : [ + -15.583, + -15.25 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 60.654000000000003, + 1.3580000000000001 + ] + }, + { + "type" : "c", + "data" : [ + -0.84399999999999997, + 0.91500000000000004, + -1.8080000000000001, + 2.2629999999999999, + -2.8570000000000002, + 3.9380000000000002 + ] + }, + { + "type" : "c", + "data" : [ + -1.1950000000000001, + -1.0700000000000001, + -3.7400000000000002, + -3.2160000000000002, + -6.3419999999999996, + -4.5659999999999998 + ] + }, + { + "type" : "l", + "data" : [ + -1.9039999999999999, + 2.4129999999999998 + ] + }, + { + "type" : "l", + "data" : [ + 6.0579999999999998, + 5.8819999999999997 + ] + }, + { + "type" : "c", + "data" : [ + -0.13100000000000001, + 0.23599999999999999, + -0.26400000000000001, + 0.47699999999999998, + -0.39700000000000002, + 0.72099999999999997 + ] + }, + { + "type" : "C", + "data" : [ + 46.57, + 3.133, + 43.441000000000003, + 0.55400000000000005, + 43.441000000000003, + 0.55400000000000005 + ] + }, + { + "type" : "l", + "data" : [ + -2.3900000000000001, + 2.766 + ] + }, + { + "type" : "c", + "data" : [ + 3.972, + 4.6319999999999997, + 9.4529999999999994, + 8.9160000000000004, + 11.891, + 10.728999999999999 + ] + }, + { + "type" : "c", + "data" : [ + -0.21099999999999999, + 0.41299999999999998, + -0.42299999999999999, + 0.83099999999999996, + -0.63600000000000001, + 1.2549999999999999 + ] + }, + { + "type" : "C", + "data" : [ + 39.417000000000002, + 5.6509999999999998, + 34.448999999999998, + 0.91700000000000004, + 34.448999999999998, + 0.91700000000000004 + ] + }, + { + "type" : "l", + "data" : [ + -2.7170000000000001, + 2.9449999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 7.6470000000000002, + 7.3300000000000001, + 15.917, + 14.754, + 18.024000000000001, + 16.638000000000002 + ] + }, + { + "type" : "c", + "data" : [ + -0.20399999999999999, + 0.42499999999999999, + -0.40799999999999997, + 0.85399999999999998, + -0.61299999999999999, + 1.284 + ] + }, + { + "type" : "C", + "data" : [ + 36.799999999999997, + 12.691000000000001, + 27.994, + 4.367, + 25.422000000000001, + 0.44900000000000001 + ] + }, + { + "type" : "l", + "data" : [ + -2.3900000000000001, + 2.7650000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 8.1039999999999992, + 8.5389999999999997, + 20.318999999999999, + 19.210999999999999, + 24.227, + 22.582999999999998 + ] + }, + { + "type" : "c", + "data" : [ + -0.20599999999999999, + 0.443, + -0.41099999999999998, + 0.88800000000000001, + -0.61699999999999999, + 1.333 + ] + }, + { + "type" : "c", + "data" : [ + -9.5269999999999992, + -6.3099999999999996, + -14.627000000000001, + -11.31, + -18.931000000000001, + -15.432 + ] + }, + { + "type" : "C", + "data" : [ + 23.201000000000001, + 7.3769999999999998, + 17.975999999999999, + 1.917, + 15.896000000000001, + 0 + ] + }, + { + "type" : "L", + "data" : [ + 13.02, + 3.1190000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 7.7169999999999996, + 8.5030000000000001, + 25.108000000000001, + 24.004000000000001, + 31.619, + 28.399000000000001 + ] + }, + { + "type" : "c", + "data" : [ + -0.24299999999999999, + 0.53700000000000003, + -0.48499999999999999, + 1.073, + -0.72599999999999998, + 1.607 + ] + }, + { + "type" : "C", + "data" : [ + 30.32, + 22.460000000000001, + 10.721, + 5.1749999999999998, + 6.9850000000000003, + 2.3620000000000001 + ] + }, + { + "type" : "L", + "data" : [ + 4.9009999999999998, + 4.4480000000000004 + ] + }, + { + "type" : "c", + "data" : [ + 8.8719999999999999, + 9.0739999999999998, + 31.669, + 29.335999999999999, + 36.615000000000002, + 34.037999999999997 + ] + }, + { + "type" : "c", + "data" : [ + -0.29999999999999999, + 0.67700000000000005, + -0.59699999999999998, + 1.3460000000000001, + -0.89000000000000001, + 2.0059999999999998 + ] + }, + { + "type" : "C", + "data" : [ + 25.882999999999999, + 27.823, + 2.6640000000000001, + 6.8739999999999997, + 2.6640000000000001, + 6.8739999999999997 + ] + }, + { + "type" : "L", + "data" : [ + 1.1200000000000001, + 9.9390000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 10.493, + 10.57, + 33.951999999999998, + 32.543999999999997, + 37.258000000000003, + 35.637999999999998 + ] + }, + { + "type" : "c", + "data" : [ + -0.25900000000000001, + 0.58499999999999996, + -0.51200000000000001, + 1.1579999999999999, + -0.75800000000000001, + 1.7150000000000001 + ] + }, + { + "type" : "C", + "data" : [ + 22.515000000000001, + 33.526000000000003, + 7.8479999999999999, + 20.475999999999999, + 3.4009999999999998, + 16.852 + ] + }, + { + "type" : "l", + "data" : [ + -2.2370000000000001, + 2.4260000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 11.138999999999999, + 10.986000000000001, + 30.478000000000002, + 28.518000000000001, + 34.581000000000003, + 32.226999999999997 + ] + }, + { + "type" : "c", + "data" : [ + -0.32300000000000001, + 0.71999999999999997, + -0.628, + 1.3939999999999999, + -0.91300000000000003, + 2.0150000000000001 + ] + }, + { + "type" : "C", + "data" : [ + 21.062999999999999, + 40.369, + 5.9500000000000002, + 27.056999999999999, + 2.6850000000000001, + 23.887 + ] + }, + { + "type" : "l", + "data" : [ + -2.383, + 2.9319999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 8.6910000000000007, + 8.4600000000000009, + 29.709, + 27.739999999999998, + 32.738, + 30.515000000000001 + ] + }, + { + "type" : "c", + "data" : [ + -0.30399999999999999, + 0.65100000000000002, + -0.64800000000000002, + 1.4039999999999999, + -1.0289999999999999, + 2.2469999999999999 + ] + }, + { + "type" : "C", + "data" : [ + 18.259, + 46.584000000000003, + 5.6059999999999999, + 34.759999999999998, + 2.8690000000000002, + 32.552999999999997 + ] + }, + { + "type" : "l", + "data" : [ + -2.25, + 2.0920000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 9.9489999999999998, + 10.824999999999999, + 26.338000000000001, + 25.905999999999999, + 29.82, + 28.451000000000001 + ] + }, + { + "type" : "c", + "data" : [ + -0.32000000000000001, + 0.72399999999999998, + -0.65600000000000003, + 1.4850000000000001, + -1.006, + 2.2799999999999998 + ] + }, + { + "type" : "C", + "data" : [ + 16.332999999999998, + 52.826000000000001, + 2.6789999999999998, + 40.232999999999997, + 2.6789999999999998, + 40.232999999999997 + ] + }, + { + "type" : "l", + "data" : [ + -2.2240000000000002, + 2.7589999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 9.0670000000000002, + 9.6780000000000008, + 23.140999999999998, + 23.039999999999999, + 27.343, + 26.120000000000001 + ] + }, + { + "type" : "c", + "data" : [ + -0.29699999999999999, + 0.68300000000000005, + -0.60199999999999998, + 1.383, + -0.91200000000000003, + 2.0979999999999999 + ] + }, + { + "type" : "C", + "data" : [ + 15.542999999999999, + 60.601999999999997, + 2.7029999999999998, + 49.073, + 2.7029999999999998, + 49.073 + ] + }, + { + "type" : "C", + "data" : [ + 1.238, + 49.966000000000001, + 0, + 52.351999999999997, + 0, + 52.351999999999997 + ] + }, + { + "type" : "C", + "data" : [ + 11.334, + 63.218000000000004, + 22.135999999999999, + 73.120000000000005, + 24.949999999999999, + 75.688999999999993 + ] + }, + { + "type" : "c", + "data" : [ + -0.26100000000000001, + 0.60599999999999998, + -0.52500000000000002, + 1.22, + -0.79200000000000004, + 1.841 + ] + }, + { + "type" : "C", + "data" : [ + 8.7710000000000008, + 63.625999999999998, + 2.3599999999999999, + 57.093000000000004, + 2.3599999999999999, + 57.093000000000004 + ] + }, + { + "type" : "l", + "data" : [ + -1.8839999999999999, + 2.9119999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 8.4190000000000005, + 8.8510000000000009, + 18.809000000000001, + 19.059999999999999, + 21.777999999999999, + 21.963000000000001 + ] + }, + { + "type" : "c", + "data" : [ + -0.157, + 0.36599999999999999, + -0.313, + 0.73299999999999998, + -0.47199999999999998, + 1.1020000000000001 + ] + }, + { + "type" : "C", + "data" : [ + 10.824999999999999, + 74.055999999999997, + 2.944, + 67.412000000000006, + 2.944, + 67.412000000000006 + ] + }, + { + "type" : "l", + "data" : [ + -1.7370000000000001, + 2.4049999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 8.3740000000000006, + 8.1229999999999993, + 16.460000000000001, + 14.983000000000001, + 18.948, + 17.065000000000001 + ] + }, + { + "type" : "c", + "data" : [ + -0.24199999999999999, + 0.56699999999999995, + -0.48399999999999999, + 1.137, + -0.72799999999999998, + 1.7090000000000001 + ] + }, + { + "type" : "C", + "data" : [ + 10.260999999999999, + 82.019000000000005, + 3.1150000000000002, + 75.745000000000005, + 3.1150000000000002, + 75.745000000000005 + ] + }, + { + "type" : "l", + "data" : [ + -1.8500000000000001, + 3.7450000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 8.1609999999999996, + 7.9370000000000003, + 14.369999999999999, + 12.904999999999999, + 16.004999999999999, + 14.183 + ] + }, + { + "type" : "c", + "data" : [ + -0.24399999999999999, + 0.57599999999999996, + -0.48799999999999999, + 1.1519999999999999, + -0.73199999999999998, + 1.7290000000000001 + ] + }, + { + "type" : "C", + "data" : [ + 7.1589999999999998, + 87.784999999999997, + 4.1310000000000002, + 84.376999999999995, + 4.1310000000000002, + 84.376999999999995 + ] + }, + { + "type" : "l", + "data" : [ + -2.363, + 3.4319999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 5.4420000000000002, + 5.6779999999999999, + 11.379, + 9.7530000000000001, + 13.319000000000001, + 11.023 + ] + }, + { + "type" : "c", + "data" : [ + -0.25, + 0.59199999999999997, + -0.5, + 1.1830000000000001, + -0.748, + 1.7729999999999999 + ] + }, + { + "type" : "l", + "data" : [ + -10.710000000000001, + -8.0350000000000001 + ] + }, + { + "type" : "l", + "data" : [ + -1.8839999999999999, + 2.9119999999999999 + ] + }, + { + "type" : "l", + "data" : [ + 10.717000000000001, + 9.5790000000000006 + ] + }, + { + "type" : "c", + "data" : [ + -0.152, + 0.36199999999999999, + -0.30299999999999999, + 0.72299999999999998, + -0.45500000000000002, + 1.083 + ] + }, + { + "type" : "l", + "data" : [ + -8.6029999999999998, + -6.7249999999999996 + ] + }, + { + "type" : "l", + "data" : [ + -1.724, + 2.738 + ] + }, + { + "type" : "l", + "data" : [ + 8.7919999999999998, + 7.6470000000000002 + ] + }, + { + "type" : "c", + "data" : [ + -0.27600000000000002, + 0.65900000000000003, + -0.54900000000000004, + 1.3129999999999999, + -0.82099999999999995, + 1.962 + ] + }, + { + "type" : "l", + "data" : [ + -6.4500000000000002, + -5 + ] + }, + { + "type" : "l", + "data" : [ + -1.7370000000000001, + 2.4049999999999998 + ] + }, + { + "type" : "l", + "data" : [ + 6.5090000000000003, + 6.6180000000000003 + ] + }, + { + "type" : "c", + "data" : [ + -0.19, + 0.45700000000000002, + -0.379, + 0.91100000000000003, + -0.56599999999999995, + 1.3600000000000001 + ] + }, + { + "type" : "l", + "data" : [ + -5.0949999999999998, + -3.5089999999999999 + ] + }, + { + "type" : "l", + "data" : [ + -1.3839999999999999, + 2.8919999999999999 + ] + }, + { + "type" : "l", + "data" : [ + 4.96, + 4.2779999999999996 + ] + }, + { + "type" : "c", + "data" : [ + -0.14399999999999999, + 0.34699999999999998, + -0.28599999999999998, + 0.68999999999999995, + -0.42699999999999999, + 1.0309999999999999 + ] + }, + { + "type" : "l", + "data" : [ + -2.5459999999999998, + -1.5529999999999999 + ] + }, + { + "type" : "l", + "data" : [ + -1.2110000000000001, + 3.0510000000000002 + ] + }, + { + "type" : "l", + "data" : [ + 2.1989999999999998, + 2.2810000000000001 + ] + }, + { + "type" : "c", + "data" : [ + -1.341, + 3.262, + -2.508, + 6.1310000000000002, + -3.4329999999999998, + 8.4440000000000008 + ] + }, + { + "type" : "l", + "data" : [ + 2.7250000000000001, + 1.391 + ] + }, + { + "type" : "c", + "data" : [ + 1.204, + -3.218, + 31.228000000000002, + -73.322000000000003, + 36, + -83.188999999999993 + ] + }, + { + "type" : "S", + "data" : [ + 60.576999999999998, + 7.7000000000000002, + 62.173000000000002, + 1.7969999999999999 + ] + }, + { + "type" : "l", + "data" : [ + -1.5189999999999999, + -0.439 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 142.803, + 106.261 + ] + }, + { + "type" : "c", + "data" : [ + -1, + 0.5, + -3, + 1, + -5, + -0.5 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + -3.6669999999999998, + 12.333, + -2.6669999999999998, + 17.667000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 3.6669999999999998, + 1.833, + 42.832999999999998, + 2.5, + 52.667000000000002, + 2.5 + ] + }, + { + "type" : "c", + "data" : [ + 16.832999999999998, + 0, + 26.167000000000002, + 1, + 30, + 0.5 + ] + }, + { + "type" : "c", + "data" : [ + 4.5830000000000002, + -0.75, + 8.3330000000000002, + -2.75, + 8.3330000000000002, + -2.75 + ] + }, + { + "type" : "c", + "data" : [ + -0.25, + -3.25, + -0.25, + -30.5, + -0.25, + -42.25 + ] + }, + { + "type" : "s", + "data" : [ + 1.333, + -54.353999999999999, + -0.25, + -74.25 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + -40.5, + 1.25, + -69.75, + 1 + ] + }, + { + "type" : "c", + "data" : [ + 0.5, + 5.75, + -2.395, + 17.829000000000001, + -4, + 24.25 + ] + }, + { + "type" : "c", + "data" : [ + -1.5, + 6, + -5, + 25.25, + -9.9290000000000003, + 48.893999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 3.2559999999999998, + 4.04, + 6.4989999999999997, + 8.4689999999999994, + 9.0120000000000005, + 11.273 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + 0.088999999999999996, + 1.6970000000000001, + -0.189, + 3.5209999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 3.8559999999999999, + 1.0620000000000001, + 6.4809999999999999, + 3.0619999999999998, + 7.9809999999999999, + 5.3120000000000003 + ] + }, + { + "type" : "s", + "data" : [ + 2.25, + 5.625, + 1.375, + 7.875 + ] + }, + { + "type" : "c", + "data" : [ + 0.625, + 3.125, + 0.5, + 5.375, + -0.875, + 5.75 + ] + }, + { + "type" : "s", + "data" : [ + -2.5, + 1, + -4.5, + 0.25 + ] + }, + { + "type" : "c", + "data" : [ + -0.875, + 3.25, + -1.25, + 3.5, + -1.25, + 3.5 + ] + }, + { + "type" : "c", + "data" : [ + -1.75, + 0, + -2.375, + -0.125, + -2.375, + -0.125 + ] + }, + { + "type" : "c", + "data" : [ + -3, + -4.125, + -8.6669999999999998, + -7.8330000000000002, + -8.3330000000000002, + -12.417 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 207.303, + 18.594000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + -19, + 6.1669999999999998, + -39.167000000000002, + 13.333 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + 0.71599999999999997, + 6.0119999999999996, + 1.617, + 11.404 + ] + }, + { + "type" : "c", + "data" : [ + -4.6289999999999996, + 2.1579999999999999, + -9.0960000000000001, + 4.2430000000000003, + -12.617000000000001, + 5.9299999999999997 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + 5, + 18, + 10.333, + 30.332999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 2.8330000000000002, + -2.1669999999999998, + 23, + -11.833, + 37.167000000000002, + -19.667000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + -0.88800000000000001, + -2.8580000000000001, + -2.1560000000000001, + -6.8330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 1.8089999999999999, + -0.58699999999999997, + 7.883, + -2.5499999999999998, + 9.1560000000000006, + -2.8330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 1.5, + -0.33300000000000002, + 1.5, + -2.8330000000000002, + 1.5, + -2.8330000000000002 + ] + }, + { + "type" : "s", + "data" : [ + -4.3330000000000002, + -21.667000000000002, + -5.8330000000000002, + -28.832999999999998 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 133.46899999999999, + 159.42699999999999 + ] + }, + { + "type" : "c", + "data" : [ + -6.0380000000000003, + 5.7119999999999997, + -26.617999999999999, + 15.097, + -44.840000000000003, + 10.635 + ] + }, + { + "type" : "c", + "data" : [ + -1.833, + -11.776999999999999, + -3.3450000000000002, + -23.231999999999999, + -3.9929999999999999, + -29.635000000000002 + ] + }, + { + "type" : "c", + "data" : [ + -1.333, + -13.167, + -1.5, + -27.167000000000002, + -1.5, + -27.167000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 7, + 0.83299999999999996, + 11.333, + -0.33300000000000002, + 11.333, + -0.33300000000000002 + ] + }, + { + "type" : "c", + "data" : [ + -0.33300000000000002, + -4, + 0.5, + -9.5, + 0.5, + -9.5 + ] + }, + { + "type" : "c", + "data" : [ + 2.5, + 3.1669999999999998, + 7, + 5, + 8.3330000000000002, + 1.833 + ] + }, + { + "type" : "c", + "data" : [ + 1.333, + -3.1669999999999998, + 2.5, + -8.6669999999999998, + 2.5, + -8.6669999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 3.5, + 2.1669999999999998, + 10, + 9.6669999999999998, + 15.833, + 19 + ] + }, + { + "type" : "c", + "data" : [ + 5.8330000000000002, + 9.3330000000000002, + 11.833, + 18.832999999999998, + 15.333, + 26.5 + ] + }, + { + "type" : "c", + "data" : [ + 3.5, + 7.6669999999999998, + 2.6669999999999998, + 11.5, + -3.5, + 17.332999999999998 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 150.303, + 98.093999999999994 + ] + }, + { + "type" : "c", + "data" : [ + -0.57299999999999995, + 1.6040000000000001, + -3.4279999999999999, + 4.6239999999999997, + -5.4829999999999997, + 6.5190000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 0.69099999999999995, + 4.5640000000000001, + 3.5659999999999998, + 8.1890000000000001, + 4.9409999999999998, + 9.1890000000000001 + ] + }, + { + "type" : "s", + "data" : [ + 2.75, + 2, + 2.75, + 2 + ] + }, + { + "type" : "c", + "data" : [ + 0.625, + -2.125, + -0.25, + -4.25, + -3.125, + -5.625 + ] + }, + { + "type" : "c", + "data" : [ + -0.375, + -1, + 0.75, + -3, + 1.75, + -2 + ] + }, + { + "type" : "s", + "data" : [ + 2, + 0.375, + 2, + 0.375 + ] + }, + { + "type" : "c", + "data" : [ + 1.875, + 2.75, + 2.125, + 4.125, + 2.125, + 4.125 + ] + }, + { + "type" : "l", + "data" : [ + 2, + 0.5 + ] + }, + { + "type" : "c", + "data" : [ + 0, + -3.125, + -0.625, + -4.5, + 0.375, + -6.25 + ] + }, + { + "type" : "c", + "data" : [ + -1, + -3.75, + -2.2919999999999998, + -7.0419999999999998, + -7.3330000000000002, + -8.8330000000000002 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 115.386, + 197.67699999999999 + ] + }, + { + "type" : "c", + "data" : [ + -1.5, + 7.25, + -3.25, + 13.25, + -4.5, + 16.25 + ] + }, + { + "type" : "s", + "data" : [ + -0.75, + 5.25, + -4.75, + 5 + ] + }, + { + "type" : "c", + "data" : [ + -3.25, + -1.5, + -3.5, + -3.75, + -2.25, + -8.5 + ] + }, + { + "type" : "s", + "data" : [ + 3.5, + -9, + 3.5, + -12.25 + ] + }, + { + "type" : "c", + "data" : [ + -6.5830000000000002, + -7.1470000000000002, + -13.872999999999999, + -14.577, + -17.079999999999998, + -17.818999999999999 + ] + }, + { + "type" : "c", + "data" : [ + -0.35399999999999998, + -2.073, + -0.70299999999999996, + -4.181, + -1.0429999999999999, + -6.2949999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 4.0570000000000004, + 1.3859999999999999, + 8.0239999999999991, + 1.841, + 11.606999999999999, + 1.7569999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 3.3279999999999998, + 8.7100000000000009, + 11.053000000000001, + 18.163, + 14.516, + 21.856999999999999 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 141.636, + 155.761 + ] + }, + { + "type" : "c", + "data" : [ + 0.053999999999999999, + -0.094, + 0.108, + -0.187, + 0.16400000000000001, + -0.27700000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 7.5170000000000003, + 8.1069999999999993, + 12.257999999999999, + 14.859, + 14.67, + 17.111000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 2.5, + 2.3330000000000002, + 6.5, + 8.6669999999999998, + 10, + 9.8330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 3.5, + 1.167, + 11.833, + 4.1669999999999998, + 14.333, + 5.3330000000000002 + ] + }, + { + "type" : "s", + "data" : [ + 2.6669999999999998, + 1.833, + 2.1669999999999998, + 3.6669999999999998 + ] + }, + { + "type" : "c", + "data" : [ + -0.5, + 1.833, + -1.333, + 2.8330000000000002, + -7, + 2.1669999999999998 + ] + }, + { + "type" : "c", + "data" : [ + -5.6669999999999998, + -0.66700000000000004, + -11.833, + -1.5, + -12.167, + -3.8330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + -0.33300000000000002, + -2.3330000000000002, + -7.3330000000000002, + -9.5, + -11.833, + -11.5 + ] + }, + { + "type" : "c", + "data" : [ + -4.0670000000000002, + -1.8080000000000001, + -15.622, + -8.6519999999999992, + -18.298999999999999, + -13.521000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 3.2770000000000001, + -2.5379999999999998, + 5.9500000000000002, + -5.452, + 7.9649999999999999, + -8.9789999999999992 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 193.136, + 150.92699999999999 + ] + }, + { + "type" : "l", + "data" : [ + -3, + 0.25 + ] + }, + { + "type" : "c", + "data" : [ + -13.131, + -11.256, + -23.024999999999999, + -19.555, + -27.146000000000001, + -22.997 + ] + }, + { + "type" : "c", + "data" : [ + 1.9690000000000001, + -0.023, + 3.9929999999999999, + -0.039, + 5.9909999999999997, + -0.041000000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 9.5879999999999992, + 10.269, + 24.155000000000001, + 22.788, + 24.155000000000001, + 22.788 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 169.303, + 74.427000000000007 + ] + }, + { + "type" : "c", + "data" : [ + -4.6669999999999998, + -11.833, + -7.8330000000000002, + -23.667000000000002, + -7.8330000000000002, + -23.667000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 13.333, + -6.3330000000000002, + 32, + -15.167, + 32, + -15.167 + ] + }, + { + "type" : "c", + "data" : [ + 2.5, + 9.1669999999999998, + 7.3330000000000002, + 23.332999999999998, + 7.3330000000000002, + 23.332999999999998 + ] + }, + { + "type" : "c", + "data" : [ + -15.833, + 7.5, + -31.5, + 15.5, + -31.5, + 15.5 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 201.697, + 50.649999999999999 + ] + }, + { + "type" : "c", + "data" : [ + -2.2069999999999999, + -6.8630000000000004, + -5.1150000000000002, + -15.666, + -6.7279999999999998, + -19.556000000000001 + ] + }, + { + "type" : "c", + "data" : [ + -2.2170000000000001, + 1.478, + -12.055999999999999, + 6.0979999999999999, + -21.978999999999999, + 10.728 + ] + }, + { + "type" : "c", + "data" : [ + -0.35499999999999998, + -1.502, + -1.2549999999999999, + -5.5060000000000002, + -1.5209999999999999, + -8.5609999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 2.5, + -0.5, + 22.332999999999998, + -6.6669999999999998, + 33.5, + -10.167 + ] + }, + { + "type" : "c", + "data" : [ + 0.33300000000000002, + 2.8330000000000002, + 2.3330000000000002, + 12.833, + 4.6669999999999998, + 25.167000000000002 + ] + }, + { + "type" : "c", + "data" : [ + -1.1240000000000001, + 0.75, + -5.7089999999999996, + 1.873, + -7.9379999999999997, + 2.3889999999999998 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 121.636, + 69.302000000000007 + ] + }, + { + "type" : "l", + "data" : [ + -0.33300000000000002, + -2.3330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 5.3330000000000002, + 3.3330000000000002, + 20.667000000000002, + 18, + 26.167000000000002, + 25.667000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 2, + -1.833, + 1.333, + -2.8330000000000002, + 0.33300000000000002 + ] + }, + { + "type" : "s", + "data" : [ + -3.6669999999999998, + -5.1669999999999998, + -9, + -10.5 + ] + }, + { + "type" : "c", + "data" : [ + -5.3330000000000002, + -5.3330000000000002, + -12, + -13.333, + -14, + -13.167 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 119.136, + 74.135999999999996 + ] + }, + { + "type" : "c", + "data" : [ + -0.66700000000000004, + -6.8330000000000002, + -3.3330000000000002, + -11.333, + -12, + -18.5 + ] + }, + { + "type" : "c", + "data" : [ + -8.6669999999999998, + -7.1669999999999998, + -19.832999999999998, + -16.667000000000002, + -26.667000000000002, + -18.5 + ] + }, + { + "type" : "c", + "data" : [ + 1.167, + 1.167, + 1.5, + 2.3330000000000002, + 1.5, + 2.3330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 9.1669999999999998, + 4.6669999999999998, + 25.667000000000002, + 18.832999999999998, + 29.5, + 24.332999999999998 + ] + }, + { + "type" : "s", + "data" : [ + 6.3330000000000002, + 10, + 7.6669999999999998, + 10.333 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 68.441000000000003, + 165.53200000000001 + ] + }, + { + "type" : "c", + "data" : [ + -0.22900000000000001, + -1.1299999999999999, + -0.44600000000000001, + -2.2149999999999999, + -0.64900000000000002, + -3.2509999999999999 + ] + }, + { + "type" : "c", + "data" : [ + -1.9870000000000001, + -0.38100000000000001, + -3.9079999999999999, + -1.266, + -5.1719999999999997, + -1.9430000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 0.20000000000000001, + 1.1719999999999999, + 0.39900000000000002, + 2.327, + 0.59499999999999997, + 3.4529999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 1.9450000000000001, + 0.73399999999999999, + 3.919, + 1.353, + 5.2270000000000003, + 1.7410000000000001 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 69.659999999999997, + 171.42099999999999 + ] + }, + { + "type" : "c", + "data" : [ + -2.355, + -0.877, + -4.3150000000000004, + -1.6160000000000001, + -5.4539999999999997, + -2.0459999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 0.217, + 1.2050000000000001, + 0.42599999999999999, + 2.347, + 0.622, + 3.4119999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 2.266, + 0.83299999999999996, + 4.2599999999999998, + 1.6919999999999999, + 5.6180000000000003, + 2.3079999999999998 + ] + }, + { + "type" : "c", + "data" : [ + -0.27400000000000002, + -1.266, + -0.53600000000000003, + -2.4910000000000001, + -0.78600000000000003, + -3.6739999999999999 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 61.588999999999999, + 154.12899999999999 + ] + }, + { + "type" : "c", + "data" : [ + 2.2290000000000001, + 0.84799999999999998, + 3.9009999999999998, + 1.444, + 4.9969999999999999, + 1.8220000000000001 + ] + }, + { + "type" : "c", + "data" : [ + -0.184, + -0.999, + -0.35099999999999998, + -1.9299999999999999, + -0.504, + -2.7970000000000002 + ] + }, + { + "type" : "c", + "data" : [ + -1.2529999999999999, + -0.34000000000000002, + -2.919, + -0.92300000000000004, + -4.952, + -1.9159999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 0.151, + 0.96199999999999997, + 0.30399999999999999, + 1.927, + 0.46000000000000002, + 2.891 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 65.795000000000002, + 177.971 + ] + }, + { + "type" : "c", + "data" : [ + 0.36899999999999999, + 1.946, + 0.58999999999999997, + 3.0819999999999999, + 0.58999999999999997, + 3.0819999999999999 + ] + }, + { + "type" : "s", + "data" : [ + 3.25, + 3.75, + 6.5, + 5 + ] + }, + { + "type" : "c", + "data" : [ + -0.317, + -1.3839999999999999, + -0.622, + -2.7320000000000002, + -0.91600000000000004, + -4.0419999999999998 + ] + }, + { + "type" : "c", + "data" : [ + -2.3969999999999998, + -1.0740000000000001, + -4.8019999999999996, + -2.9039999999999999, + -6.1740000000000004, + -4.04 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 64.884, + 145.852 + ] + }, + { + "type" : "c", + "data" : [ + -0.17799999999999999, + -1.214, + -0.249, + -1.8, + -0.249, + -1.8 + ] + }, + { + "type" : "l", + "data" : [ + -4.75, + -1.25 + ] + }, + { + "type" : "c", + "data" : [ + 0.092999999999999999, + 0.67800000000000005, + 0.189, + 1.3660000000000001, + 0.28799999999999998, + 2.0600000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 1.966, + 0.497, + 3.552, + 0.80300000000000005, + 4.7110000000000003, + 0.98999999999999999 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 41.469000000000001, + 94.135999999999996 + ] + }, + { + "type" : "c", + "data" : [ + 0.5, + 5.5, + 2.8330000000000002, + 15.333, + 2.8330000000000002, + 15.333 + ] + }, + { + "type" : "l", + "data" : [ + 7.3330000000000002, + 0.83299999999999996 + ] + }, + { + "type" : "l", + "data" : [ + 1.5, + 1.5 + ] + }, + { + "type" : "c", + "data" : [ + 1, + -3.6669999999999998, + 3.5, + -5.3330000000000002, + 6.5, + -5.1669999999999998 + ] + }, + { + "type" : "s", + "data" : [ + 13.167, + 0, + 13.167, + 0 + ] + }, + { + "type" : "c", + "data" : [ + 0.16700000000000001, + -4.5, + 0.83299999999999996, + -11, + 0.83299999999999996, + -11 + ] + }, + { + "type" : "c", + "data" : [ + -2, + 4, + -3.5, + 4.8330000000000002, + -6.3330000000000002, + 4.1669999999999998 + ] + }, + { + "type" : "c", + "data" : [ + -2.8330000000000002, + -0.66700000000000004, + -22.167000000000002, + -5.5, + -25.832999999999998, + -5.6669999999999998 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 44.302999999999997, + 90.635999999999996 + ] + }, + { + "type" : "l", + "data" : [ + 2.1669999999999998, + -2.8330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 11.667, + 1.5, + 25.332999999999998, + 5.6669999999999998, + 25.332999999999998, + 5.6669999999999998 + ] + }, + { + "type" : "s", + "data" : [ + -1, + 2.8330000000000002, + -2.6669999999999998, + 3.6669999999999998 + ] + }, + { + "type" : "c", + "data" : [ + -12.333, + -2.6669999999999998, + -24.832999999999998, + -6.5, + -24.832999999999998, + -6.5 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 49.636000000000003, + 114.96899999999999 + ] + }, + { + "type" : "c", + "data" : [ + -0.5, + 2.1669999999999998, + -0.5, + 8.5, + -0.5, + 8.5 + ] + }, + { + "type" : "c", + "data" : [ + 3.3330000000000002, + 0, + 4.8330000000000002, + 0.5, + 4.6669999999999998, + 1.833 + ] + }, + { + "type" : "c", + "data" : [ + 1.5, + 0.16700000000000001, + 2.8330000000000002, + 1.5, + 2.8330000000000002, + 1.5 + ] + }, + { + "type" : "c", + "data" : [ + 2.8330000000000002, + -0.33300000000000002, + 5.1669999999999998, + 1.333, + 9.1669999999999998, + 1.5 + ] + }, + { + "type" : "c", + "data" : [ + 4, + 0.16700000000000001, + 5.5, + 2, + 8.5, + -0.66700000000000004 + ] + }, + { + "type" : "c", + "data" : [ + -3.5, + 0.16700000000000001, + -9.1669999999999998, + -0.16700000000000001, + -9.5, + -2.3330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 4.3330000000000002, + -0.33300000000000002, + 9.1669999999999998, + 0.33300000000000002, + 10.333, + -0.5 + ] + }, + { + "type" : "c", + "data" : [ + 0.83299999999999996, + -1, + 0, + -1.667, + 0, + -1.667 + ] + }, + { + "type" : "c", + "data" : [ + -5.1669999999999998, + 0, + -11.167, + -0.33300000000000002, + -11, + -2 + ] + }, + { + "type" : "c", + "data" : [ + 0.16700000000000001, + -1.667, + 4.3330000000000002, + -0.33300000000000002, + 6.5, + -0.16700000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 2.1669999999999998, + 0.16700000000000001, + 6, + 0.33300000000000002, + 6.1669999999999998, + -1.5 + ] + }, + { + "type" : "c", + "data" : [ + 0.16700000000000001, + -1.833, + -2.8330000000000002, + -0.83299999999999996, + -4.8330000000000002, + -0.83299999999999996 + ] + }, + { + "type" : "s", + "data" : [ + -7.5, + 0.16700000000000001, + -7.3330000000000002, + -1.5 + ] + }, + { + "type" : "c", + "data" : [ + 0.16700000000000001, + -1.667, + 2, + -1, + 5.5, + -0.83299999999999996 + ] + }, + { + "type" : "c", + "data" : [ + 3.5, + 0.16700000000000001, + 6, + 0, + 6.1669999999999998, + -1.333 + ] + }, + { + "type" : "c", + "data" : [ + -3, + -0.5, + -7.5, + -1.333, + -9.8330000000000002, + -1.667 + ] + }, + { + "type" : "c", + "data" : [ + -2.3330000000000002, + -0.33300000000000002, + -5.5, + -0.16700000000000001, + -5.5, + -0.16700000000000001 + ] + }, + { + "type" : "c", + "data" : [ + -0.5, + -1.667, + 1.333, + -2.8330000000000002, + 4, + -2.1669999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 2.6669999999999998, + 0.66700000000000004, + 5, + 0.66700000000000004, + 5, + 0.66700000000000004 + ] + }, + { + "type" : "s", + "data" : [ + 3.5, + -0.66700000000000004, + 2.5, + -1.667 + ] + }, + { + "type" : "s", + "data" : [ + -7.3330000000000002, + -0.33300000000000002, + -10.5, + -1 + ] + }, + { + "type" : "c", + "data" : [ + -3.1669999999999998, + -0.66700000000000004, + -6.1669999999999998, + -0.33300000000000002, + -6.8330000000000002, + 2.1669999999999998 + ] + }, + { + "type" : "c", + "data" : [ + -0.66700000000000004, + 2.5, + -0.83299999999999996, + 4.3330000000000002, + -5.5, + 3.8330000000000002 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 52.969000000000001, + 128.30199999999999 + ] + }, + { + "type" : "c", + "data" : [ + -0.16700000000000001, + 3, + -1.333, + 4.5, + -1.333, + 4.5 + ] + }, + { + "type" : "c", + "data" : [ + 7, + 1.167, + 13.667, + 2, + 15.833, + 2.6669999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 2.5, + -1.667, + 2.5, + -4, + 2.5, + -4 + ] + }, + { + "type" : "c", + "data" : [ + -6, + -0.16700000000000001, + -11, + -1.167, + -17, + -3.1669999999999998 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 48.302999999999997, + 83.802000000000007 + ] + }, + { + "type" : "c", + "data" : [ + 0.32000000000000001, + -0.64100000000000001, + 0.71199999999999997, + -1.385, + 1.1579999999999999, + -2.1949999999999998 + ] + }, + { + "type" : "c", + "data" : [ + -3.6150000000000002, + -2.9580000000000002, + -6.4909999999999997, + -4.9720000000000004, + -6.4909999999999997, + -4.9720000000000004 + ] + }, + { + "type" : "c", + "data" : [ + 0.53100000000000003, + -1.044, + 1.0409999999999999, + -2.0150000000000001, + 1.5349999999999999, + -2.927 + ] + }, + { + "type" : "c", + "data" : [ + 2.657, + 2.698, + 5.0460000000000003, + 4.4409999999999998, + 6.4169999999999998, + 5.3449999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 0.38400000000000001, + -0.64600000000000002, + 0.78900000000000003, + -1.3109999999999999, + 1.2110000000000001, + -1.984 + ] + }, + { + "type" : "c", + "data" : [ + -2.4889999999999999, + -1.8580000000000001, + -5.0609999999999999, + -4.0940000000000003, + -6.5010000000000003, + -5.3810000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 0.501, + -0.871, + 0.98599999999999999, + -1.675, + 1.458, + -2.4140000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 2.2799999999999998, + 2.4540000000000002, + 5.4790000000000001, + 4.2859999999999996, + 6.8630000000000004, + 5.0140000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 0.35999999999999999, + -0.52700000000000002, + 0.72799999999999998, + -1.0489999999999999, + 1.1000000000000001, + -1.5629999999999999 + ] + }, + { + "type" : "c", + "data" : [ + -2.8140000000000001, + -2.1619999999999999, + -4.9169999999999998, + -4.6459999999999999, + -6.0709999999999997, + -6.1680000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 0.626, + -0.81299999999999994, + 1.238, + -1.5169999999999999, + 1.8440000000000001, + -2.1259999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 2.7389999999999999, + 2.5390000000000001, + 5.2160000000000002, + 4.4729999999999999, + 6.4610000000000003, + 5.4100000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 0.314, + -0.374, + 0.627, + -0.73299999999999998, + 0.93999999999999995, + -1.077 + ] + }, + { + "type" : "c", + "data" : [ + -2.5760000000000001, + -2.4209999999999998, + -4.665, + -4.9029999999999996, + -5.5129999999999999, + -5.9489999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 0.68400000000000005, + -0.48399999999999999, + 1.375, + -0.871, + 2.0899999999999999, + -1.181 + ] + }, + { + "type" : "c", + "data" : [ + 1.7450000000000001, + 2.5590000000000002, + 3.9750000000000001, + 4.4669999999999996, + 5.1639999999999997, + 5.3869999999999996 + ] + }, + { + "type" : "c", + "data" : [ + 0.45400000000000001, + -0.40400000000000003, + 0.90100000000000002, + -0.75900000000000001, + 1.3360000000000001, + -1.054 + ] + }, + { + "type" : "l", + "data" : [ + -3.5, + -4.1669999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + -4.5, + -1.167, + -11.167, + -2.3330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + -2.8330000000000002, + 2.5, + -10.167, + 14, + -13.667, + 20.5 + ] + }, + { + "type" : "s", + "data" : [ + -5, + 22.5, + -5.1669999999999998, + 28.167000000000002 + ] + }, + { + "type" : "c", + "data" : [ + -0.16700000000000001, + 5.6669999999999998, + -0.83299999999999996, + 12, + 0.5, + 15.333 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + 0.50600000000000001, + -0.025000000000000001, + 1.369, + -0.083000000000000004 + ] + }, + { + "type" : "c", + "data" : [ + 0.068000000000000005, + -3.2719999999999998, + -0.20200000000000001, + -6.2510000000000003, + -0.20200000000000001, + -6.2510000000000003 + ] + }, + { + "type" : "s", + "data" : [ + 0.64000000000000001, + -0.070000000000000007, + 1.667, + -0.16300000000000001 + ] + }, + { + "type" : "v", + "data" : [ + 6.3070000000000004 + ] + }, + { + "type" : "c", + "data" : [ + 0.64400000000000002, + -0.050999999999999997, + 1.375, + -0.113, + 2.1669999999999998, + -0.188 + ] + }, + { + "type" : "v", + "data" : [ + -6.298 + ] + }, + { + "type" : "c", + "data" : [ + 0.52600000000000002, + -0.040000000000000001, + 1.087, + -0.079000000000000001, + 1.6679999999999999, + -0.115 + ] + }, + { + "type" : "l", + "data" : [ + 1.0049999999999999, + 6.1310000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 0.435, + -0.050999999999999997, + 0.878, + -0.105, + 1.327, + -0.16300000000000001 + ] + }, + { + "type" : "v", + "data" : [ + -6.0860000000000003 + ] + }, + { + "type" : "c", + "data" : [ + 0.75800000000000001, + -0.029999999999999999, + 1.52, + -0.049000000000000002, + 2.2610000000000001, + -0.055 + ] + }, + { + "type" : "l", + "data" : [ + 0.32000000000000001, + 5.7729999999999997 + ] + }, + { + "type" : "c", + "data" : [ + 0.91600000000000004, + -0.14499999999999999, + 1.831, + -0.30499999999999999, + 2.7229999999999999, + -0.48199999999999998 + ] + }, + { + "type" : "l", + "data" : [ + -0.111, + -5.2149999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 0.67900000000000005, + 0.048000000000000001, + 1.292, + 0.12, + 1.806, + 0.223 + ] + }, + { + "type" : "l", + "data" : [ + 0.97399999999999998, + 4.3840000000000003 + ] + }, + { + "type" : "c", + "data" : [ + 0.064000000000000001, + -0.017000000000000001, + 0.129, + -0.034000000000000002, + 0.192, + -0.050999999999999997 + ] + }, + { + "type" : "c", + "data" : [ + 0.16700000000000001, + -2.6669999999999998, + 0.33300000000000002, + -6.3330000000000002, + 1.667, + -8 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + -4.3330000000000002, + -0.83299999999999996, + -7.8330000000000002, + -1.667 + ] + }, + { + "type" : "c", + "data" : [ + -3.5, + -0.83299999999999996, + -7.1669999999999998, + 1.333, + -7.1669999999999998, + 1.333 + ] + }, + { + "type" : "l", + "data" : [ + -1, + -3.1669999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + 2.3330000000000002, + -0.16700000000000001, + 5.8330000000000002, + -3.1669999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + 1.333, + -2.8330000000000002, + 2.3330000000000002, + -7 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + 0.5, + -2.6669999999999998, + -0.5, + -5 + ] + }, + { + "type" : "c", + "data" : [ + -1, + -2.3330000000000002, + 0.16700000000000001, + -4, + 1.667, + -4 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + 1.667, + -1, + 2.8330000000000002, + -4 + ] + }, + { + "type" : "c", + "data" : [ + -0.83299999999999996, + -1, + -0.33300000000000002, + -2.8330000000000002, + -2.1669999999999998, + -4.3330000000000002 + ] + }, + { + "type" : "l", + "data" : [ + 1, + -3.5 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + 2.3330000000000002, + 2.8330000000000002, + 6.1669999999999998, + 5.1669999999999998 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 72.468999999999994, + 87.635999999999996 + ] + }, + { + "type" : "c", + "data" : [ + -3, + -10, + -4.3330000000000002, + -21.332999999999998, + -4.3330000000000002, + -21.332999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 1.833, + 0.16700000000000001, + 3, + -1.667, + 2.8330000000000002, + -3.3330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + -0.16700000000000001, + -1.667, + 0.16700000000000001, + -3.8330000000000002, + 0.16700000000000001, + -3.8330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 2.5, + 0, + 6.8330000000000002, + 2.6669999999999998, + 6.5, + -2.1669999999999998 + ] + }, + { + "type" : "l", + "data" : [ + 1.833, + -0.5 + ] + }, + { + "type" : "l", + "data" : [ + -0.66700000000000004, + 1.333 + ] + }, + { + "type" : "c", + "data" : [ + 5.6669999999999998, + 2.5, + 10.167, + 8, + 13, + 11 + ] + }, + { + "type" : "c", + "data" : [ + -0.16700000000000001, + 3.1669999999999998, + -1.333, + 4.8330000000000002, + -1.333, + 4.8330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + -7.5, + -8.5, + -10.667, + -11.667, + -17.5, + -13.5 + ] + }, + { + "type" : "c", + "data" : [ + -0.83299999999999996, + -0.16700000000000001, + -1.167, + 0.83299999999999996, + -1.167, + 0.83299999999999996 + ] + }, + { + "type" : "c", + "data" : [ + 3.6669999999999998, + 11.5, + 7.6669999999999998, + 18.5, + 6.5, + 24.832999999999998 + ] + }, + { + "type" : "c", + "data" : [ + -1.167, + 1.833, + -5.8330000000000002, + 1.833, + -5.8330000000000002, + 1.833 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 71.802999999999997, + 57.136000000000003 + ] + }, + { + "type" : "c", + "data" : [ + 1.333, + -0.5, + 3.5, + -0.16700000000000001, + 3.5, + -0.16700000000000001 + ] + }, + { + "type" : "v", + "data" : [ + 1 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + -1.833, + 0.83299999999999996, + -3.5, + -0.83299999999999996 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 69.302999999999997, + 59.469000000000001 + ] + }, + { + "type" : "c", + "data" : [ + -0.5, + 2, + -0.83299999999999996, + 4.8330000000000002, + -0.83299999999999996, + 4.8330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + -2.8330000000000002, + -0.5, + -7, + -2.1669999999999998, + -8.3330000000000002, + -5 + ] + }, + { + "type" : "c", + "data" : [ + -0.16700000000000001, + -1.833, + -0.5, + -3.3330000000000002, + -0.5, + -3.3330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 4.1669999999999998, + 2.3330000000000002, + 7.8330000000000002, + 3.8330000000000002, + 9.6669999999999998, + 3.5 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 61.040999999999997, + 22.638000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 1.264, + -0.02, + 4.4130000000000003, + -0.20799999999999999, + 7.2619999999999996, + -1.502 + ] + }, + { + "type" : "c", + "data" : [ + -1.5, + -6.3330000000000002, + -16.5, + -5.6669999999999998, + -19, + -5.1669999999999998 + ] + }, + { + "type" : "s", + "data" : [ + -6, + 3.8330000000000002, + -7.3330000000000002, + 6.6669999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 0.40699999999999997, + 0.078, + 0.82099999999999995, + 0.14699999999999999, + 1.2410000000000001, + 0.20899999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 0.35299999999999998, + -0.97099999999999997, + 0.76500000000000001, + -1.4299999999999999, + 0.96699999999999997, + -1.6100000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 0.53900000000000003, + -0.14099999999999999, + 1.0640000000000001, + -0.26900000000000002, + 1.579, + -0.38600000000000001 + ] + }, + { + "type" : "l", + "data" : [ + -0.121, + 2.274 + ] + }, + { + "type" : "c", + "data" : [ + 0.44800000000000001, + 0.037999999999999999, + 0.89700000000000002, + 0.069000000000000006, + 1.347, + 0.094 + ] + }, + { + "type" : "c", + "data" : [ + 0.27800000000000002, + -0.63900000000000001, + 0.83599999999999997, + -1.885, + 1.3680000000000001, + -2.879 + ] + }, + { + "type" : "c", + "data" : [ + 0.91600000000000004, + -0.14899999999999999, + 1.796, + -0.25800000000000001, + 2.6480000000000001, + -0.32500000000000001 + ] + }, + { + "type" : "l", + "data" : [ + -0.63300000000000001, + 3.2909999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 0.73399999999999999, + -0.001, + 1.454, + -0.014999999999999999, + 2.1509999999999998, + -0.035999999999999997 + ] + }, + { + "type" : "l", + "data" : [ + 1.0189999999999999, + -3.3359999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 1.1200000000000001, + 0.02, + 2.2010000000000001, + 0.11600000000000001, + 3.266, + 0.28699999999999998 + ] + }, + { + "type" : "v", + "data" : [ + 2.8050000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 0.27300000000000002, + -0.021999999999999999, + 0.53500000000000003, + -0.044999999999999998, + 0.78400000000000003, + -0.068000000000000005 + ] + }, + { + "type" : "l", + "data" : [ + 1.2050000000000001, + -2.3290000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 0.70599999999999996, + 0.17599999999999999, + 1.409, + 0.38500000000000001, + 2.1179999999999999, + 0.627 + ] + }, + { + "type" : "l", + "data" : [ + 0.13200000000000001, + 1.3859999999999999 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 80.718999999999994, + 45.948 + ] + }, + { + "type" : "c", + "data" : [ + -1.216, + 1.9299999999999999, + -3.617, + 3.1190000000000002, + -4.8330000000000002, + 3.2290000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 0, + 1.2649999999999999, + -2.633, + 3.5030000000000001, + -5 + ] + }, + { + "type" : "c", + "data" : [ + 0.57999999999999996, + -0.47899999999999998, + 0.57999999999999996, + -1.2290000000000001, + -0.12, + -1.6459999999999999 + ] + }, + { + "type" : "c", + "data" : [ + -0.46700000000000003, + 0.23799999999999999, + -1.198, + 0.66100000000000003, + -1.8839999999999999, + 1.27 + ] + }, + { + "type" : "c", + "data" : [ + -1.125, + 1, + -2.75, + -0.25, + -3.25, + -1.5 + ] + }, + { + "type" : "c", + "data" : [ + 0.78100000000000003, + -1.45, + 3.351, + -1.4079999999999999, + 4.9610000000000003, + -1.827 + ] + }, + { + "type" : "c", + "data" : [ + 0.622, + -0.52700000000000002, + -0.128, + -1.3400000000000001, + -0.128, + -1.3400000000000001 + ] + }, + { + "type" : "c", + "data" : [ + -2.8330000000000002, + -3, + -7.1669999999999998, + -4.3330000000000002, + -7.1669999999999998, + -6.8330000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 0, + -1.4139999999999999, + 0.373, + -2.5070000000000001, + 0.69699999999999995, + -3.1909999999999998 + ] + }, + { + "type" : "c", + "data" : [ + -0.64300000000000002, + 0.122, + -1.472, + -0.36499999999999999, + -1.6140000000000001, + -0.93400000000000005 + ] + }, + { + "type" : "c", + "data" : [ + -0.20100000000000001, + -0.80500000000000005, + -0.32300000000000001, + -1.369, + -1.407, + -2.7320000000000002 + ] + }, + { + "type" : "c", + "data" : [ + -0.14699999999999999, + 0.089999999999999997, + -0.29499999999999998, + 0.18099999999999999, + -0.44400000000000001, + 0.27300000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 0.39200000000000002, + 1.0269999999999999, + 0.98699999999999999, + 2.5270000000000001, + 1.7270000000000001, + 4.2089999999999996 + ] + }, + { + "type" : "c", + "data" : [ + 1.375, + 3.125, + -2.125, + 2.625, + -2.25, + 1.125 + ] + }, + { + "type" : "c", + "data" : [ + -0.092999999999999999, + -1.1180000000000001, + -0.74199999999999999, + -2.6520000000000001, + -1.6879999999999999, + -3.931 + ] + }, + { + "type" : "c", + "data" : [ + -0.11899999999999999, + 0.078, + -0.23699999999999999, + 0.157, + -0.35599999999999998, + 0.23599999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 0.75, + 1.8779999999999999, + 1.3100000000000001, + 4.4969999999999999, + 1.7929999999999999, + 6.819 + ] + }, + { + "type" : "c", + "data" : [ + 0.625, + 3, + -2.375, + 2.25, + -2.625, + 1 + ] + }, + { + "type" : "c", + "data" : [ + -0.20499999999999999, + -1.0229999999999999, + -0.82999999999999996, + -3.5550000000000002, + -2.0790000000000002, + -5.7439999999999998 + ] + }, + { + "type" : "c", + "data" : [ + -0.127, + 0.098000000000000004, + -0.253, + 0.19600000000000001, + -0.379, + 0.29599999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 0.56000000000000005, + 2.2879999999999998, + 0.94699999999999995, + 5.6399999999999997, + 1.333, + 7.5730000000000004 + ] + }, + { + "type" : "c", + "data" : [ + 0.5, + 2.5, + -2.375, + 2.5, + -2.625, + 0.5 + ] + }, + { + "type" : "c", + "data" : [ + -0.21199999999999999, + -1.696, + -0.245, + -2.944, + -1.242, + -5.8780000000000001 + ] + }, + { + "type" : "c", + "data" : [ + -0.20799999999999999, + 0.20000000000000001, + -0.41399999999999998, + 0.40200000000000002, + -0.61599999999999999, + 0.60799999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 0.012, + 3.1230000000000002, + -0.0089999999999999993, + 8.4900000000000002, + -0.26800000000000002, + 10.646000000000001 + ] + }, + { + "type" : "c", + "data" : [ + -0.375, + 3.125, + -2.875, + 2.375, + -2.75, + 1 + ] + }, + { + "type" : "c", + "data" : [ + 0.109, + -1.1970000000000001, + -0.161, + -3.1539999999999999, + -0.068000000000000005, + -7.7670000000000003 + ] + }, + { + "type" : "c", + "data" : [ + -0.045999999999999999, + 0.075999999999999998, + -0.095000000000000001, + 0.14999999999999999, + -0.14000000000000001, + 0.22600000000000001 + ] + }, + { + "type" : "c", + "data" : [ + -0.83299999999999996, + 5.3330000000000002, + -1.167, + 12.833, + 4.8330000000000002, + 15.5 + ] + }, + { + "type" : "s", + "data" : [ + 14.292, + 3.3130000000000002, + 18, + 0.5 + ] + }, + { + "type" : "c", + "data" : [ + 4.2080000000000002, + -2.5630000000000002, + 1.083, + -4.3129999999999997, + 1.083, + -6.6879999999999997 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 108.89, + 146.16200000000001 + ] + }, + { + "type" : "c", + "data" : [ + -0.82599999999999996, + -0.79200000000000004, + -1.639, + -1.5860000000000001, + -2.431, + -2.375 + ] + }, + { + "type" : "c", + "data" : [ + -3.331, + 1.829, + -7.6130000000000004, + 3.1619999999999999, + -9.5099999999999998, + 3.7050000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 0.59999999999999998, + 0.995, + 1.222, + 2.0129999999999999, + 1.855, + 3.04 + ] + }, + { + "type" : "c", + "data" : [ + 5.6269999999999998, + -1.5920000000000001, + 8.6549999999999994, + -3.3399999999999999, + 10.085000000000001, + -4.3689999999999998 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 101.191, + 138.18100000000001 + ] + }, + { + "type" : "c", + "data" : [ + -2.1819999999999999, + 1.7090000000000001, + -5.9850000000000003, + 3.141, + -7.5350000000000001, + 3.6819999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 0.5, + 0.89500000000000002, + 1.054, + 1.857, + 1.647, + 2.8679999999999999 + ] + }, + { + "type" : "c", + "data" : [ + 4.2030000000000003, + -1.0980000000000001, + 7.0430000000000001, + -2.5150000000000001, + 8.6660000000000004, + -3.492 + ] + }, + { + "type" : "c", + "data" : [ + -0.99299999999999999, + -1.046, + -1.9259999999999999, + -2.0699999999999998, + -2.778, + -3.0579999999999998 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 102.346, + 156.19399999999999 + ] + }, + { + "type" : "c", + "data" : [ + 5.8760000000000003, + -1.6279999999999999, + 9.702, + -4.0439999999999996, + 11.529999999999999, + -5.4039999999999999 + ] + }, + { + "type" : "c", + "data" : [ + -0.83399999999999996, + -0.752, + -1.673, + -1.518, + -2.508, + -2.2930000000000001 + ] + }, + { + "type" : "c", + "data" : [ + -2.7290000000000001, + 2.4569999999999999, + -8.6899999999999995, + 4.1589999999999998, + -10.893000000000001, + 4.7249999999999996 + ] + }, + { + "type" : "c", + "data" : [ + 0.627, + 1.002, + 1.2529999999999999, + 1.998, + 1.871, + 2.9729999999999999 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 123.27500000000001, + 158.893 + ] + }, + { + "type" : "c", + "data" : [ + -3.9580000000000002, + 2.7919999999999998, + -11.935, + 5.4870000000000001, + -15.034000000000001, + 6.4740000000000002 + ] + }, + { + "type" : "c", + "data" : [ + 1.1679999999999999, + 1.7929999999999999, + 1.895, + 2.8940000000000001, + 1.895, + 2.8940000000000001 + ] + }, + { + "type" : "s", + "data" : [ + 12.5, + -3.3330000000000002, + 16.5, + -6.6669999999999998 + ] + }, + { + "type" : "c", + "data" : [ + -0.89200000000000002, + -0.69399999999999995, + -2.0390000000000001, + -1.613, + -3.3610000000000002, + -2.7010000000000001 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 117.5, + 154 + ] + }, + { + "type" : "c", + "data" : [ + -3.0329999999999999, + 2.2799999999999998, + -10.208, + 4.5449999999999999, + -13.112, + 5.4020000000000001 + ] + }, + { + "type" : "c", + "data" : [ + 0.65700000000000003, + 1.026, + 1.2849999999999999, + 2.0019999999999998, + 1.869, + 2.907 + ] + }, + { + "type" : "c", + "data" : [ + 6.3529999999999998, + -1.9630000000000001, + 11.130000000000001, + -4.7709999999999999, + 13.516, + -6.351 + ] + }, + { + "type" : "c", + "data" : [ + -0.73499999999999999, + -0.626, + -1.496, + -1.2809999999999999, + -2.2730000000000001, + -1.958 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 99.332999999999998, + 135.91499999999999 + ] + }, + { + "type" : "c", + "data" : [ + -0.58199999999999996, + -0.755, + -1.097, + -1.476, + -1.5309999999999999, + -2.1539999999999999 + ] + }, + { + "type" : "c", + "data" : [ + -2.3330000000000002, + 1.5, + -6.6669999999999998, + 3, + -6.6669999999999998, + 3 + ] + }, + { + "type" : "c", + "data" : [ + 0.17299999999999999, + 0.51900000000000002, + 0.48299999999999998, + 1.2210000000000001, + 0.90200000000000002, + 2.0659999999999998 + ] + }, + { + "type" : "c", + "data" : [ + 2.7589999999999999, + -0.0080000000000000002, + 4.9850000000000003, + -0.77400000000000002, + 7.2960000000000003, + -2.9129999999999998 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 66.385999999999996, + 44.677 + ] + }, + { + "type" : "c", + "data" : [ + 2.125, + -1.75, + 5.375, + -4.25, + 5.125, + -7.25 + ] + }, + { + "type" : "l", + "data" : [ + -1.25, + -0.625 + ] + }, + { + "type" : "l", + "data" : [ + -0.125, + -0.75 + ] + }, + { + "type" : "c", + "data" : [ + -5.125, + 3.25, + -7.75, + 4.375, + -8.5, + 5 + ] + }, + { + "type" : "c", + "data" : [ + 0.875, + 1.875, + 2.5, + 1.375, + 2.5, + 1.375 + ] + }, + { + "type" : "c", + "data" : [ + 2.125, + -1.125, + 4, + -2.375, + 4, + -2.375 + ] + }, + { + "type" : "c", + "data" : [ + -1.875, + 2.125, + -2.5, + 3.125, + -2.5, + 3.125 + ] + }, + { + "type" : "s", + "data" : [ + -0.125, + 0.875, + 0.75, + 1.5 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "place" : ".04455, -.0227, .0227, .04455, 153, 58", + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 7585651 + }, + "form" : { + "ellipse" : { + "cy" : 210, + "type" : "Ellipse", + "ry" : 18, + "rx" : 27, + "cx" : 195 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 4352322 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 7585651 + }, + "form" : { + "ellipse" : { + "cy" : 102, + "type" : "Ellipse", + "ry" : 18, + "rx" : 225, + "cx" : 645 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 4352322 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 7585651 + }, + "form" : { + "ellipse" : { + "cy" : 156, + "type" : "Ellipse", + "ry" : 18, + "rx" : 230, + "cx" : 645 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 4352322 + }, + "dashes" : [ + + ], + "width" : 1 + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16768891 + }, + "form" : { + "x" : 595, + "w" : 100, + "type" : "Rect", + "y" : 192, + "h" : 36 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 8680770 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 16768891 + }, + "form" : { + "x" : 507, + "w" : 276, + "type" : "Rect", + "y" : 246, + "h" : 36 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 8680770 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 16768891 + }, + "form" : { + "x" : 592, + "w" : 106, + "type" : "Rect", + "y" : 300, + "h" : 36 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 8680770 + }, + "dashes" : [ + + ], + "width" : 1 + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 201, + 193 + ] + }, + { + "type" : "C", + "data" : [ + 212, + 170, + 215, + 158, + 240, + 143 + ] + }, + { + "type" : "C", + "data" : [ + 279, + 122, + 377, + 112, + 428, + 107 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 216, + 200 + ] + }, + { + "type" : "C", + "data" : [ + 224, + 196, + 232, + 193, + 240, + 191 + ] + }, + { + "type" : "C", + "data" : [ + 311, + 174, + 390, + 165, + 423, + 161 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 221, + 210 + ] + }, + { + "type" : "C", + "data" : [ + 295, + 210, + 497, + 210, + 595, + 210 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 221, + 210 + ] + }, + { + "type" : "C", + "data" : [ + 295, + 210, + 497, + 210, + 595, + 210 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 216, + 220 + ] + }, + { + "type" : "C", + "data" : [ + 224, + 224, + 232, + 227, + 240, + 229 + ] + }, + { + "type" : "C", + "data" : [ + 334, + 252, + 444, + 261, + 506, + 264 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 201, + 227 + ] + }, + { + "type" : "C", + "data" : [ + 212, + 253, + 215, + 265, + 240, + 280 + ] + }, + { + "type" : "C", + "data" : [ + 352, + 344, + 508, + 337, + 592, + 325 + ] + } + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 433, + 107, + 425, + 111, + 425, + 103 + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 428, + 160, + 421, + 165, + 420, + 157 + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 600, + 210, + 592, + 214, + 592, + 206 + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 511, + 264, + 503, + 268, + 503, + 260 + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 597, + 324, + 590, + 329, + 588, + 321 + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 4352322 + }, + "node" : "Text", + "align" : "min", + "text" : "http:\/\/prismstandard.org\/vocabularies\/1.0\/resourcetype.xml#birdsEye", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 4352322 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "place" : "1, 0, 0, 1, 458, 105", + "font" : { + "name" : "dialog, sans-serif", + "size" : 10, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 4352322 + }, + "node" : "Text", + "align" : "min", + "text" : "http:\/\/prismstandard.org\/vocabularies\/1.0\/resourcetype.xml#illustration", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 4352322 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "place" : "1, 0, 0, 1, 453, 159", + "font" : { + "name" : "dialog, sans-serif", + "size" : 10, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 4352322 + }, + "node" : "Text", + "align" : "min", + "text" : "image\/svg+xml", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 4352322 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "place" : "1, 0, 0, 1, 604, 213", + "font" : { + "name" : "dialog, sans-serif", + "size" : 10, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 4352322 + }, + "node" : "Text", + "align" : "min", + "text" : "Line drawing of woman in antique attire, ...", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 4352322 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "place" : "1, 0, 0, 1, 530, 267", + "font" : { + "name" : "dialog, sans-serif", + "size" : 10, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 4352322 + }, + "node" : "Text", + "align" : "min", + "text" : "online:", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 4352322 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "place" : "1, 0, 0, 1, 177, 213", + "font" : { + "name" : "dialog, sans-serif", + "size" : 10, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 4352322 + }, + "node" : "Text", + "align" : "min", + "text" : "Sibyll Trelawney", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 4352322 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "place" : "1, 0, 0, 1, 601, 321", + "font" : { + "name" : "dialog, sans-serif", + "size" : 10, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "node" : "Text", + "align" : "min", + "text" : "http:\/\/purl.org\/dc\/elements\/1.1\/type", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "place" : "1, 0, 0, 1, 256, 158", + "font" : { + "name" : "dialog, sans-serif", + "size" : 10, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "node" : "Text", + "align" : "min", + "text" : "http:\/\/purl.org\/dc\/elements\/1.1\/format", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "place" : "1, 0, 0, 1, 250, 206", + "font" : { + "name" : "dialog, sans-serif", + "size" : 10, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "node" : "Text", + "align" : "min", + "text" : "http:\/\/purl.org\/dc\/elements\/1.1\/subject", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "place" : "1, 0, 0, 1, 250, 276", + "font" : { + "name" : "dialog, sans-serif", + "size" : 10, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "node" : "Text", + "align" : "min", + "text" : "http:\/\/purl.org\/dc\/elements\/1.1\/type", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "place" : "1, 0, 0, 1, 256, 105", + "font" : { + "name" : "dialog, sans-serif", + "size" : 10, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "node" : "Text", + "align" : "min", + "text" : "http:\/\/purl.org\/dc\/elements\/1.1\/description", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 5921230 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "place" : "1, 0, 0, 1, 240, 225", + "font" : { + "name" : "dialog, sans-serif", + "size" : 10, + "weight" : "normal" + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/metadata-example-01-t-manual.svg b/MacawTests/w3cSVGTests/metadata-example-01-t-manual.svg new file mode 100755 index 00000000..199fd980 --- /dev/null +++ b/MacawTests/w3cSVGTests/metadata-example-01-t-manual.svg @@ -0,0 +1,160 @@ + + + + + + + + + + + + +

+ Check that metadata in a variety of namespaces, inside a metadata + element, does not affect rendering in any way. The file is not valid to + the SVG 1.1 DTD, but is well formed. +

+

The diagram on the table is, by the way, a visualization of the + RDF metadata in the graphic.

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered result should match the reference image and there should be + no error messages or warnings +

+
+ + $RCSfile: metadata-example-01-t.svg,v $ + + + + + + + + + + + + + Line drawing of woman in antique attire, + which looks legal or perhaps mystical. + image/svg+xml + Sibyll Trelawney + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://prismstandard.org/vocabularies/1.0/resourcetype.xml#birdsEye + http://prismstandard.org/vocabularies/1.0/resourcetype.xml#illustration + image/svg+xml + Line drawing of woman in antique attire, ... + online: + Sibyll Trelawney + + + http://purl.org/dc/elements/1.1/type + http://purl.org/dc/elements/1.1/format + http://purl.org/dc/elements/1.1/subject + http://purl.org/dc/elements/1.1/type + http://purl.org/dc/elements/1.1/description + + + + + + $Revision: 1.6 $ + + + + + diff --git a/MacawTests/w3cSVGTests/painting-control-02-f-manual.reference b/MacawTests/w3cSVGTests/painting-control-02-f-manual.reference new file mode 100644 index 00000000..43fa5781 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-control-02-f-manual.reference @@ -0,0 +1,213 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16753920 + }, + "dashes" : [ + 10, + 20, + 20 + ], + "width" : 20 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 100, + 100 + ] + }, + { + "type" : "L", + "data" : [ + 100, + 190 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + 10, + 20, + 20 + ], + "width" : 20 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 100, + 190 + ] + }, + { + "type" : "L", + "data" : [ + 100, + 100 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16753920 + }, + "dashes" : [ + 10, + 10, + 10 + ], + "width" : 20 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 200, + 100 + ] + }, + { + "type" : "L", + "data" : [ + 200, + 190 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + 10, + 10, + 10 + ], + "width" : 20 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 200, + 190 + ] + }, + { + "type" : "L", + "data" : [ + 200, + 100 + ] + } + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.3 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/painting-control-02-f-manual.svg b/MacawTests/w3cSVGTests/painting-control-02-f-manual.svg new file mode 100755 index 00000000..43913197 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-control-02-f-manual.svg @@ -0,0 +1,65 @@ + + + + + + + + + + +

+ 'Stroke' attributes affected by directionality start at the point at which the graphics element starts. +

+

+ The test creates two 'path' elements that have the same 'stroke-dasharray' assignment. The paths will create the same visual shape, + but the start and end points will be opposite. Test passes if the 'stroke-dasharray' of each path is drawn differently. + Second subtest is the same but with stroke-dashoffset. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there are two lines, each composed of alternating black and orange boxes. +

+
+ + $RCSfile: painting-control-02-f.svg,v $ + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + diff --git a/MacawTests/w3cSVGTests/painting-control-03-f-manual.reference b/MacawTests/w3cSVGTests/painting-control-03-f-manual.reference new file mode 100644 index 00000000..c0e3bc73 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-control-03-f-manual.reference @@ -0,0 +1,239 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 100 + ] + }, + { + "type" : "L", + "data" : [ + 50, + 150 + ] + }, + { + "type" : "L", + "data" : [ + 100, + 200 + ] + }, + { + "type" : "L", + "data" : [ + 175, + 175 + ] + }, + { + "type" : "L", + "data" : [ + 150, + 150 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 100 + ] + }, + { + "type" : "L", + "data" : [ + 50, + 150 + ] + }, + { + "type" : "L", + "data" : [ + 100, + 200 + ] + }, + { + "type" : "L", + "data" : [ + 175, + 175 + ] + }, + { + "type" : "L", + "data" : [ + 150, + 150 + ] + } + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 200, + 100, + 250, + 150, + 300, + 200, + 375, + 175, + 350, + 150 + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 200, + 100, + 250, + 150, + 300, + 200, + 375, + 175, + 350, + 150, + 200, + 100 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.5 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/painting-control-03-f-manual.svg b/MacawTests/w3cSVGTests/painting-control-03-f-manual.svg new file mode 100755 index 00000000..d7640235 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-control-03-f-manual.svg @@ -0,0 +1,65 @@ + + + + + + + + + + +

+ Open polyline and path elements are filled as if they were closed with the last point linked to the first point. +

+

+ The test specifies two polylines and two paths on the page with five points each. One polyline/path closes the shape with the fifth + point linking to the first. One polyline/path is open (no link from fifth point to first). Both polylines/paths are filled. + The open subpath is placed over the closed one. Test passes if the open subpath fills over the closed path. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if two black shapes are shown and no red visible on the page. +

+
+ + $RCSfile: painting-control-03-f.svg,v $ + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + diff --git a/MacawTests/w3cSVGTests/painting-control-06-f-manual.reference b/MacawTests/w3cSVGTests/painting-control-06-f-manual.reference new file mode 100644 index 00000000..938c02af --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-control-06-f-manual.reference @@ -0,0 +1,122 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 65280 + }, + "form" : { + "x" : 96, + "w" : 96, + "type" : "Rect", + "y" : 96, + "h" : 96 + }, + "node" : "Shape" + }, + { + "contents" : [ + + ], + "node" : "Group" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 196.5, + "w" : 95, + "type" : "Rect", + "y" : 196.5, + "h" : 95 + }, + "node" : "Shape" + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 65280 + }, + "form" : { + "x" : 196, + "w" : 96, + "type" : "Rect", + "y" : 196, + "h" : 96 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.4 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/painting-control-06-f-manual.svg b/MacawTests/w3cSVGTests/painting-control-06-f-manual.svg new file mode 100755 index 00000000..66b20af6 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-control-06-f-manual.svg @@ -0,0 +1,64 @@ + + + + + + + + + + +

+ Setting the 'visibility' property to 'hidden' on a 'g' tag will affect its children, unless the children of the 'g' tag override the parent setting. +

+

+ Have a 'g' tag with an red filled shape as a child. Set 'visibility: hidden' on the 'g' tag. Verify no red is on the page. + Also, have a 'g' tag with a green filled shape as a child. Set 'visibility: hidden' on the 'g' tag. Set 'visibility: visible' on + the child tag. Verify that the green 'rect' renders on the page. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there are two green squares visible on the page, and no red. +

+
+ + $RCSfile: painting-control-06-f.svg,v $ + + + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + + diff --git a/MacawTests/w3cSVGTests/painting-fill-01-t-manual.reference b/MacawTests/w3cSVGTests/painting-fill-01-t-manual.reference new file mode 100644 index 00000000..be069917 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-fill-01-t-manual.reference @@ -0,0 +1,165 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Basic paint: fill properties.", + "place" : "1, 0, 0, 1, 40, 42", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 36, + "weight" : "normal" + } + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 75, + "w" : 100, + "type" : "Rect", + "y" : 70, + "h" : 160 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "form" : { + "x" : 275, + "w" : 100, + "type" : "Rect", + "y" : 70, + "h" : 160 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "fill=\"none\"", + "place" : "1, 0, 0, 1, 75, 280", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 36, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "fill=\"green\"", + "place" : "1, 0, 0, 1, 275, 280", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 36, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.7 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/painting-fill-01-t-manual.svg b/MacawTests/w3cSVGTests/painting-fill-01-t-manual.svg new file mode 100755 index 00000000..edf6d2e3 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-fill-01-t-manual.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the fill properties fill:none, + and fill with a color (fill:green) +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ There should be two rectangles, the rectangle on the left hollow (fill:none) and the rectangle on the right filled with green. +

+
+ + $RCSfile: painting-fill-01-t.svg,v $ + + + + + + + + + Basic paint: fill properties. + + + + + + + + + + fill="none" + fill="green" + + + $Revision: 1.7 $ + + + + + diff --git a/MacawTests/w3cSVGTests/painting-fill-02-t-manual.reference b/MacawTests/w3cSVGTests/painting-fill-02-t-manual.reference new file mode 100644 index 00000000..08bcd317 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-fill-02-t-manual.reference @@ -0,0 +1,190 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Basic paint: fill properties.", + "place" : "1, 0, 0, 1, 30, 42", + "font" : { + "name" : "Arial", + "size" : 36, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "fill=\"currentColor\"", + "place" : "1, 0, 0, 1, 100, 80", + "font" : { + "name" : "Arial", + "size" : 36, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "form" : { + "x" : 75, + "w" : 100, + "type" : "Rect", + "y" : 110, + "h" : 140 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 275, + "w" : 100, + "type" : "Rect", + "y" : 110, + "h" : 140 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "green", + "place" : "1, 0, 0, 1, 80, 280", + "font" : { + "name" : "Arial", + "size" : 36, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "blue", + "place" : "1, 0, 0, 1, 290, 280", + "font" : { + "name" : "Arial", + "size" : 36, + "weight" : "normal" + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.5 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/painting-fill-02-t-manual.svg b/MacawTests/w3cSVGTests/painting-fill-02-t-manual.svg new file mode 100755 index 00000000..36413ac7 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-fill-02-t-manual.svg @@ -0,0 +1,69 @@ + + + + + + + + + + + + +

+ The test uses the "currentColor" value for the "fill" attribute. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rectangle on the left should be green filled, the rectangle on the right should be blue. + The text above the rectangles should be black. +

+
+ + $RCSfile: painting-fill-02-t.svg,v $ + + + + + + + + + + + Basic paint: fill properties. + fill="currentColor" + + + + + + + + + green + blue + + + + + $Revision: 1.5 $ + + + + + diff --git a/MacawTests/w3cSVGTests/painting-fill-03-t-manual.reference b/MacawTests/w3cSVGTests/painting-fill-03-t-manual.reference new file mode 100644 index 00000000..92b216d0 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-fill-03-t-manual.reference @@ -0,0 +1,223 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Basic paint: fill properties.", + "place" : "1, 0, 0, 1, 30, 42", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 36, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 65280 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 110, + 75 + ] + }, + { + "type" : "l", + "data" : [ + 50, + 160 + ] + }, + { + "type" : "l", + "data" : [ + -130, + -100 + ] + }, + { + "type" : "l", + "data" : [ + 160, + 0 + ] + }, + { + "type" : "l", + "data" : [ + -130, + 100 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 65280 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 365, + 75 + ] + }, + { + "type" : "l", + "data" : [ + 50, + 160 + ] + }, + { + "type" : "l", + "data" : [ + -130, + -100 + ] + }, + { + "type" : "l", + "data" : [ + 160, + 0 + ] + }, + { + "type" : "l", + "data" : [ + -130, + 100 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "fill-rule=\"evenodd\"", + "place" : "1, 0, 0, 1, 10, 282", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 24, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "fill-rule=\"nonzero\"", + "place" : "1, 0, 0, 1, 260, 282", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 24, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.7 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/painting-fill-03-t-manual.svg b/MacawTests/w3cSVGTests/painting-fill-03-t-manual.svg new file mode 100755 index 00000000..158f7cf4 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-fill-03-t-manual.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the fill rule properties evenodd and nonzero +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ There should be two green filled stars, the leftmost star should be unfilled in the very center. +

+
+ + $RCSfile: painting-fill-03-t.svg,v $ + + + + + + + + + Basic paint: fill properties. + + + + + + + + fill-rule="evenodd" + fill-rule="nonzero" + + + $Revision: 1.7 $ + + + + + diff --git a/MacawTests/w3cSVGTests/painting-fill-04-t-manual.reference b/MacawTests/w3cSVGTests/painting-fill-04-t-manual.reference new file mode 100644 index 00000000..758b2cde --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-fill-04-t-manual.reference @@ -0,0 +1,236 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : "1, 0, 0, 1, 120, 30", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 90, + "type" : "Rect", + "y" : 0, + "h" : 70 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 8388736 + }, + "dashes" : [ + + ], + "width" : 5 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 100, + "w" : 90, + "type" : "Rect", + "y" : 0, + "h" : 70 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 8388736 + }, + "dashes" : [ + + ], + "width" : 5 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 0, + "w" : 90, + "type" : "Rect", + "y" : 80, + "h" : 70 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 8388736 + }, + "dashes" : [ + + ], + "width" : 2 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 100, + "w" : 90, + "type" : "Rect", + "y" : 80, + "h" : 70 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "dashes" : [ + + ], + "width" : 5 + } + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 0, + "w" : 90, + "type" : "Rect", + "y" : 160, + "h" : 70 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 8388736 + }, + "dashes" : [ + + ], + "width" : 5 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 100, + "w" : 90, + "type" : "Rect", + "y" : 160, + "h" : 70 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 8388736 + }, + "dashes" : [ + + ], + "width" : 5 + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/painting-fill-04-t-manual.svg b/MacawTests/w3cSVGTests/painting-fill-04-t-manual.svg new file mode 100755 index 00000000..73381091 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-fill-04-t-manual.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + +

+ This tests inheritance of three properties: "fill", "stroke" and "stroke-width". There is a "g" element (id="G1") which + sets fill="blue", stroke="purple", and stroke-width="5". The first two rectangles on top should inherit all those + properties. The middle left rectangle has fill="yellow" and stroke-width="2", it should inherit the stroke="purple" + from the parent container. The middle rectangle on the right has stroke="yellow", it should inherit fill and + stroke-width from the parent "g". The bottom two rectangles are in another "g" element (id="G2") which is a child + of "G1". "G2" sets fill="yellow". It should inherit the stroke and stroke width from the parent "G1". The two + bottom rectangles set no fill or stroke properties, they should inherit through the parents, stroke="purple" + and stroke-width="5". +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image, except for possible + variations in the labeling text (per CSS2 rules). +

+

+ The test uses the "rect" element, as well as basic fill (solid primary colors), + stroke (black 1-pixel lines), font-family (Arial) and font-size properties. +

+
+ + $RCSfile: painting-fill-04-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/MacawTests/w3cSVGTests/painting-fill-05-b-manual.reference b/MacawTests/w3cSVGTests/painting-fill-05-b-manual.reference new file mode 100644 index 00000000..29f44cf7 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-fill-05-b-manual.reference @@ -0,0 +1,381 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 4278190335 + }, + "form" : { + "x" : 20, + "w" : 60, + "type" : "Rect", + "y" : 20, + "h" : 60 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 3422552319 + }, + "form" : { + "x" : 50, + "w" : 60, + "type" : "Rect", + "y" : 50, + "h" : 60 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 2566914303 + }, + "form" : { + "x" : 80, + "w" : 60, + "type" : "Rect", + "y" : 80, + "h" : 60 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 1711276287 + }, + "form" : { + "x" : 110, + "w" : 60, + "type" : "Rect", + "y" : 110, + "h" : 60 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 838861055 + }, + "form" : { + "x" : 140, + "w" : 60, + "type" : "Rect", + "y" : 140, + "h" : 60 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 170, + "w" : 60, + "type" : "Rect", + "y" : 170, + "h" : 60 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 4278190335 + }, + "form" : { + "x" : 200, + "w" : 60, + "type" : "Rect", + "y" : 20, + "h" : 60 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 4278190335 + }, + "form" : { + "x" : 230, + "w" : 60, + "type" : "Rect", + "y" : 50, + "h" : 60 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 4278190335 + }, + "form" : { + "x" : 260, + "w" : 60, + "type" : "Rect", + "y" : 80, + "h" : 60 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 290, + "w" : 60, + "type" : "Rect", + "y" : 110, + "h" : 60 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 320, + "w" : 60, + "type" : "Rect", + "y" : 140, + "h" : 60 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 350, + "w" : 60, + "type" : "Rect", + "y" : 170, + "h" : 60 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.5 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/painting-fill-05-b-manual.svg b/MacawTests/w3cSVGTests/painting-fill-05-b-manual.svg new file mode 100755 index 00000000..a508b69b --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-fill-05-b-manual.svg @@ -0,0 +1,75 @@ + + + + + + + + + + + + +

+ Test using "fill-opacity" values for "rect" element. + This test verifies that opacity is clamped to the + specified range. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The six rect elements on the left have varying 'fill-opacity' values + within the valid range of 0 to 1. The six elements on the right have + 'fill-opacity' values outside the 0 to 1 range, and must be clamped. + The top three rect elements on the right must have their 'fill-opacity' + clamped to 0, while the bottom three rect elements on the right must + be clamped to 1. +

+
+ + $RCSfile: painting-fill-05-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/MacawTests/w3cSVGTests/painting-stroke-01-t-manual.reference b/MacawTests/w3cSVGTests/painting-stroke-01-t-manual.reference new file mode 100644 index 00000000..71b411c7 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-stroke-01-t-manual.reference @@ -0,0 +1,157 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Basic paint: stroke properties.", + "place" : "1, 0, 0, 1, 10, 40", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 36, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 90, + "w" : 300, + "type" : "Rect", + "y" : 70, + "h" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 90, + "w" : 300, + "type" : "Rect", + "y" : 190, + "h" : 50 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "dashes" : [ + + ], + "width" : 20 + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "stroke=\"none\"", + "place" : "1, 0, 0, 1, 140, 150", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 30, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "stroke=\"green\"", + "place" : "1, 0, 0, 1, 148, 280", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 30, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.8 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/painting-stroke-01-t-manual.svg b/MacawTests/w3cSVGTests/painting-stroke-01-t-manual.svg new file mode 100755 index 00000000..837a64b2 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-stroke-01-t-manual.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the stroke properties ("stroke") + in combination with the "rect" element . + The pair should be rendered as two blue rectangles, + the upper one without a stroke and the lower with a green stroke. +

+

+ The test uses the "rect" element, as well as basic "fill" (solid primary colors), + "stroke", stroke="green", "font-family" and "font-size" attributes. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image, except for possible + variations in the labeling text (per CSS2 rules). +

+
+ + $RCSfile: painting-stroke-01-t.svg,v $ + + + + + + + + + + + + Basic paint: stroke properties. + + + stroke="none" + stroke="green" + + + $Revision: 1.8 $ + + + + + diff --git a/MacawTests/w3cSVGTests/painting-stroke-02-t-manual.reference b/MacawTests/w3cSVGTests/painting-stroke-02-t-manual.reference new file mode 100644 index 00000000..ef53e767 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-stroke-02-t-manual.reference @@ -0,0 +1,161 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Basic paint: stroke properties.", + "place" : "1, 0, 0, 1, 10, 40", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 36, + "weight" : "normal" + } + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16753920 + }, + "dashes" : [ + + ], + "width" : 20 + }, + "form" : { + "x" : 90, + "w" : 300, + "type" : "Rect", + "y" : 70, + "h" : 50 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "round", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16753920 + }, + "dashes" : [ + + ], + "width" : 20 + }, + "form" : { + "x" : 90, + "w" : 300, + "type" : "Rect", + "y" : 190, + "h" : 50 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "stroke-width=\"20\"", + "place" : "1, 0, 0, 1, 120, 160", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 40, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "stroke-linejoin=\"round\"", + "place" : "1, 0, 0, 1, 58, 290", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 40, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.7 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/painting-stroke-02-t-manual.svg b/MacawTests/w3cSVGTests/painting-stroke-02-t-manual.svg new file mode 100755 index 00000000..3aaf61a8 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-stroke-02-t-manual.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the stroke properties ("stroke", "stroke-width", + "stroke-linejoin") in combination with the "rect" element. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The pair should be rendered as two blue rectangles without an interior fill. + The upper rectangle should have a thick stroke and sharp corners. + The lower rectangle should have a thick stroke and round corners. +

+
+ + $RCSfile: painting-stroke-02-t.svg,v $ + + + + + + + + + + + + Basic paint: stroke properties. + + + stroke-width="20" + stroke-linejoin="round" + + + $Revision: 1.7 $ + + + + + diff --git a/MacawTests/w3cSVGTests/painting-stroke-03-t-manual.reference b/MacawTests/w3cSVGTests/painting-stroke-03-t-manual.reference new file mode 100644 index 00000000..65543917 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-stroke-03-t-manual.reference @@ -0,0 +1,199 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Basic paint: stroke properties.", + "place" : "1, 0, 0, 1, 10, 40", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 36, + "weight" : "normal" + } + }, + { + "stroke" : { + "join" : "miter", + "cap" : "round", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 30 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 160, + 70 + ] + }, + { + "type" : "l", + "data" : [ + 200, + 20 + ] + }, + { + "type" : "l", + "data" : [ + -200, + 20 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 30 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 160, + 190 + ] + }, + { + "type" : "l", + "data" : [ + 200, + 20 + ] + }, + { + "type" : "l", + "data" : [ + -200, + 20 + ] + } + ] + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "stroke-linecap=\"round\"", + "place" : "1, 0, 0, 1, 60, 160", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 40, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "stroke-miterlimit=\"1\"", + "place" : "1, 0, 0, 1, 130, 280", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 40, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/painting-stroke-03-t-manual.svg b/MacawTests/w3cSVGTests/painting-stroke-03-t-manual.svg new file mode 100755 index 00000000..719a8b0a --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-stroke-03-t-manual.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + +

+ This test checks the basic capability of handling the stroke properties ("stroke", "stroke-width" + "stroke-linejoin", "stroke-linecap", "stroke-miterlimit") + with straight-line path commands. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The two paths should be rendered as two blue line segments. + The upper segment should have round end caps. The lower segment + should be chopped off where the two line segments meet. +

+
+ + $RCSfile: painting-stroke-03-t.svg,v $ + + + + + + + + + + + + Basic paint: stroke properties. + + + stroke-linecap="round" + stroke-miterlimit="1" + + + $Revision: 1.6 $ + + + + + diff --git a/MacawTests/w3cSVGTests/painting-stroke-05-t-manual.reference b/MacawTests/w3cSVGTests/painting-stroke-05-t-manual.reference new file mode 100644 index 00000000..f1eea5c4 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-stroke-05-t-manual.reference @@ -0,0 +1,805 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "mid", + "text" : "Rendering thin strokes", + "place" : "1, 0, 0, 1, 240, 30", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 20, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 30, + 50, + 30, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 0.001 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 50, + 50, + 50, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 0.10000000000000001 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 70, + 50, + 70, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 0.20000000000000001 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 90, + 50, + 90, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 0.29999999999999999 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 110, + 50, + 110, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 0.40000000000000002 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 130, + 50, + 130, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 0.5 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 150, + 50, + 150, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 0.59999999999999998 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 170, + 50, + 170, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 0.69999999999999996 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 190, + 50, + 190, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 0.80000000000000004 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 210, + 50, + 210, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 0.90000000000000002 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 230, + 50, + 230, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 250, + 50, + 250, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1.1000000000000001 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 270, + 50, + 270, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1.2 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 290, + 50, + 290, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1.3 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 310, + 50, + 310, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1.3999999999999999 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 330, + 50, + 330, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1.5 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 350, + 50, + 350, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1.6000000000000001 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 370, + 50, + 370, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1.7 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 390, + 50, + 390, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1.8 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 410, + 50, + 410, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1.8999999999999999 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 430, + 50, + 430, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 2 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 450, + 50, + 450, + 300 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 2.1000000000000001 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 100, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 139 + }, + "dashes" : [ + + ], + "width" : 0.10000000000000001 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 150, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 150 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 139 + }, + "dashes" : [ + + ], + "width" : 0.5 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 200, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 200 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 139 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 250, + "type" : "Line", + "x1" : 10, + "x2" : 470, + "y2" : 250 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 139 + }, + "dashes" : [ + + ], + "width" : 2 + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/painting-stroke-05-t-manual.svg b/MacawTests/w3cSVGTests/painting-stroke-05-t-manual.svg new file mode 100755 index 00000000..f4027018 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-stroke-05-t-manual.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + +

+ User agents may render graphical primitives with different levels of accuracy. + This test is aimed at determining how a UA renders thin strokes. +

+

+ The test file contains a number of vertical and horizontal lines. + The stroke width of the vertical lines increase from left to right. + The stroke width of the horizontal lines increase from top to bottom. +

+ + + Run the test. No interaction required. + + +

+ The test is passed if user is able to see a smooth stroke width + increment for the vertical and horizontal lines. The top left hand + corner should contain strokes that are very thin in width and the bottom + right hand corner should contain thick strokes. +

+
+ + $RCSfile: painting-stroke-05-t.svg,v $ + + + + + + + + + Rendering thin strokes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/MacawTests/w3cSVGTests/painting-stroke-08-t-manual.reference b/MacawTests/w3cSVGTests/painting-stroke-08-t-manual.reference new file mode 100644 index 00000000..aaf40363 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-stroke-08-t-manual.reference @@ -0,0 +1,558 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : "1.7, 0, 0, 1.7, 50, 0", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16737894 + }, + "form" : { + "cy" : 20, + "type" : "Circle", + "r" : 5, + "cx" : 200 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16737894 + }, + "form" : { + "cy" : 40, + "type" : "Circle", + "r" : 5, + "cx" : 200 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16737894 + }, + "form" : { + "cy" : 60, + "type" : "Circle", + "r" : 5, + "cx" : 200 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16737894 + }, + "form" : { + "cy" : 80, + "type" : "Circle", + "r" : 5, + "cx" : 200 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "cy" : 80, + "type" : "Circle", + "r" : 5, + "cx" : 200 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "cy" : 100, + "type" : "Circle", + "r" : 5, + "cx" : 200 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "cy" : 120, + "type" : "Circle", + "r" : 5, + "cx" : 200 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "cy" : 140, + "type" : "Circle", + "r" : 5, + "cx" : 200 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 6750003 + }, + "form" : { + "cy" : 160, + "type" : "Circle", + "r" : 5, + "cx" : 200 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 6750003 + }, + "form" : { + "cy" : 180, + "type" : "Circle", + "r" : 5, + "cx" : 200 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 6750003 + }, + "form" : { + "cy" : 200, + "type" : "Circle", + "r" : 5, + "cx" : 200 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 4278190335 + }, + "dashes" : [ + + ], + "width" : 10 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 20 + ] + }, + { + "type" : "L", + "data" : [ + 200, + 20 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 4278190335 + }, + "dashes" : [ + + ], + "width" : 10 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 40 + ] + }, + { + "type" : "L", + "data" : [ + 200, + 40 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 4278190335 + }, + "dashes" : [ + + ], + "width" : 10 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 60 + ] + }, + { + "type" : "L", + "data" : [ + 200, + 60 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 3422552319 + }, + "dashes" : [ + + ], + "width" : 10 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 80 + ] + }, + { + "type" : "L", + "data" : [ + 200, + 80 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 2566914303 + }, + "dashes" : [ + + ], + "width" : 10 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 100 + ] + }, + { + "type" : "L", + "data" : [ + 200, + 100 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 1711276287 + }, + "dashes" : [ + + ], + "width" : 10 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 120 + ] + }, + { + "type" : "L", + "data" : [ + 200, + 120 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 838861055 + }, + "dashes" : [ + + ], + "width" : 10 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 140 + ] + }, + { + "type" : "L", + "data" : [ + 200, + 140 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 10 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 160 + ] + }, + { + "type" : "L", + "data" : [ + 200, + 160 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 10 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 180 + ] + }, + { + "type" : "L", + "data" : [ + 200, + 180 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 10 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 200 + ] + }, + { + "type" : "L", + "data" : [ + 200, + 200 + ] + } + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/painting-stroke-08-t-manual.svg b/MacawTests/w3cSVGTests/painting-stroke-08-t-manual.svg new file mode 100755 index 00000000..28d9f282 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-stroke-08-t-manual.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + +

+ Test effects of stroke-opacity range. Values + outside the range 0-1.0 must be clamped. +

+ + + Run the test. No interaction required. + + +

+ There must be no blue bars visible beside the three pink dots. + Four semitransparent blue bars, increasingly more opaque, + must line up with the yellow dots. Three fully opaque + blue bars must line up with the green dots. +

+
+ + $RCSfile: painting-stroke-08-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + diff --git a/MacawTests/w3cSVGTests/painting-stroke-09-t-manual.reference b/MacawTests/w3cSVGTests/painting-stroke-09-t-manual.reference new file mode 100644 index 00000000..ab3a2e71 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-stroke-09-t-manual.reference @@ -0,0 +1,105 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + 25, + 5, + 5, + 5 + ], + "width" : 25 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 50, + 120 + ] + }, + { + "type" : "h", + "data" : [ + 385 + ] + } + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.7 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/painting-stroke-09-t-manual.svg b/MacawTests/w3cSVGTests/painting-stroke-09-t-manual.svg new file mode 100755 index 00000000..850962c8 --- /dev/null +++ b/MacawTests/w3cSVGTests/painting-stroke-09-t-manual.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + +

+ This tests that the "stroke-dasharray" property accepts values + that are separated by white space. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if it matches the reference rendering + by showing a thick stroke with alternating long and short + stroke dashes. +

+
+ + $RCSfile: painting-stroke-09-t.svg,v $ + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + diff --git a/MacawTests/w3cSVGTests/paths-data-01-t-manual.reference b/MacawTests/w3cSVGTests/paths-data-01-t-manual.reference new file mode 100644 index 00000000..21995fbf --- /dev/null +++ b/MacawTests/w3cSVGTests/paths-data-01-t-manual.reference @@ -0,0 +1,1035 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Cubic bezier curves drawn with commands:", + "place" : "1, 0, 0, 1, 100, 14", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 65280 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 210, + 130 + ] + }, + { + "type" : "C", + "data" : [ + 145, + 130, + 110, + 80, + 110, + 80 + ] + }, + { + "type" : "S", + "data" : [ + 75, + 25, + 10, + 25 + ] + }, + { + "type" : "m", + "data" : [ + 0, + 105 + ] + }, + { + "type" : "c", + "data" : [ + 65, + 0, + 100, + -50, + 100, + -50 + ] + }, + { + "type" : "s", + "data" : [ + 35, + -55, + 100, + -55 + ] + } + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 49152 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 208, + "w" : 4, + "type" : "Rect", + "y" : 128, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 108, + "w" : 4, + "type" : "Rect", + "y" : 78, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 8, + "w" : 4, + "type" : "Rect", + "y" : 23, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 8, + "w" : 4, + "type" : "Rect", + "y" : 128, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 108, + "w" : 4, + "type" : "Rect", + "y" : 78, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 208, + "w" : 4, + "type" : "Rect", + "y" : 23, + "h" : 4 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "M, C, S, m, c, s", + "place" : "1, 0, 0, 1, 5, 82", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 240, + 90 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 30, + 7, + 50, + 50, + 0 + ] + }, + { + "type" : "c", + "data" : [ + 43, + -50, + 50, + -30, + 50, + 0 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 83, + -68, + -34, + -90, + -30 + ] + }, + { + "type" : "C", + "data" : [ + 240, + 60, + 240, + 90, + 240, + 90 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 238, + "w" : 4, + "type" : "Rect", + "y" : 88, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 288, + "w" : 4, + "type" : "Rect", + "y" : 88, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 338, + "w" : 4, + "type" : "Rect", + "y" : 88, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 248, + "w" : 4, + "type" : "Rect", + "y" : 58, + "h" : 4 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "M, c, c, c, C, z", + "place" : "1, 0, 0, 1, 253, 50", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 80, + 170 + ] + }, + { + "type" : "C", + "data" : [ + 100, + 170, + 160, + 170, + 180, + 170 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 78, + "w" : 4, + "type" : "Rect", + "y" : 168, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 178, + "w" : 4, + "type" : "Rect", + "y" : 168, + "h" : 4 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "M, C, Z", + "place" : "1, 0, 0, 1, 110, 190", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 49152 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 5, + 260 + ] + }, + { + "type" : "C", + "data" : [ + 40, + 260, + 60, + 175, + 55, + 160 + ] + }, + { + "type" : "c", + "data" : [ + -5, + 15, + 15, + 100, + 50, + 100 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 3, + "w" : 4, + "type" : "Rect", + "y" : 258, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 53, + "w" : 4, + "type" : "Rect", + "y" : 158, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 103, + "w" : 4, + "type" : "Rect", + "y" : 258, + "h" : 4 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "M, C, c, Z", + "place" : "1, 0, 0, 1, 85, 220", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "m", + "data" : [ + 200, + 260 + ] + }, + { + "type" : "c", + "data" : [ + 50, + -40, + 50, + -100, + 25, + -100 + ] + }, + { + "type" : "s", + "data" : [ + -25, + 60, + 25, + 100 + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 198, + "w" : 4, + "type" : "Rect", + "y" : 258, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 223, + "w" : 4, + "type" : "Rect", + "y" : 158, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 248, + "w" : 4, + "type" : "Rect", + "y" : 258, + "h" : 4 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "m, c, s", + "place" : "1, 0, 0, 1, 165, 210", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 360, + 100 + ] + }, + { + "type" : "C", + "data" : [ + 420, + 90, + 460, + 140, + 450, + 190 + ] + } + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 358, + "w" : 4, + "type" : "Rect", + "y" : 98, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 448, + "w" : 4, + "type" : "Rect", + "y" : 188, + "h" : 4 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "M, C", + "place" : "1, 0, 0, 1, 360, 150", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 360, + 210 + ] + }, + { + "type" : "c", + "data" : [ + 0, + 20, + -16, + 36, + -36, + 36 + ] + }, + { + "type" : "s", + "data" : [ + -36, + -16, + -36, + -36 + ] + }, + { + "type" : "s", + "data" : [ + 16, + -36, + 36, + -36 + ] + }, + { + "type" : "s", + "data" : [ + 36, + 16, + 36, + 36 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 358, + "w" : 4, + "type" : "Rect", + "y" : 208, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 322, + "w" : 4, + "type" : "Rect", + "y" : 244, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 286, + "w" : 4, + "type" : "Rect", + "y" : 208, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 322, + "w" : 4, + "type" : "Rect", + "y" : 172, + "h" : 4 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "M, c, s, s, s, z", + "place" : "1, 0, 0, 1, 290, 265", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 15790320 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "m", + "data" : [ + 360, + 325 + ] + }, + { + "type" : "c", + "data" : [ + -40, + -60, + 95, + -100, + 80, + 0 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 43520 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 358, + "w" : 4, + "type" : "Rect", + "y" : 323, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4883455 + }, + "form" : { + "x" : 438, + "w" : 4, + "type" : "Rect", + "y" : 323, + "h" : 4 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "m, c, z", + "place" : "1, 0, 0, 1, 380, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.7 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/paths-data-01-t-manual.svg b/MacawTests/w3cSVGTests/paths-data-01-t-manual.svg new file mode 100755 index 00000000..e6b972d7 --- /dev/null +++ b/MacawTests/w3cSVGTests/paths-data-01-t-manual.svg @@ -0,0 +1,151 @@ + + + + + + + + + + + + +

+ Test that the viewer has the basic capability to handle the 'path' + element and its data (d) attribute in combination with the cubic + Bezier curveto commands, C, c, S, s (plus Mm and Zz). +

+

+ There are 8 subtests, each composed from the cubic Bezier path commands per + the label by the subtest. On-curve control points (i.e., the curve position) + are marked by small blue squares. Subtests are filled, or stroked, or + both, using simple style properties and colors. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly +

+
+ + $RCSfile: paths-data-01-t.svg,v $ + + + + + + + + + + + + Cubic bezier curves drawn with commands: + + + + + + + + + + + M, C, S, m, c, s + + + + + + + + + + + + M, c, c, c, C, z + + + + + + + + + + M, C, Z + + + + + + + + + + + M, C, c, Z + + + + + + + + + + + m, c, s + + + + + + + + + + M, C + + + + + + + + + + + + M, c, s, s, s, z + + + + + + + + + + m, c, z + + + $Revision: 1.7 $ + + + + + diff --git a/MacawTests/w3cSVGTests/paths-data-02-t-manual.reference b/MacawTests/w3cSVGTests/paths-data-02-t-manual.reference new file mode 100644 index 00000000..3f8b3e9b --- /dev/null +++ b/MacawTests/w3cSVGTests/paths-data-02-t-manual.reference @@ -0,0 +1,1005 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Quadric bezier curves drawn with commands:", + "place" : "1, 0, 0, 1, 120, 14", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 15, + 20 + ] + }, + { + "type" : "Q", + "data" : [ + 30, + 120, + 130, + 30 + ] + }, + { + "type" : "M", + "data" : [ + 180, + 80 + ] + }, + { + "type" : "q", + "data" : [ + -75, + -100, + -163, + -60 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "M, Q, M, q, z", + "place" : "1, 0, 0, 1, 80, 86", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 49152 + }, + "form" : { + "x" : 13, + "w" : 4, + "type" : "Rect", + "y" : 18, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 49152 + }, + "form" : { + "x" : 128, + "w" : 4, + "type" : "Rect", + "y" : 28, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 49152 + }, + "form" : { + "x" : 178, + "w" : 4, + "type" : "Rect", + "y" : 78, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 49152 + }, + "form" : { + "x" : 15, + "w" : 4, + "type" : "Rect", + "y" : 18, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 372, + 130 + ] + }, + { + "type" : "Q", + "data" : [ + 272, + 50, + 422, + 10 + ] + }, + { + "type" : "z", + "data" : [ + + ] + }, + { + "type" : "m", + "data" : [ + 70, + 0 + ] + }, + { + "type" : "q", + "data" : [ + 50, + -150, + -80, + -90 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 207 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "m, q, z, m, q, z", + "place" : "1, 0, 0, 1, 352, 150", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 370, + "w" : 4, + "type" : "Rect", + "y" : 128, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 420, + "w" : 4, + "type" : "Rect", + "y" : 8, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 440, + "w" : 4, + "type" : "Rect", + "y" : 128, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 360, + "w" : 4, + "type" : "Rect", + "y" : 38, + "h" : 4 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 65535 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 224, + 103 + ] + }, + { + "type" : "Q", + "data" : [ + 234, + -12, + 304, + 33 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "M, Q, Z", + "place" : "1, 0, 0, 1, 192, 36", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 222, + "w" : 4, + "type" : "Rect", + "y" : 101, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 302, + "w" : 4, + "type" : "Rect", + "y" : 31, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 49152 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 208, + 168 + ] + }, + { + "type" : "Q", + "data" : [ + 258, + 268, + 308, + 168 + ] + }, + { + "type" : "T", + "data" : [ + 258, + 118 + ] + }, + { + "type" : "Q", + "data" : [ + 128, + 88, + 208, + 168 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "M, Q, T, Q, z", + "place" : "1, 0, 0, 1, 308, 188", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 206, + "w" : 4, + "type" : "Rect", + "y" : 166, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 306, + "w" : 4, + "type" : "Rect", + "y" : 166, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 256, + "w" : 4, + "type" : "Rect", + "y" : 116, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 206, + "w" : 4, + "type" : "Rect", + "y" : 206, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 52992 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 60, + 100 + ] + }, + { + "type" : "Q", + "data" : [ + -40, + 150, + 60, + 200 + ] + }, + { + "type" : "Q", + "data" : [ + 160, + 150, + 60, + 100 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "M, Q, Q, z", + "place" : "1, 0, 0, 1, 80, 200", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 58, + "w" : 4, + "type" : "Rect", + "y" : 98, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 58, + "w" : 4, + "type" : "Rect", + "y" : 198, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 58, + "w" : 4, + "type" : "Rect", + "y" : 98, + "h" : 4 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 4250912 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 240, + 296 + ] + }, + { + "type" : "q", + "data" : [ + 25, + -100, + 47, + 0 + ] + }, + { + "type" : "t", + "data" : [ + 47, + 0 + ] + }, + { + "type" : "t", + "data" : [ + 47, + 0 + ] + }, + { + "type" : "t", + "data" : [ + 47, + 0 + ] + }, + { + "type" : "t", + "data" : [ + 47, + 0 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "M, q, t, t, t, t, z", + "place" : "1, 0, 0, 1, 380, 236", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 238, + "w" : 4, + "type" : "Rect", + "y" : 294, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 285, + "w" : 4, + "type" : "Rect", + "y" : 294, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 332, + "w" : 4, + "type" : "Rect", + "y" : 294, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 379, + "w" : 4, + "type" : "Rect", + "y" : 294, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 426, + "w" : 4, + "type" : "Rect", + "y" : 294, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 473, + "w" : 4, + "type" : "Rect", + "y" : 294, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 192 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 172, + 193 + ] + }, + { + "type" : "q", + "data" : [ + -100, + 50, + 0, + 50 + ] + }, + { + "type" : "Q", + "data" : [ + 72, + 243, + 172, + 293 + ] + }, + { + "type" : "q", + "data" : [ + 100, + -50, + 0, + -50 + ] + }, + { + "type" : "Q", + "data" : [ + 272, + 243, + 172, + 193 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 52992 + }, + "dashes" : [ + + ], + "width" : 2 + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "M, q, Q, q, Q, z", + "place" : "1, 0, 0, 1, 48, 280", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "fill" : { + "type" : "Color", + "val" : 4250912 + }, + "form" : { + "x" : 170, + "w" : 4, + "type" : "Rect", + "y" : 191, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4250912 + }, + "form" : { + "x" : 170, + "w" : 4, + "type" : "Rect", + "y" : 241, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4250912 + }, + "form" : { + "x" : 170, + "w" : 4, + "type" : "Rect", + "y" : 291, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4250912 + }, + "form" : { + "x" : 170, + "w" : 4, + "type" : "Rect", + "y" : 241, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 4250912 + }, + "form" : { + "x" : 170, + "w" : 4, + "type" : "Rect", + "y" : 191, + "h" : 4 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.7 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/paths-data-02-t-manual.svg b/MacawTests/w3cSVGTests/paths-data-02-t-manual.svg new file mode 100755 index 00000000..a7d1f94c --- /dev/null +++ b/MacawTests/w3cSVGTests/paths-data-02-t-manual.svg @@ -0,0 +1,124 @@ + + + + + + + + + + + + +

+ Test that the viewer has the basic capability to handle the 'path' + element and its data (d) attribute in combination with the quadratic + Bezier curveto commands, Q, q, T, t (plus Mm and Zz). +

+

+ There are 7 subtests, each composed from the quadric Bezier path commands per + the label by the subtest. On-curve control points (i.e., the curve position) + are marked by small colored squares. Subtests are filled, or stroked, or + both, using simple style properties and colors. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly +

+
+ + $RCSfile: paths-data-02-t.svg,v $ + + + + + + + + + Quadric bezier curves drawn with commands: + + + + + M, Q, M, q, z + + + + + + + + + m, q, z, m, q, z + + + + + + + + + M, Q, Z + + + + + + + M, Q, T, Q, z + + + + + + + + + M, Q, Q, z + + + + + + + + M, q, t, t, t, t, z + + + + + + + + + + + M, q, Q, q, Q, z + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/MacawTests/w3cSVGTests/paths-data-06-t-manual.reference b/MacawTests/w3cSVGTests/paths-data-06-t-manual.reference new file mode 100644 index 00000000..b1324751 --- /dev/null +++ b/MacawTests/w3cSVGTests/paths-data-06-t-manual.reference @@ -0,0 +1,501 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : "1.8, 0, 0, 1.8, -360, 0", + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "M, H, V, H,", + "place" : "1, 0, 0, 1, 288, 30", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "V. H, V, H,", + "place" : "1, 0, 0, 1, 288, 46", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "V, Z", + "place" : "1, 0, 0, 1, 304, 62", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 240, + 56 + ] + }, + { + "type" : "H", + "data" : [ + 270 + ] + }, + { + "type" : "V", + "data" : [ + 86 + ] + }, + { + "type" : "H", + "data" : [ + 300 + ] + }, + { + "type" : "V", + "data" : [ + 116 + ] + }, + { + "type" : "H", + "data" : [ + 330 + ] + }, + { + "type" : "V", + "data" : [ + 146 + ] + }, + { + "type" : "H", + "data" : [ + 240 + ] + }, + { + "type" : "V", + "data" : [ + 56 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 238, + "w" : 4, + "type" : "Rect", + "y" : 54, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 268, + "w" : 4, + "type" : "Rect", + "y" : 54, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 268, + "w" : 4, + "type" : "Rect", + "y" : 84, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 298, + "w" : 4, + "type" : "Rect", + "y" : 84, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 298, + "w" : 4, + "type" : "Rect", + "y" : 114, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 328, + "w" : 4, + "type" : "Rect", + "y" : 114, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 328, + "w" : 4, + "type" : "Rect", + "y" : 144, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 238, + "w" : 4, + "type" : "Rect", + "y" : 144, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 350, + 56 + ] + }, + { + "type" : "H", + "data" : [ + 380 + ] + }, + { + "type" : "V", + "data" : [ + 86 + ] + }, + { + "type" : "H", + "data" : [ + 410 + ] + }, + { + "type" : "V", + "data" : [ + 116 + ] + }, + { + "type" : "H", + "data" : [ + 440 + ] + }, + { + "type" : "V", + "data" : [ + 146 + ] + }, + { + "type" : "H", + "data" : [ + 350 + ] + }, + { + "type" : "V", + "data" : [ + 56 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 348, + "w" : 4, + "type" : "Rect", + "y" : 54, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 378, + "w" : 4, + "type" : "Rect", + "y" : 54, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 378, + "w" : 4, + "type" : "Rect", + "y" : 84, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 408, + "w" : 4, + "type" : "Rect", + "y" : 84, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 408, + "w" : 4, + "type" : "Rect", + "y" : 114, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 438, + "w" : 4, + "type" : "Rect", + "y" : 114, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 438, + "w" : 4, + "type" : "Rect", + "y" : 144, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 348, + "w" : 4, + "type" : "Rect", + "y" : 144, + "h" : 4 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.7 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/paths-data-06-t-manual.svg b/MacawTests/w3cSVGTests/paths-data-06-t-manual.svg new file mode 100755 index 00000000..07a8f449 --- /dev/null +++ b/MacawTests/w3cSVGTests/paths-data-06-t-manual.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the 'path' element, and its data attribute (d) + in combination with the straight-line path commands. + Two pairs of staircase figures are drawn using + respectively M,H,V,Z and m,h,v,z. The shapes in each pair are identical, with one stroked and + one filled. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly +

+
+ + $RCSfile: paths-data-06-t.svg,v $ + + + + + + + + + + + + + M, H, V, H, + V. H, V, H, + V, Z + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/MacawTests/w3cSVGTests/paths-data-07-t-manual.reference b/MacawTests/w3cSVGTests/paths-data-07-t-manual.reference new file mode 100644 index 00000000..0bc173d1 --- /dev/null +++ b/MacawTests/w3cSVGTests/paths-data-07-t-manual.reference @@ -0,0 +1,501 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : "1.8, 0, 0, 1.8, -360, -270", + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "m, h, v, h", + "place" : "1, 0, 0, 1, 288, 180", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "v, h, v, h", + "place" : "1, 0, 0, 1, 288, 194", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "v, z", + "place" : "1, 0, 0, 1, 304, 208", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 12, + "weight" : "normal" + } + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "m", + "data" : [ + 240, + 190 + ] + }, + { + "type" : "h", + "data" : [ + 30 + ] + }, + { + "type" : "v", + "data" : [ + 30 + ] + }, + { + "type" : "h", + "data" : [ + 30 + ] + }, + { + "type" : "v", + "data" : [ + 30 + ] + }, + { + "type" : "h", + "data" : [ + 30 + ] + }, + { + "type" : "v", + "data" : [ + 30 + ] + }, + { + "type" : "h", + "data" : [ + -90 + ] + }, + { + "type" : "v", + "data" : [ + -90 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 238, + "w" : 4, + "type" : "Rect", + "y" : 188, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 268, + "w" : 4, + "type" : "Rect", + "y" : 188, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 268, + "w" : 4, + "type" : "Rect", + "y" : 218, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 298, + "w" : 4, + "type" : "Rect", + "y" : 218, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 298, + "w" : 4, + "type" : "Rect", + "y" : 248, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 328, + "w" : 4, + "type" : "Rect", + "y" : 248, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 328, + "w" : 4, + "type" : "Rect", + "y" : 278, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 238, + "w" : 4, + "type" : "Rect", + "y" : 278, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "m", + "data" : [ + 350, + 190 + ] + }, + { + "type" : "h", + "data" : [ + 30 + ] + }, + { + "type" : "v", + "data" : [ + 30 + ] + }, + { + "type" : "h", + "data" : [ + 30 + ] + }, + { + "type" : "v", + "data" : [ + 30 + ] + }, + { + "type" : "h", + "data" : [ + 30 + ] + }, + { + "type" : "v", + "data" : [ + 30 + ] + }, + { + "type" : "h", + "data" : [ + -90 + ] + }, + { + "type" : "v", + "data" : [ + -90 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 348, + "w" : 4, + "type" : "Rect", + "y" : 188, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 378, + "w" : 4, + "type" : "Rect", + "y" : 188, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 378, + "w" : 4, + "type" : "Rect", + "y" : 218, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 408, + "w" : 4, + "type" : "Rect", + "y" : 218, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 408, + "w" : 4, + "type" : "Rect", + "y" : 248, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 438, + "w" : 4, + "type" : "Rect", + "y" : 248, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 438, + "w" : 4, + "type" : "Rect", + "y" : 278, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 348, + "w" : 4, + "type" : "Rect", + "y" : 278, + "h" : 4 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.7 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/paths-data-07-t-manual.svg b/MacawTests/w3cSVGTests/paths-data-07-t-manual.svg new file mode 100755 index 00000000..806e0b56 --- /dev/null +++ b/MacawTests/w3cSVGTests/paths-data-07-t-manual.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the 'path' element, and its data attribute (d) + in combination with the straight-line path commands. + Two pairs of staircase figures are drawn using + respectively M,H,V,Z and m,h,v,z. The shapes in each pair are identical, with one stroked and + one filled. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly +

+
+ + $RCSfile: paths-data-07-t.svg,v $ + + + + + + + + + + + + + m, h, v, h + v, h, v, h + v, z + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/MacawTests/w3cSVGTests/paths-data-12-t-manual.reference b/MacawTests/w3cSVGTests/paths-data-12-t-manual.reference new file mode 100644 index 00000000..a6a33885 --- /dev/null +++ b/MacawTests/w3cSVGTests/paths-data-12-t-manual.reference @@ -0,0 +1,287 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 100, + 100 + ] + }, + { + "type" : "C", + "data" : [ + 100, + 20, + 200, + 20, + 200, + 100 + ] + }, + { + "type" : "S", + "data" : [ + 300, + 180, + 300, + 100 + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 100, + "w" : 4, + "type" : "Rect", + "y" : 100, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 200, + "w" : 4, + "type" : "Rect", + "y" : 100, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 300, + "w" : 4, + "type" : "Rect", + "y" : 100, + "h" : 4 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 100, + 250 + ] + }, + { + "type" : "S", + "data" : [ + 200, + 200, + 200, + 250 + ] + }, + { + "type" : "S", + "data" : [ + 300, + 300, + 300, + 250 + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 100, + "w" : 4, + "type" : "Rect", + "y" : 250, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 200, + "w" : 4, + "type" : "Rect", + "y" : 200, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 200, + "w" : 4, + "type" : "Rect", + "y" : 250, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 200, + "w" : 4, + "type" : "Rect", + "y" : 300, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 300, + "w" : 4, + "type" : "Rect", + "y" : 300, + "h" : 4 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 300, + "w" : 4, + "type" : "Rect", + "y" : 250, + "h" : 4 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.5 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/paths-data-12-t-manual.svg b/MacawTests/w3cSVGTests/paths-data-12-t-manual.svg new file mode 100755 index 00000000..ef5666c4 --- /dev/null +++ b/MacawTests/w3cSVGTests/paths-data-12-t-manual.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + +

+ Test using multiple coord sets to build a polybeizer, and implicit values for initial S. +

+ + +

+ The rendered picture should match the reference image exactly, except for possible variations in the labelling text (per CSS2 rules). +

+ +
+ +

+ The rendered picture should match the reference image. +

+
+ + $RCSfile: paths-data-12-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/MacawTests/w3cSVGTests/paths-data-13-t-manual.reference b/MacawTests/w3cSVGTests/paths-data-13-t-manual.reference new file mode 100644 index 00000000..d565b068 --- /dev/null +++ b/MacawTests/w3cSVGTests/paths-data-13-t-manual.reference @@ -0,0 +1,179 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 240, + 56 + ] + }, + { + "type" : "H", + "data" : [ + 270 + ] + }, + { + "type" : "H", + "data" : [ + 300 + ] + }, + { + "type" : "H", + "data" : [ + 320 + ] + }, + { + "type" : "H", + "data" : [ + 400 + ] + } + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "dashes" : [ + + ], + "width" : 5 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 240, + 156 + ] + }, + { + "type" : "V", + "data" : [ + 180 + ] + }, + { + "type" : "V", + "data" : [ + 200 + ] + }, + { + "type" : "V", + "data" : [ + 260 + ] + }, + { + "type" : "V", + "data" : [ + 300 + ] + } + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 5 + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.5 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/paths-data-13-t-manual.svg b/MacawTests/w3cSVGTests/paths-data-13-t-manual.svg new file mode 100755 index 00000000..487dae78 --- /dev/null +++ b/MacawTests/w3cSVGTests/paths-data-13-t-manual.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + +

+ Test multiple coordinates for V and H. +

+ + +

+ Run the test. No interaction required. +

+
+ +

The test is passed if there is one horizontal green line and one vertical blue line. +

+
+ + $RCSfile: paths-data-13-t.svg,v $ + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/MacawTests/w3cSVGTests/paths-data-15-t-manual.reference b/MacawTests/w3cSVGTests/paths-data-15-t-manual.reference new file mode 100644 index 00000000..fb7979cf --- /dev/null +++ b/MacawTests/w3cSVGTests/paths-data-15-t-manual.reference @@ -0,0 +1,284 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : "1.8, 0, 0, 1.8, 36, 90", + "contents" : [ + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 8388736 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 20 + ] + }, + { + "type" : "Q", + "data" : [ + 50, + 10, + 80, + 20 + ] + }, + { + "type" : "Q", + "data" : [ + 110, + 30, + 140, + 20 + ] + }, + { + "type" : "Q", + "data" : [ + 170, + 10, + 200, + 20 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 50 + ] + }, + { + "type" : "T", + "data" : [ + 50, + 50 + ] + }, + { + "type" : "T", + "data" : [ + 80, + 50 + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 52 + ] + }, + { + "type" : "l", + "data" : [ + -2, + 4 + ] + }, + { + "type" : "h", + "data" : [ + 4 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 50, + 52 + ] + }, + { + "type" : "l", + "data" : [ + -2, + 4 + ] + }, + { + "type" : "h", + "data" : [ + 4 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 80, + 52 + ] + }, + { + "type" : "l", + "data" : [ + -2, + 4 + ] + }, + { + "type" : "h", + "data" : [ + 4 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/paths-data-15-t-manual.svg b/MacawTests/w3cSVGTests/paths-data-15-t-manual.svg new file mode 100755 index 00000000..7b9dcbbb --- /dev/null +++ b/MacawTests/w3cSVGTests/paths-data-15-t-manual.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + +

+ Test using multiple coord sets to build a polybezier, then T with no preceding Q or T. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if the rendering matches the reference image, apart from any allowable font selection differences due to CSS2.

+

A purple wavy line above a short, blue horizontal line must be shown. + Small black triangles pointing to the start, middle and end of the blue + line must also be shown.

+
+ + $RCSfile: paths-data-15-t.svg,v $ + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/MacawTests/w3cSVGTests/paths-data-17-f-manual.reference b/MacawTests/w3cSVGTests/paths-data-17-f-manual.reference new file mode 100644 index 00000000..6aaa2d4a --- /dev/null +++ b/MacawTests/w3cSVGTests/paths-data-17-f-manual.reference @@ -0,0 +1,285 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 5 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 50, + 50 + ] + }, + { + "type" : "L", + "data" : [ + 50, + 150 + ] + }, + { + "type" : "L", + "data" : [ + 150, + 150 + ] + }, + { + "type" : "L", + "data" : [ + 150, + 50 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 6 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 50, + 50 + ] + }, + { + "type" : "L", + "data" : [ + 50, + 150 + ] + }, + { + "type" : "L", + "data" : [ + 150, + 150 + ] + }, + { + "type" : "L", + "data" : [ + 150, + 50 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 5 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 250, + 50 + ] + }, + { + "type" : "L", + "data" : [ + 250, + 150 + ] + }, + { + "type" : "L", + "data" : [ + 350, + 150 + ] + }, + { + "type" : "L", + "data" : [ + 350, + 50 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 6 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 250, + 50 + ] + }, + { + "type" : "L", + "data" : [ + 250, + 150 + ] + }, + { + "type" : "L", + "data" : [ + 350, + 150 + ] + }, + { + "type" : "L", + "data" : [ + 350, + 50 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.4 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/paths-data-17-f-manual.svg b/MacawTests/w3cSVGTests/paths-data-17-f-manual.svg new file mode 100755 index 00000000..2d18e56c --- /dev/null +++ b/MacawTests/w3cSVGTests/paths-data-17-f-manual.svg @@ -0,0 +1,65 @@ + + + + + + + + + + +

+ Test that the 'z' and 'Z' command have the same effect. +

+

+ Specify four 'path' elements that each use three 'L' commands to draw three sides of a square. The fourth line of each + square is drawn via a 'closepath' command. A red square closed via 'z' is covered with a black square closed via 'Z' and + vice versa. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if two black-stroked, unfilled squares are visible and + there is no red visible on the page. +

+
+ + $RCSfile: paths-data-17-f.svg,v $ + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + diff --git a/MacawTests/w3cSVGTests/paths-data-19-f-manual.reference b/MacawTests/w3cSVGTests/paths-data-19-f-manual.reference new file mode 100644 index 00000000..9c904152 --- /dev/null +++ b/MacawTests/w3cSVGTests/paths-data-19-f-manual.reference @@ -0,0 +1,1469 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 20 + ] + }, + { + "type" : "H", + "data" : [ + 40 + ] + }, + { + "type" : "H", + "data" : [ + 60 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 20 + ] + }, + { + "type" : "H", + "data" : [ + 40 + ] + }, + { + "type" : "H", + "data" : [ + 60 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 40 + ] + }, + { + "type" : "h", + "data" : [ + 20 + ] + }, + { + "type" : "h", + "data" : [ + 20 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 20, + 40 + ] + }, + { + "type" : "h", + "data" : [ + 20 + ] + }, + { + "type" : "h", + "data" : [ + 20 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 120, + 20 + ] + }, + { + "type" : "V", + "data" : [ + 40 + ] + }, + { + "type" : "V", + "data" : [ + 60 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 120, + 20 + ] + }, + { + "type" : "V", + "data" : [ + 40 + ] + }, + { + "type" : "V", + "data" : [ + 60 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 140, + 20 + ] + }, + { + "type" : "v", + "data" : [ + 20 + ] + }, + { + "type" : "v", + "data" : [ + 20 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 140, + 20 + ] + }, + { + "type" : "v", + "data" : [ + 20 + ] + }, + { + "type" : "v", + "data" : [ + 20 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 220, + 20 + ] + }, + { + "type" : "L", + "data" : [ + 240, + 20 + ] + }, + { + "type" : "L", + "data" : [ + 260, + 20 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 220, + 20 + ] + }, + { + "type" : "L", + "data" : [ + 240, + 20 + ] + }, + { + "type" : "L", + "data" : [ + 260, + 20 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 220, + 40 + ] + }, + { + "type" : "l", + "data" : [ + 20, + 0 + ] + }, + { + "type" : "l", + "data" : [ + 20, + 0 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 220, + 40 + ] + }, + { + "type" : "l", + "data" : [ + 20, + 0 + ] + }, + { + "type" : "l", + "data" : [ + 20, + 0 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 50, + 150 + ] + }, + { + "type" : "C", + "data" : [ + 50, + 50, + 200, + 50, + 200, + 150 + ] + }, + { + "type" : "C", + "data" : [ + 200, + 50, + 350, + 50, + 350, + 150 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 50, + 150 + ] + }, + { + "type" : "C", + "data" : [ + 50, + 50, + 200, + 50, + 200, + 150 + ] + }, + { + "type" : "C", + "data" : [ + 200, + 50, + 350, + 50, + 350, + 150 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 50, + 200 + ] + }, + { + "type" : "c", + "data" : [ + 0, + -100, + 150, + -100, + 150, + 0 + ] + }, + { + "type" : "c", + "data" : [ + 0, + -100, + 150, + -100, + 150, + 0 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 50, + 200 + ] + }, + { + "type" : "c", + "data" : [ + 0, + -100, + 150, + -100, + 150, + 0 + ] + }, + { + "type" : "c", + "data" : [ + 0, + -100, + 150, + -100, + 150, + 0 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 50, + 250 + ] + }, + { + "type" : "S", + "data" : [ + 125, + 200, + 200, + 250 + ] + }, + { + "type" : "S", + "data" : [ + 275, + 200, + 350, + 250 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 50, + 250 + ] + }, + { + "type" : "S", + "data" : [ + 125, + 200, + 200, + 250 + ] + }, + { + "type" : "S", + "data" : [ + 275, + 200, + 350, + 250 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 50, + 275 + ] + }, + { + "type" : "s", + "data" : [ + 75, + -50, + 150, + 0 + ] + }, + { + "type" : "s", + "data" : [ + 75, + -50, + 150, + 0 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 50, + 275 + ] + }, + { + "type" : "s", + "data" : [ + 75, + -50, + 150, + 0 + ] + }, + { + "type" : "s", + "data" : [ + 75, + -50, + 150, + 0 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 50, + 300 + ] + }, + { + "type" : "Q", + "data" : [ + 125, + 275, + 200, + 300 + ] + }, + { + "type" : "Q", + "data" : [ + 275, + 325, + 350, + 300 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 50, + 300 + ] + }, + { + "type" : "Q", + "data" : [ + 125, + 275, + 200, + 300 + ] + }, + { + "type" : "Q", + "data" : [ + 275, + 325, + 350, + 300 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 50, + 325 + ] + }, + { + "type" : "q", + "data" : [ + 75, + -25, + 150, + 0 + ] + }, + { + "type" : "q", + "data" : [ + 75, + 25, + 150, + 0 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 50, + 325 + ] + }, + { + "type" : "q", + "data" : [ + 75, + -25, + 150, + 0 + ] + }, + { + "type" : "q", + "data" : [ + 75, + 25, + 150, + 0 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 425, + 25 + ] + }, + { + "type" : "T", + "data" : [ + 425, + 75 + ] + }, + { + "type" : "T", + "data" : [ + 425, + 125 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 425, + 25 + ] + }, + { + "type" : "T", + "data" : [ + 425, + 75 + ] + }, + { + "type" : "T", + "data" : [ + 425, + 125 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 450, + 25 + ] + }, + { + "type" : "t", + "data" : [ + 0, + 50 + ] + }, + { + "type" : "t", + "data" : [ + 0, + 50 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 450, + 25 + ] + }, + { + "type" : "t", + "data" : [ + 0, + 50 + ] + }, + { + "type" : "t", + "data" : [ + 0, + 50 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 400, + 200 + ] + }, + { + "type" : "A", + "data" : [ + 25, + 25, + 0, + 0, + 0, + 425, + 150 + ] + }, + { + "type" : "A", + "data" : [ + 25, + 25, + 0, + 0, + 0, + 400, + 200 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 400, + 200 + ] + }, + { + "type" : "A", + "data" : [ + 25, + 25, + 0, + 0, + 0, + 425, + 150 + ] + }, + { + "type" : "A", + "data" : [ + 25, + 25, + 0, + 0, + 0, + 400, + 200 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 400, + 300 + ] + }, + { + "type" : "a", + "data" : [ + 25, + 25, + 0, + 0, + 0, + 25, + -50 + ] + }, + { + "type" : "a", + "data" : [ + 25, + 25, + 0, + 0, + 0, + -25, + 50 + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 400, + 300 + ] + }, + { + "type" : "a", + "data" : [ + 25, + 25, + 0, + 0, + 0, + 25, + -50 + ] + }, + { + "type" : "a", + "data" : [ + 25, + 25, + 0, + 0, + 0, + -25, + 50 + ] + } + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.3 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/paths-data-19-f-manual.svg b/MacawTests/w3cSVGTests/paths-data-19-f-manual.svg new file mode 100755 index 00000000..ef0c116c --- /dev/null +++ b/MacawTests/w3cSVGTests/paths-data-19-f-manual.svg @@ -0,0 +1,107 @@ + + + + + + + + + + +

+ Test that additional parameters to pathdata commands are treated as additional calls to the most recent command. +

+

+ Each of the applicable 'pathdata' commands are used in separate 'path' elements. Each command is repeated in red and + overlayed with another 'path' element with identical coordinates specified but without the repeated command in black. + Commands that do not render or do not take parameters are omitted. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there is no red visible on the page. +

+
+ + $RCSfile: paths-data-19-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + diff --git a/MacawTests/w3cSVGTests/pservers-grad-stops-01-f-manual.reference b/MacawTests/w3cSVGTests/pservers-grad-stops-01-f-manual.reference new file mode 100644 index 00000000..fe99451f --- /dev/null +++ b/MacawTests/w3cSVGTests/pservers-grad-stops-01-f-manual.reference @@ -0,0 +1,232 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 10, + "w" : 100, + "type" : "Rect", + "y" : 10, + "h" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 5 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 120, + "w" : 100, + "type" : "Rect", + "y" : 10, + "h" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 5 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 10, + "w" : 100, + "type" : "Rect", + "y" : 120, + "h" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 5 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 120, + "w" : 100, + "type" : "Rect", + "y" : 120, + "h" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 5 + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.3 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 20 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 16777215 + }, + "node" : "Text", + "align" : "mid", + "text" : "DRAFT", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 0.5 + }, + "place" : "1, 0, 0, 1, 240, 18", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 20, + "weight" : "bold" + } + } + ], + "node" : "Group" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/pservers-grad-stops-01-f-manual.svg b/MacawTests/w3cSVGTests/pservers-grad-stops-01-f-manual.svg new file mode 100755 index 00000000..d7d15813 --- /dev/null +++ b/MacawTests/w3cSVGTests/pservers-grad-stops-01-f-manual.svg @@ -0,0 +1,70 @@ + + + + + + + + + + +

+ Test that gradient offset values less than zero are rounded up to zero and values more than one are rounded down to one. +

+

+ The test defines four gradients, each with a single stop where the 'stop-color' is set to 'blue'. + The four gradients have 'offset' set to '-1', '-1%', '101%' and '2'. Four rectangles reference + the gradients. All of these should render as if they have plain blue fills. +

+ + +

Run the test. No interaction required.

+
+ +

+ The test passed if there are four blue boxes on the page. +

+
+ + $RCSfile: pservers-grad-stops-01-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + + DRAFT + + diff --git a/MacawTests/w3cSVGTests/render-elems-01-t-manual.reference b/MacawTests/w3cSVGTests/render-elems-01-t-manual.reference new file mode 100644 index 00000000..348b1b8d --- /dev/null +++ b/MacawTests/w3cSVGTests/render-elems-01-t-manual.reference @@ -0,0 +1,250 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : "1, 0, 0, 1, 30, 80", + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 60, + 0 + ] + }, + { + "type" : "l", + "data" : [ + 60, + 0 + ] + }, + { + "type" : "l", + "data" : [ + 60, + 60 + ] + }, + { + "type" : "l", + "data" : [ + 0, + 60 + ] + }, + { + "type" : "l", + "data" : [ + -60, + 60 + ] + }, + { + "type" : "l", + "data" : [ + -60, + 0 + ] + }, + { + "type" : "l", + "data" : [ + -60, + -60 + ] + }, + { + "type" : "l", + "data" : [ + 0, + -60 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "place" : "1, 0, 0, 1, 200, 0", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 60, + 0 + ] + }, + { + "type" : "l", + "data" : [ + 60, + 0 + ] + }, + { + "type" : "l", + "data" : [ + 60, + 60 + ] + }, + { + "type" : "l", + "data" : [ + 0, + 60 + ] + }, + { + "type" : "l", + "data" : [ + -60, + 60 + ] + }, + { + "type" : "l", + "data" : [ + -60, + 0 + ] + }, + { + "type" : "l", + "data" : [ + -60, + -60 + ] + }, + { + "type" : "l", + "data" : [ + 0, + -60 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Shape fill", + "place" : "1, 0, 0, 1, 130, -30", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 28, + "weight" : "normal" + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/render-elems-01-t-manual.svg b/MacawTests/w3cSVGTests/render-elems-01-t-manual.svg new file mode 100755 index 00000000..230a8621 --- /dev/null +++ b/MacawTests/w3cSVGTests/render-elems-01-t-manual.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + +

+ Verifies that shapes can be filled. +

+ + +

+Run the test. No interaction required. +

+
+ +

+ There is one pair of octagons. These are filled. +

+
+ + $RCSfile: render-elems-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + Shape fill + + + + $Revision: 1.6 $ + + + + + diff --git a/MacawTests/w3cSVGTests/render-elems-02-t-manual.reference b/MacawTests/w3cSVGTests/render-elems-02-t-manual.reference new file mode 100644 index 00000000..b6633423 --- /dev/null +++ b/MacawTests/w3cSVGTests/render-elems-02-t-manual.reference @@ -0,0 +1,266 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : "1, 0, 0, 1, 30, 80", + "contents" : [ + { + "contents" : [ + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 60, + 0 + ] + }, + { + "type" : "l", + "data" : [ + 60, + 0 + ] + }, + { + "type" : "l", + "data" : [ + 60, + 60 + ] + }, + { + "type" : "l", + "data" : [ + 0, + 60 + ] + }, + { + "type" : "l", + "data" : [ + -60, + 60 + ] + }, + { + "type" : "l", + "data" : [ + -60, + 0 + ] + }, + { + "type" : "l", + "data" : [ + -60, + -60 + ] + }, + { + "type" : "l", + "data" : [ + 0, + -60 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "place" : "1, 0, 0, 1, 200, 0", + "contents" : [ + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 9 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 60, + 0 + ] + }, + { + "type" : "l", + "data" : [ + 60, + 0 + ] + }, + { + "type" : "l", + "data" : [ + 60, + 60 + ] + }, + { + "type" : "l", + "data" : [ + 0, + 60 + ] + }, + { + "type" : "l", + "data" : [ + -60, + 60 + ] + }, + { + "type" : "l", + "data" : [ + -60, + 0 + ] + }, + { + "type" : "l", + "data" : [ + -60, + -60 + ] + }, + { + "type" : "l", + "data" : [ + 0, + -60 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Shape stroke", + "place" : "1, 0, 0, 1, 110, -30", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 28, + "weight" : "normal" + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/render-elems-02-t-manual.svg b/MacawTests/w3cSVGTests/render-elems-02-t-manual.svg new file mode 100755 index 00000000..6e92825b --- /dev/null +++ b/MacawTests/w3cSVGTests/render-elems-02-t-manual.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + +

+ Verifies that shapes can be stroked. +

+ + +

+Run the test. No interaction required. +

+
+ +

+ There is one pair of octagons. These are stroked. +

+
+ + $RCSfile: render-elems-02-t.svg,v $ + + + + + + + + + + + + + + + + + + + Shape stroke + + + + $Revision: 1.6 $ + + + + + diff --git a/MacawTests/w3cSVGTests/render-elems-03-t-manual.reference b/MacawTests/w3cSVGTests/render-elems-03-t-manual.reference new file mode 100644 index 00000000..cda83586 --- /dev/null +++ b/MacawTests/w3cSVGTests/render-elems-03-t-manual.reference @@ -0,0 +1,274 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : "1, 0, 0, 1, 30, 80", + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 60, + 0 + ] + }, + { + "type" : "l", + "data" : [ + 60, + 0 + ] + }, + { + "type" : "l", + "data" : [ + 60, + 60 + ] + }, + { + "type" : "l", + "data" : [ + 0, + 60 + ] + }, + { + "type" : "l", + "data" : [ + -60, + 60 + ] + }, + { + "type" : "l", + "data" : [ + -60, + 0 + ] + }, + { + "type" : "l", + "data" : [ + -60, + -60 + ] + }, + { + "type" : "l", + "data" : [ + 0, + -60 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "dashes" : [ + + ], + "width" : 8 + } + } + ], + "node" : "Group" + }, + { + "place" : "1, 0, 0, 1, 200, 0", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 60, + 0 + ] + }, + { + "type" : "l", + "data" : [ + 60, + 0 + ] + }, + { + "type" : "l", + "data" : [ + 60, + 60 + ] + }, + { + "type" : "l", + "data" : [ + 0, + 60 + ] + }, + { + "type" : "l", + "data" : [ + -60, + 60 + ] + }, + { + "type" : "l", + "data" : [ + -60, + 0 + ] + }, + { + "type" : "l", + "data" : [ + -60, + -60 + ] + }, + { + "type" : "l", + "data" : [ + 0, + -60 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 8 + } + } + ], + "node" : "Group" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Shape fill and stroke", + "place" : "1, 0, 0, 1, 70, -30", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 28, + "weight" : "normal" + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.7 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/render-elems-03-t-manual.svg b/MacawTests/w3cSVGTests/render-elems-03-t-manual.svg new file mode 100755 index 00000000..5f3cabde --- /dev/null +++ b/MacawTests/w3cSVGTests/render-elems-03-t-manual.svg @@ -0,0 +1,63 @@ +"> +]> + + + + + + + + + + + + +

+ Verifies that shapes can be filled, stroked and the order of filling and stroking. +

+ + +

+Run the test. No interaction required. +

+
+ +

+ There is one pair of octagons. These are filled plus stroked. +

+
+ + $RCSfile: render-elems-03-t.svg,v $ + + + + + + + + + + + + + &shape; + &shape; + Shape fill and stroke + + + + $Revision: 1.7 $ + + + + + diff --git a/MacawTests/w3cSVGTests/shapes-circle-01-t-manual.reference b/MacawTests/w3cSVGTests/shapes-circle-01-t-manual.reference index 7adaae07..25ea0d7b 100644 --- a/MacawTests/w3cSVGTests/shapes-circle-01-t-manual.reference +++ b/MacawTests/w3cSVGTests/shapes-circle-01-t-manual.reference @@ -1,26 +1,24 @@ { - "place" : "1, 0, 0, 1, 0, 0", - "node" : "Group", - "opaque" : "true", - "opacity" : "1.0", + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, "contents" : [ { - "place" : "1, 0, 0, 1, 0, 0", - "node" : "Group", - "opaque" : "true", - "opacity" : "1.0", "contents" : [ { - "place" : "1, 0, 0, 1, 0, 0", - "form" : { - "cy" : 100, - "type" : "Circle", - "r" : 50, - "cx" : 100 - }, - "node" : "Shape", - "opaque" : "true", - "opacity" : "1.0", "stroke" : { "join" : "miter", "cap" : "butt", @@ -32,9 +30,20 @@ ], "width" : 1 - } + }, + "form" : { + "cy" : 100, + "type" : "Circle", + "r" : 50, + "cx" : 100 + }, + "node" : "Shape" }, { + "fill" : { + "type" : "Color", + "val" : 32768 + }, "form" : { "cy" : 100, "type" : "Circle", @@ -42,11 +51,6 @@ "cx" : 220 }, "node" : "Shape", - "fill" : { - "type" : "Color", - "val" : 32768 - }, - "opacity" : "1.0", "stroke" : { "join" : "miter", "cap" : "butt", @@ -58,11 +62,13 @@ ], "width" : 1 - }, - "place" : "1, 0, 0, 1, 0, 0", - "opaque" : "true" + } }, { + "fill" : { + "type" : "Color", + "val" : 0 + }, "form" : { "cy" : 100, "type" : "Circle", @@ -70,11 +76,6 @@ "cx" : 340 }, "node" : "Shape", - "fill" : { - "type" : "Color", - "val" : 0 - }, - "opacity" : "1.0", "stroke" : { "join" : "miter", "cap" : "butt", @@ -86,11 +87,13 @@ ], "width" : 4 - }, - "place" : "1, 0, 0, 1, 0, 0", - "opaque" : "true" + } }, { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, "form" : { "cy" : 260, "type" : "Circle", @@ -98,11 +101,6 @@ "cx" : 100 }, "node" : "Shape", - "fill" : { - "type" : "Color", - "val" : 16776960 - }, - "opacity" : "1.0", "stroke" : { "join" : "miter", "cap" : "butt", @@ -114,37 +112,22 @@ ], "width" : 4 - }, - "place" : "1, 0, 0, 1, 0, 0", - "opaque" : "true" + } }, { - "place" : "1, 0, 0, 1, 0, 0", - "form" : { - "cy" : 260, - "type" : "Circle", - "r" : 35, - "cx" : 220 - }, - "node" : "Shape", - "opaque" : "true", "fill" : { "type" : "Color", "val" : 255 }, - "opacity" : "1.0" - }, - { - "place" : "1, 0, 0, 1, 0, 0", "form" : { "cy" : 260, "type" : "Circle", - "r" : 50, - "cx" : 340 + "r" : 35, + "cx" : 220 }, - "node" : "Shape", - "opaque" : "true", - "opacity" : "1.0", + "node" : "Shape" + }, + { "stroke" : { "join" : "miter", "cap" : "butt", @@ -156,15 +139,19 @@ ], "width" : 10 - } + }, + "form" : { + "cy" : 260, + "type" : "Circle", + "r" : 50, + "cx" : 340 + }, + "node" : "Shape" } - ] + ], + "node" : "Group" }, { - "place" : "1, 0, 0, 1, 0, 0", - "node" : "Group", - "opaque" : "true", - "opacity" : "1.0", "contents" : [ { "baseline" : "bottom", @@ -175,29 +162,17 @@ "node" : "Text", "align" : "min", "text" : "$Revision: 1.7 $", - "opacity" : "1.0", "place" : "1, 0, 0, 1, 10, 340", - "opaque" : "true", "font" : { "name" : "SVGFreeSansASCII,sans-serif", "size" : 32, "weight" : "normal" } } - ] + ], + "node" : "Group" }, { - "place" : "1, 0, 0, 1, 0, 0", - "form" : { - "x" : 1, - "w" : 478, - "type" : "Rect", - "y" : 1, - "h" : 358 - }, - "node" : "Shape", - "opaque" : "true", - "opacity" : "1.0", "stroke" : { "join" : "miter", "cap" : "butt", @@ -209,7 +184,16 @@ ], "width" : 1 - } + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" } - ] + ], + "node" : "Canvas" } \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/shapes-circle-02-t-manual.reference b/MacawTests/w3cSVGTests/shapes-circle-02-t-manual.reference new file mode 100644 index 00000000..f92b83a4 --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-circle-02-t-manual.reference @@ -0,0 +1,174 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "form" : { + "cy" : 0, + "type" : "Circle", + "r" : 50, + "cx" : 0 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "form" : { + "cy" : 100, + "type" : "Circle", + "r" : 50, + "cx" : 0 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "form" : { + "cy" : 0, + "type" : "Circle", + "r" : 50, + "cx" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "form" : { + "cy" : 100, + "type" : "Circle", + "r" : 50, + "cx" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.5 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/shapes-circle-02-t-manual.svg b/MacawTests/w3cSVGTests/shapes-circle-02-t-manual.svg new file mode 100755 index 00000000..f058462f --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-circle-02-t-manual.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + +

+ Default attributes test with circle. +

+ + +

+ Run the test. No interaction required +

+
+ +

+ The test is passed if a group of four circles is displayed, arranged as shown in the reference image. +

+
+ + $RCSfile: shapes-circle-02-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/MacawTests/w3cSVGTests/shapes-ellipse-01-t-manual.reference b/MacawTests/w3cSVGTests/shapes-ellipse-01-t-manual.reference new file mode 100644 index 00000000..410be7b4 --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-ellipse-01-t-manual.reference @@ -0,0 +1,250 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "ellipse" : { + "cy" : 75, + "type" : "Ellipse", + "ry" : 50, + "rx" : 30, + "cx" : 50 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "form" : { + "ellipse" : { + "cy" : 75, + "type" : "Ellipse", + "ry" : 50, + "rx" : 30, + "cx" : 160 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "ellipse" : { + "cy" : 80, + "type" : "Ellipse", + "ry" : 35, + "rx" : 35, + "cx" : 270 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "form" : { + "ellipse" : { + "cy" : 80, + "type" : "Ellipse", + "ry" : 35, + "rx" : 35, + "cx" : 370 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 8 + }, + "form" : { + "ellipse" : { + "cy" : 220, + "type" : "Ellipse", + "ry" : 50, + "rx" : 30, + "cx" : 50 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 65280 + }, + "form" : { + "ellipse" : { + "cy" : 220, + "type" : "Ellipse", + "ry" : 50, + "rx" : 30, + "cx" : 160 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 8 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 65280 + }, + "form" : { + "ellipse" : { + "cy" : 220, + "type" : "Ellipse", + "ry" : 40, + "rx" : 70, + "cx" : 330 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 8 + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.7 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/shapes-ellipse-01-t-manual.svg b/MacawTests/w3cSVGTests/shapes-ellipse-01-t-manual.svg new file mode 100755 index 00000000..9466f065 --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-ellipse-01-t-manual.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + +

+ Test the ellipse element. +

+ + +

+Run the test. No interaction required. +

+
+ +

+ Seven ellipses are displayed, with position, size, fill and stroke matching the reference image +

+
+ + $RCSfile: shapes-ellipse-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/MacawTests/w3cSVGTests/shapes-ellipse-02-t-manual.reference b/MacawTests/w3cSVGTests/shapes-ellipse-02-t-manual.reference new file mode 100644 index 00000000..251f9dbb --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-ellipse-02-t-manual.reference @@ -0,0 +1,136 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "ellipse" : { + "cy" : 0, + "type" : "Ellipse", + "ry" : 50, + "rx" : 100, + "cx" : 0 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "ellipse" : { + "cy" : 250, + "type" : "Ellipse", + "ry" : 50, + "rx" : 100, + "cx" : 250 + }, + "shift" : 0, + "type" : "Arc", + "extent" : 6.2831853071795862 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/shapes-ellipse-02-t-manual.svg b/MacawTests/w3cSVGTests/shapes-ellipse-02-t-manual.svg new file mode 100755 index 00000000..dff0bf03 --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-ellipse-02-t-manual.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + +

+ Defaults test with ellipse. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if one blue ellipse is shown completely within the test slide, + and a quarter ellipse is shown in the top-left corner of the test slide.

+
+ + $RCSfile: shapes-ellipse-02-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/MacawTests/w3cSVGTests/shapes-intro-01-t-manual.reference b/MacawTests/w3cSVGTests/shapes-intro-01-t-manual.reference new file mode 100644 index 00000000..8bb167f8 --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-intro-01-t-manual.reference @@ -0,0 +1,475 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 50, + "w" : 35, + "type" : "Rect", + "y" : 50, + "h" : 60 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 50, + "w" : 35, + "type" : "Rect", + "y" : 155, + "h" : 60 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 130, + "w" : 35, + "type" : "Rect", + "y" : 50, + "h" : 60 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 130, + "w" : 35, + "type" : "Rect", + "y" : 155, + "h" : 60 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 210, + "w" : 60, + "type" : "Rect", + "y" : 50, + "h" : 60 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 210, + "w" : 60, + "type" : "Rect", + "y" : 155, + "h" : 60 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 315, + "w" : 35, + "type" : "Rect", + "y" : 50, + "h" : 60 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 315, + "w" : 35, + "type" : "Rect", + "y" : 155, + "h" : 60 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 394, + "w" : 35, + "type" : "Rect", + "y" : 50, + "h" : 60 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 394, + "w" : 35, + "type" : "Rect", + "y" : 155, + "h" : 60 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 235, + "w" : 10, + "type" : "Rect", + "y" : 260, + "h" : 10 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Stroked", + "place" : "1, 0, 0, 1, 5, 90", + "font" : { + "name" : "Arial", + "size" : 8, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Unstroked", + "place" : "1, 0, 0, 1, 5, 195", + "font" : { + "name" : "Arial", + "size" : 8, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Zero width rect", + "place" : "1, 0, 0, 1, 50, 135", + "font" : { + "name" : "Arial", + "size" : 8, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Zero height rect", + "place" : "1, 0, 0, 1, 130, 135", + "font" : { + "name" : "Arial", + "size" : 8, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Zero radius circle", + "place" : "1, 0, 0, 1, 210, 135", + "font" : { + "name" : "Arial", + "size" : 8, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Zero x radius ellipse", + "place" : "1, 0, 0, 1, 315, 135", + "font" : { + "name" : "Arial", + "size" : 8, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Zero y radius ellipse", + "place" : "1, 0, 0, 1, 394, 135", + "font" : { + "name" : "Arial", + "size" : 8, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Zero length line", + "place" : "1, 0, 0, 1, 235, 290", + "font" : { + "name" : "Arial", + "size" : 8, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 265, + "type" : "Line", + "x1" : 240, + "x2" : 240, + "y2" : 265 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 1 + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.5 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/shapes-intro-01-t-manual.svg b/MacawTests/w3cSVGTests/shapes-intro-01-t-manual.svg new file mode 100755 index 00000000..0060bf71 --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-intro-01-t-manual.svg @@ -0,0 +1,108 @@ + + + + + + + + + + + + +

+ Tests the degenerate cases of the basic shapes. The shapes are positioned + within the black rectangles. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if the 11 rectangles are empty.

+
+ + $RCSfile: shapes-intro-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Stroked + Unstroked + Zero width rect + Zero height rect + Zero radius circle + Zero x radius ellipse + Zero y radius ellipse + Zero length line + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/MacawTests/w3cSVGTests/shapes-line-01-t-manual.reference b/MacawTests/w3cSVGTests/shapes-line-01-t-manual.reference new file mode 100644 index 00000000..ab9c31da --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-line-01-t-manual.reference @@ -0,0 +1,589 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "y1" : 137, + "type" : "Line", + "x1" : 37.5, + "x2" : 112.5, + "y2" : 50 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "dashes" : [ + + ], + "width" : 5 + }, + "form" : { + "y1" : 137, + "type" : "Line", + "x1" : 112.5, + "x2" : 187.5, + "y2" : 50 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "dashes" : [ + + ], + "width" : 7.5 + }, + "form" : { + "y1" : 137, + "type" : "Line", + "x1" : 187.5, + "x2" : 262.5, + "y2" : 50 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 10 + }, + "form" : { + "y1" : 137, + "type" : "Line", + "x1" : 262.5, + "x2" : 337.5, + "y2" : 50 + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711935 + }, + "dashes" : [ + + ], + "width" : 12.5 + }, + "form" : { + "y1" : 137, + "type" : "Line", + "x1" : 337.5, + "x2" : 412.5, + "y2" : 50 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 200, + "type" : "Line", + "x1" : 170, + "x2" : 220, + "y2" : 200 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 200, + "type" : "Line", + "x1" : 220, + "x2" : 220, + "y2" : 250 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 250, + "type" : "Line", + "x1" : 220, + "x2" : 270, + "y2" : 250 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 250, + "type" : "Line", + "x1" : 270, + "x2" : 270, + "y2" : 200 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 200, + "type" : "Line", + "x1" : 270, + "x2" : 320, + "y2" : 200 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 200, + "type" : "Line", + "x1" : 25, + "x2" : 75, + "y2" : 200 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 10 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 200, + "type" : "Line", + "x1" : 75, + "x2" : 75, + "y2" : 250 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 10 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 250, + "type" : "Line", + "x1" : 75, + "x2" : 125, + "y2" : 250 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 10 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 250, + "type" : "Line", + "x1" : 125, + "x2" : 125, + "y2" : 200 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 10 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 200, + "type" : "Line", + "x1" : 125, + "x2" : 175, + "y2" : 200 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 10 + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 250, + "type" : "Line", + "x1" : 370, + "x2" : 420, + "y2" : 250 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 10 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 200, + "type" : "Line", + "x1" : 420, + "x2" : 470, + "y2" : 200 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16711935 + }, + "dashes" : [ + + ], + "width" : 10 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 200, + "type" : "Line", + "x1" : 320, + "x2" : 370, + "y2" : 200 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 10 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 200, + "type" : "Line", + "x1" : 370, + "x2" : 370, + "y2" : 250 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "dashes" : [ + + ], + "width" : 10 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 250, + "type" : "Line", + "x1" : 420, + "x2" : 420, + "y2" : 200 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16753920 + }, + "dashes" : [ + + ], + "width" : 10 + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.5 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/shapes-line-01-t-manual.svg b/MacawTests/w3cSVGTests/shapes-line-01-t-manual.svg new file mode 100755 index 00000000..ad6338be --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-line-01-t-manual.svg @@ -0,0 +1,80 @@ + + + + + + + + + + + + +

+Tests the line element. +

+ + +

+Run the test. No interaction required. +

+
+ +

+The test is passed if five diagonal lines are displayed on the top row. On the bottom row, a square wave pattern is displayed. The position, size, fill and stroke of the lines matches the reference image. +

+
+ + $RCSfile: shapes-line-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/MacawTests/w3cSVGTests/shapes-line-02-f-manual.reference b/MacawTests/w3cSVGTests/shapes-line-02-f-manual.reference new file mode 100644 index 00000000..dea20e2a --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-line-02-f-manual.reference @@ -0,0 +1,122 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "y1" : 100, + "type" : "Line", + "x1" : 100, + "x2" : 300, + "y2" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 10 + } + }, + { + "place" : ".965926, .258819, -.258819, .965926, 0, 0", + "form" : { + "y1" : 100, + "type" : "Line", + "x1" : 100, + "x2" : 300, + "y2" : 100 + }, + "node" : "Shape", + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 10 + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.3 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/shapes-line-02-f-manual.svg b/MacawTests/w3cSVGTests/shapes-line-02-f-manual.svg new file mode 100755 index 00000000..137f8165 --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-line-02-f-manual.svg @@ -0,0 +1,57 @@ + + + + + + + + + + +

+ The 'fill' attribute has no effect on the 'line' element. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: shapes-line-02-f.svg,v $ + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + diff --git a/MacawTests/w3cSVGTests/shapes-polygon-01-t-manual.reference b/MacawTests/w3cSVGTests/shapes-polygon-01-t-manual.reference new file mode 100644 index 00000000..d62f6d63 --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-polygon-01-t-manual.reference @@ -0,0 +1,283 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 59, + 45, + 95, + 63, + 108, + 105, + 82, + 139, + 39, + 140, + 11, + 107, + 19, + 65 + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 179, + 45, + 218, + 63, + 228, + 105, + 202, + 139, + 159, + 140, + 131, + 107, + 139, + 65, + 179, + 45 + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 350, + 45, + 375, + 80, + 410, + 95, + 375, + 110, + 350, + 145, + 325, + 120, + 290, + 95, + 325, + 70, + 350, + 45 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 6 + } + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 8 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 59, + 185, + 98, + 203, + 108, + 245, + 82, + 279, + 39, + 280, + 11, + 247, + 19, + 205, + 59, + 185 + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 65280 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 179, + 185, + 218, + 203, + 228, + 245, + 202, + 279, + 159, + 280, + 131, + 247, + 139, + 205 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 8 + } + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 65280 + }, + "dashes" : [ + + ], + "width" : 8 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 270, + 225, + 300, + 245, + 320, + 225, + 340, + 245, + 280, + 280, + 390, + 280, + 420, + 240, + 280, + 185 + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.7 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/shapes-polygon-01-t-manual.svg b/MacawTests/w3cSVGTests/shapes-polygon-01-t-manual.svg new file mode 100755 index 00000000..9d4e76e3 --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-polygon-01-t-manual.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + +

+ This test draws six different polygons excercising portions of the path attribute. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The six polygons drawn should match the reference image. +

+
+ + $RCSfile: shapes-polygon-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/MacawTests/w3cSVGTests/shapes-polygon-02-t-manual.reference b/MacawTests/w3cSVGTests/shapes-polygon-02-t-manual.reference new file mode 100644 index 00000000..d9f01b39 --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-polygon-02-t-manual.reference @@ -0,0 +1,790 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 30464 + }, + "dashes" : [ + + ], + "width" : 8 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 59, + 45, + 95, + 63, + 108, + 105, + 82, + 139, + 39, + 140, + 11, + 107, + 19, + 65 + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 5609762 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 179, + 45, + 218, + 63, + 228, + 105, + 202, + 139, + 159, + 140, + 131, + 107, + 139, + 65, + 179, + 45 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 30464 + }, + "dashes" : [ + + ], + "width" : 8 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 3399048 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 350, + 45, + 375, + 80, + 410, + 95, + 375, + 110, + 350, + 145, + 325, + 120, + 290, + 95, + 325, + 70, + 350, + 45 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 30464 + }, + "dashes" : [ + + ], + "width" : 8 + } + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 30464 + }, + "dashes" : [ + + ], + "width" : 8 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 59, + 185, + 98, + 203, + 108, + 245, + 82, + 279, + 39, + 280, + 11, + 247, + 19, + 205, + 59, + 185 + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 5635993 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 179, + 185, + 218, + 203, + 228, + 245, + 202, + 279, + 159, + 280, + 131, + 247, + 139, + 205 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 30464 + }, + "dashes" : [ + + ], + "width" : 8 + } + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 30464 + }, + "dashes" : [ + + ], + "width" : 8 + }, + "form" : { + "type" : "Polygon", + "points" : [ + 270, + 225, + 300, + 245, + 320, + 225, + 340, + 245, + 280, + 280, + 390, + 280, + 420, + 240, + 280, + 185 + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 3394662 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 59, + 45 + ] + }, + { + "type" : "L", + "data" : [ + 95, + 63 + ] + }, + { + "type" : "L", + "data" : [ + 108, + 105 + ] + }, + { + "type" : "L", + "data" : [ + 82, + 139 + ] + }, + { + "type" : "L", + "data" : [ + 39, + 140 + ] + }, + { + "type" : "L", + "data" : [ + 11, + 107 + ] + }, + { + "type" : "L", + "data" : [ + 19, + 65 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 3394662 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 179, + 45 + ] + }, + { + "type" : "L", + "data" : [ + 218, + 63 + ] + }, + { + "type" : "L", + "data" : [ + 228, + 105 + ] + }, + { + "type" : "L", + "data" : [ + 202, + 139 + ] + }, + { + "type" : "L", + "data" : [ + 159, + 140 + ] + }, + { + "type" : "L", + "data" : [ + 131, + 107 + ] + }, + { + "type" : "L", + "data" : [ + 139, + 65 + ] + }, + { + "type" : "L", + "data" : [ + 179, + 45 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 3394662 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 350, + 45 + ] + }, + { + "type" : "L", + "data" : [ + 375, + 80 + ] + }, + { + "type" : "L", + "data" : [ + 410, + 95 + ] + }, + { + "type" : "L", + "data" : [ + 375, + 110 + ] + }, + { + "type" : "L", + "data" : [ + 350, + 145 + ] + }, + { + "type" : "L", + "data" : [ + 325, + 120 + ] + }, + { + "type" : "L", + "data" : [ + 290, + 95 + ] + }, + { + "type" : "L", + "data" : [ + 325, + 70 + ] + }, + { + "type" : "L", + "data" : [ + 350, + 45 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 3394662 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 59, + 185 + ] + }, + { + "type" : "L", + "data" : [ + 98, + 203 + ] + }, + { + "type" : "L", + "data" : [ + 108, + 245 + ] + }, + { + "type" : "L", + "data" : [ + 82, + 279 + ] + }, + { + "type" : "L", + "data" : [ + 39, + 280 + ] + }, + { + "type" : "L", + "data" : [ + 11, + 247 + ] + }, + { + "type" : "L", + "data" : [ + 19, + 205 + ] + }, + { + "type" : "L", + "data" : [ + 59, + 185 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 3394662 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 179, + 185 + ] + }, + { + "type" : "L", + "data" : [ + 218, + 203 + ] + }, + { + "type" : "L", + "data" : [ + 228, + 245 + ] + }, + { + "type" : "L", + "data" : [ + 202, + 279 + ] + }, + { + "type" : "L", + "data" : [ + 159, + 280 + ] + }, + { + "type" : "L", + "data" : [ + 131, + 247 + ] + }, + { + "type" : "L", + "data" : [ + 139, + 205 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 3394662 + }, + "dashes" : [ + + ], + "width" : 3 + }, + "form" : { + "type" : "Path", + "segments" : [ + { + "type" : "M", + "data" : [ + 270, + 225 + ] + }, + { + "type" : "L", + "data" : [ + 300, + 245 + ] + }, + { + "type" : "L", + "data" : [ + 320, + 225 + ] + }, + { + "type" : "L", + "data" : [ + 340, + 245 + ] + }, + { + "type" : "L", + "data" : [ + 280, + 280 + ] + }, + { + "type" : "L", + "data" : [ + 390, + 280 + ] + }, + { + "type" : "L", + "data" : [ + 420, + 240 + ] + }, + { + "type" : "L", + "data" : [ + 280, + 185 + ] + }, + { + "type" : "z", + "data" : [ + + ] + } + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.2 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/shapes-polygon-02-t-manual.svg b/MacawTests/w3cSVGTests/shapes-polygon-02-t-manual.svg new file mode 100755 index 00000000..1ab6c726 --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-polygon-02-t-manual.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + +

+Checks that polygons and the equivalent paths are indeed equivalent. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+The test is passed if each shape seems to have a double stroke, dark green and light green. +

+
+ + $RCSfile: shapes-polygon-02-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.2 $ + + + + + diff --git a/MacawTests/w3cSVGTests/shapes-polyline-01-t-manual.reference b/MacawTests/w3cSVGTests/shapes-polyline-01-t-manual.reference new file mode 100644 index 00000000..f6a787f0 --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-polyline-01-t-manual.reference @@ -0,0 +1,269 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 10, + 50, + 35, + 150, + 60, + 50, + 85, + 150, + 110, + 50, + 135, + 150 + ] + }, + "node" : "Shape" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 8 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 220, + 50, + 267, + 84, + 249, + 140, + 190, + 140, + 172, + 84, + 220, + 50 + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 310, + 50, + 335, + 150, + 360, + 50, + 385, + 150, + 410, + 50, + 435, + 150 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 65280 + }, + "dashes" : [ + + ], + "width" : 4 + } + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "dashes" : [ + + ], + "width" : 8 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 59, + 185, + 98, + 203, + 108, + 245, + 82, + 279, + 39, + 280, + 11, + 247, + 19, + 205 + ] + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 65280 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 189, + 185, + 228, + 203, + 238, + 245, + 212, + 279, + 169, + 280, + 141, + 247, + 149, + 205 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 8 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 16711935 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 270, + 225, + 300, + 245, + 320, + 225, + 340, + 245, + 280, + 280, + 390, + 280, + 420, + 240, + 280, + 185 + ] + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.5 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/shapes-polyline-01-t-manual.svg b/MacawTests/w3cSVGTests/shapes-polyline-01-t-manual.svg new file mode 100755 index 00000000..952f1e51 --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-polyline-01-t-manual.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + +

+Tests the polyline element. +

+ + +

+Run the test. No interaction required. +

+
+ +

+ The test is passed if polylines are displayed whose position, size, fill and stroke matches the reference image. +

+
+ + $RCSfile: shapes-polyline-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/MacawTests/w3cSVGTests/shapes-rect-04-f-manual.reference b/MacawTests/w3cSVGTests/shapes-rect-04-f-manual.reference new file mode 100644 index 00000000..245b5848 --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-rect-04-f-manual.reference @@ -0,0 +1,159 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "rect" : { + "x" : 25, + "w" : 200, + "type" : "Rect", + "y" : 25, + "h" : 100 + }, + "type" : "RoundRect", + "ry" : 50, + "rx" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "rect" : { + "x" : 25, + "w" : 200, + "type" : "Rect", + "y" : 25, + "h" : 100 + }, + "type" : "RoundRect", + "ry" : 50, + "rx" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "rect" : { + "x" : 275, + "w" : 200, + "type" : "Rect", + "y" : 25, + "h" : 100 + }, + "type" : "RoundRect", + "ry" : 50, + "rx" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "rect" : { + "x" : 275, + "w" : 200, + "type" : "Rect", + "y" : 25, + "h" : 100 + }, + "type" : "RoundRect", + "ry" : 50, + "rx" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 150, + "w" : 200, + "type" : "Rect", + "y" : 135, + "h" : 100 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.3 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/shapes-rect-04-f-manual.svg b/MacawTests/w3cSVGTests/shapes-rect-04-f-manual.svg new file mode 100755 index 00000000..eadbe7f0 --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-rect-04-f-manual.svg @@ -0,0 +1,66 @@ + + + + + + + + + + +

+ 'Rect' elements with unspecified 'rx' and 'ry' attributes will use the specified 'rx' and 'ry' value if the other one is specified; if neither is specified, the 'rect' has square edges. +

+

+ Creates one 'rect' element with an unspecified 'ry'. Places it over a red 'rect' element with both 'rx' and 'ry' specified. Repeat with unspecified 'rx'. Finally creates a 'rect' element that has neither 'rx' or + 'ry' specified. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if the two shapes on top are rounded rectangles, the shape below has square corners, and no red is visible on the page. +

+
+ + $RCSfile: shapes-rect-04-f.svg,v $ + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + diff --git a/MacawTests/w3cSVGTests/shapes-rect-05-f-manual.reference b/MacawTests/w3cSVGTests/shapes-rect-05-f-manual.reference new file mode 100644 index 00000000..9b777e8b --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-rect-05-f-manual.reference @@ -0,0 +1,229 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "place" : "1, 0, 0, 1, 100, 100", + "contents" : [ + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16753920 + }, + "dashes" : [ + + ], + "width" : 10 + }, + "form" : { + "x" : 0, + "w" : 75, + "type" : "Rect", + "y" : 0, + "h" : 100 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 0, + "type" : "Line", + "x1" : 0, + "x2" : 75, + "y2" : 0 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "square", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 10 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 0, + "type" : "Line", + "x1" : 0, + "x2" : 0, + "y2" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "square", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 10 + } + } + ], + "node" : "Group" + }, + { + "place" : ".866025, -.5, .815207, .68404, 100, 100", + "contents" : [ + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 16753920 + }, + "dashes" : [ + + ], + "width" : 5 + }, + "form" : { + "x" : 100, + "w" : 100, + "type" : "Rect", + "y" : 100, + "h" : 100 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 100, + "type" : "Line", + "x1" : 100, + "x2" : 100, + "y2" : 200 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "square", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 5 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 100, + "type" : "Line", + "x1" : 100, + "x2" : 200, + "y2" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "square", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 5 + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.3 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/shapes-rect-05-f-manual.svg b/MacawTests/w3cSVGTests/shapes-rect-05-f-manual.svg new file mode 100755 index 00000000..acea039b --- /dev/null +++ b/MacawTests/w3cSVGTests/shapes-rect-05-f-manual.svg @@ -0,0 +1,74 @@ + + + + + + + + + + +

+ The 'rect' element defines a rect which is axis-aligned with the default user coordinate system when it is not the initial user coordinate system. +

+

+ Draws a 'rect' element originating at (0,0) of the current user coordinate system, which has been altered via 'transform' from the + initial user coordinate system. Draws perpendicular lines which also originate at (0,0) and advance along the x and y axes of the + current user coordinate system. Verifies that the lines overlap the top and left edges of the rectangle and that the rectangle is + thus axis-aligned with its current user coordinate system. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if the top and left of the rectangle is black while the right and bottom are orange, and the right half of the diamond is orange and the left half is black. +

+
+ + $RCSfile: shapes-rect-05-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + diff --git a/MacawTests/w3cSVGTests/struct-defs-01-t-manual.reference b/MacawTests/w3cSVGTests/struct-defs-01-t-manual.reference new file mode 100644 index 00000000..e65c3cd6 --- /dev/null +++ b/MacawTests/w3cSVGTests/struct-defs-01-t-manual.reference @@ -0,0 +1,83 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 65280 + }, + "form" : { + "x" : 140, + "w" : 200, + "type" : "Rect", + "y" : 80, + "h" : 200 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.6 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/struct-defs-01-t-manual.svg b/MacawTests/w3cSVGTests/struct-defs-01-t-manual.svg new file mode 100755 index 00000000..9dd905fd --- /dev/null +++ b/MacawTests/w3cSVGTests/struct-defs-01-t-manual.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + +

+ Test to verify that the defs element is used as a container correctly. +

+

+ In this test a fill is created which is solid green. The view should be a solid green rectangle + centered in the viewport 100 pixels from from left,top and right,bottom. Also, in the + defs sections there are rectangle defined, one to paint over the entire canvas with + a red fill and the other to obscure most of the green rectangle. +

+ + +

+ The rendered picture should match the reference image, except for possible + variations in the labelling text (per CSS2 rules). +

+
+ +

+ A green rectangle should be visible, and no red. +

+
+ + $RCSfile: struct-defs-01-t.svg,v $ + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/MacawTests/w3cSVGTests/struct-frag-01-t-manual.reference b/MacawTests/w3cSVGTests/struct-frag-01-t-manual.reference new file mode 100644 index 00000000..bd91d18e --- /dev/null +++ b/MacawTests/w3cSVGTests/struct-frag-01-t-manual.reference @@ -0,0 +1,21 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : null + }, + "contents" : [ + { + "contents" : [ + + ], + "node" : "Group" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/struct-frag-01-t-manual.svg b/MacawTests/w3cSVGTests/struct-frag-01-t-manual.svg new file mode 100755 index 00000000..d1defe40 --- /dev/null +++ b/MacawTests/w3cSVGTests/struct-frag-01-t-manual.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + +

+ This is an empty SVG document. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Nothing should be rendered by the User Agent. +

+
+ + $RCSfile: struct-frag-01-t.svg,v $ + + + + + + + + + + + + + diff --git a/MacawTests/w3cSVGTests/struct-frag-02-t-manual.reference b/MacawTests/w3cSVGTests/struct-frag-02-t-manual.reference new file mode 100644 index 00000000..8bed0d8e --- /dev/null +++ b/MacawTests/w3cSVGTests/struct-frag-02-t-manual.reference @@ -0,0 +1,123 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "none", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 100, + "w" : 100, + "type" : "Rect", + "y" : 100, + "h" : 100 + } + }, + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 14423100 + }, + "form" : { + "x" : 100, + "w" : 50, + "type" : "Rect", + "y" : 100, + "h" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 14423100 + }, + "form" : { + "x" : 150, + "w" : 50, + "type" : "Rect", + "y" : 150, + "h" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16766720 + }, + "form" : { + "cy" : 175, + "type" : "Circle", + "r" : 25, + "cx" : 125 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16766720 + }, + "form" : { + "cy" : 125, + "type" : "Circle", + "r" : 25, + "cx" : 175 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.5 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 100, + "w" : 100, + "type" : "Rect", + "y" : 100, + "h" : 100 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/struct-frag-02-t-manual.svg b/MacawTests/w3cSVGTests/struct-frag-02-t-manual.svg new file mode 100755 index 00000000..c52f8946 --- /dev/null +++ b/MacawTests/w3cSVGTests/struct-frag-02-t-manual.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + +

+ This test validates the use of the preserveAspectRatio attribute on the + root svg element in an SVG Tiny document. In this document, preserveAspectRatio + is set to none and the width and height of the document set to 100%. +

+

+ The document's viewBox is defined to be 100 by 100 with an origin + in (100, 100). The content is made of 2 red squares and 2 + orange circles. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Because preserveAspectRatio is set to 'none', the content should + appear distorted (if the aspect ratio is not 1): squares show as rectangles and circles show as + ellipses. +

+
+ + $RCSfile: struct-frag-02-t.svg,v $ + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/MacawTests/w3cSVGTests/struct-frag-03-t-manual.reference b/MacawTests/w3cSVGTests/struct-frag-03-t-manual.reference new file mode 100644 index 00000000..3ac9d021 --- /dev/null +++ b/MacawTests/w3cSVGTests/struct-frag-03-t-manual.reference @@ -0,0 +1,123 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 100, + "w" : 100, + "type" : "Rect", + "y" : 100, + "h" : 100 + } + }, + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 14423100 + }, + "form" : { + "x" : 100, + "w" : 50, + "type" : "Rect", + "y" : 100, + "h" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 14423100 + }, + "form" : { + "x" : 150, + "w" : 50, + "type" : "Rect", + "y" : 150, + "h" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16766720 + }, + "form" : { + "cy" : 175, + "type" : "Circle", + "r" : 25, + "cx" : 125 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16766720 + }, + "form" : { + "cy" : 125, + "type" : "Circle", + "r" : 25, + "cx" : 175 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.5 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 100, + "w" : 100, + "type" : "Rect", + "y" : 100, + "h" : 100 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/struct-frag-03-t-manual.svg b/MacawTests/w3cSVGTests/struct-frag-03-t-manual.svg new file mode 100755 index 00000000..160265d1 --- /dev/null +++ b/MacawTests/w3cSVGTests/struct-frag-03-t-manual.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + +

+ This test validates the use of the preserveAspectRatio attribute on the + root svg element in an SVG Tiny document. In this document, preserveAspectRatio + is set to 'xMidYMid meet' and the width and height of the document set to 100%. +

+

+ The document's viewBox is defined to be 100 by 100 with an origin + in (100, 100). The content is made of 2 red squares and 2 + orange circles. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Because preserveAspectRatio is set to 'xMidYMid meet', the content should + appear centered within the viewport: squares show as squares (and not + rectangles) and circles show as circles (and not ellipses). +

+
+ + $RCSfile: struct-frag-03-t.svg,v $ + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/MacawTests/w3cSVGTests/struct-frag-04-t-manual.reference b/MacawTests/w3cSVGTests/struct-frag-04-t-manual.reference new file mode 100644 index 00000000..7128688d --- /dev/null +++ b/MacawTests/w3cSVGTests/struct-frag-04-t-manual.reference @@ -0,0 +1,117 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : null + }, + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 14423100 + }, + "form" : { + "x" : 100, + "w" : 50, + "type" : "Rect", + "y" : 100, + "h" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 14423100 + }, + "form" : { + "x" : 150, + "w" : 50, + "type" : "Rect", + "y" : 150, + "h" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16766720 + }, + "form" : { + "cy" : 175, + "type" : "Circle", + "r" : 25, + "cx" : 125 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16766720 + }, + "form" : { + "cy" : 125, + "type" : "Circle", + "r" : 25, + "cx" : 175 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.5 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/struct-frag-04-t-manual.svg b/MacawTests/w3cSVGTests/struct-frag-04-t-manual.svg new file mode 100755 index 00000000..d85ee48f --- /dev/null +++ b/MacawTests/w3cSVGTests/struct-frag-04-t-manual.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + +

+ This test validates the operation of the svg element when there is no + viewbox. +

+

+ The document has x/y attributes set to (1000, 1000). Because + x/y are ignored on the root svg element, the x/y origin should have no + effect on the drawing. +

+

+ The document contains squares and circles between the + (100,100) and (200, 200) coordinates. +

+ + +

Run the test. No interaction required. If the test is run outside of the harness, the operator may resize the viewport.

+
+ +

The rendered picture should match the reference image. Changing the viewport + size should have no effect on the placement or scale of the document's content.

+
+ + $RCSfile: struct-frag-04-t.svg,v $ + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/MacawTests/w3cSVGTests/struct-group-01-t-manual.reference b/MacawTests/w3cSVGTests/struct-group-01-t-manual.reference new file mode 100644 index 00000000..51c02eff --- /dev/null +++ b/MacawTests/w3cSVGTests/struct-group-01-t-manual.reference @@ -0,0 +1,174 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 0, + "w" : 240, + "type" : "Rect", + "y" : 0, + "h" : 180 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "form" : { + "x" : 60, + "w" : 120, + "type" : "Rect", + "y" : 45, + "h" : 90 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 255 + }, + "form" : { + "x" : 240, + "w" : 240, + "type" : "Rect", + "y" : 180, + "h" : 180 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "x" : 240, + "w" : 240, + "type" : "Rect", + "y" : 0, + "h" : 180 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "place" : ".939693, -.34202, .34202, .939693, 0, 0", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 0, + "w" : 40, + "type" : "Rect", + "y" : 224, + "h" : 40 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 16776960 + }, + "form" : { + "x" : 0, + "w" : 40, + "type" : "Rect", + "y" : 280, + "h" : 40 + }, + "node" : "Shape" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.5 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/struct-group-01-t-manual.svg b/MacawTests/w3cSVGTests/struct-group-01-t-manual.svg new file mode 100755 index 00000000..42f05645 --- /dev/null +++ b/MacawTests/w3cSVGTests/struct-group-01-t-manual.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + +

+ The test checks to see that graphics elements (g) can be nested and that the like attributes can be passed to the children. + All the g elements for this test are in the g element whose id=allGs. +

+ + +

+ The test uses the 'rect' element, as well as basic fill (solid primary colors), + stroke (black 1-pixel lines), font-family and font-size properties. +

+

+ The two blue rectangles and the yellow are in the g labeled rects. + The blue rectangles inherit a fill color the green rect has a fill specified and it should not be overwritten. + The two yellow rectangles should inherit the fill color and the transform attribute, they should be + yellow and rotated at -20 degrees. These two rectangles are in g "yellowNrotate", that g is nested + inside g "gratuitiousG". The black rectangle in the upper right, has no attributes inherited from its parent. + The focus is nesting of g elements and passing on of attributes. +

+
+ +

+ The rendered picture should match the reference image, except for possible + variations in the labelling text (per CSS2 rules). +

+
+ + $RCSfile: struct-group-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/MacawTests/w3cSVGTests/struct-use-03-t-manual.reference b/MacawTests/w3cSVGTests/struct-use-03-t-manual.reference new file mode 100644 index 00000000..277a8772 --- /dev/null +++ b/MacawTests/w3cSVGTests/struct-use-03-t-manual.reference @@ -0,0 +1,171 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "mid", + "text" : "Reference", + "place" : "1, 0, 0, 1, 120, 60", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 18, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "mid", + "text" : "", + "place" : "1, 0, 0, 1, 360, 60", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 18, + "weight" : "normal" + } + }, + { + "place" : ".707107, .707107, -.707107, .707107, 120, 99.289322", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 65535 + }, + "form" : { + "x" : 0, + "w" : 100, + "type" : "Rect", + "y" : 0, + "h" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 20 + } + } + ], + "node" : "Group" + }, + { + "place" : "1, 0, 0, 1, 240, 0", + "contents" : [ + { + "place" : ".707107, .707107, -.707107, .707107, 120, 99.289322", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 65535 + }, + "form" : { + "x" : 0, + "w" : 100, + "type" : "Rect", + "y" : 0, + "h" : 100 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "dashes" : [ + + ], + "width" : 20 + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.5 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/struct-use-03-t-manual.svg b/MacawTests/w3cSVGTests/struct-use-03-t-manual.svg new file mode 100755 index 00000000..00c6dc9d --- /dev/null +++ b/MacawTests/w3cSVGTests/struct-use-03-t-manual.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + +

+ The purpose of this test is to validate proper handling of + the x/y attributes on the use element. +

+

+ The test shows a <use> element displayed on the right. + On the left, a group built as described in section + 5.6 of the SVG 1.1 specification validates that the + <use element is properly processed. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there are two identical diamond shapes visible. +

+
+ + $RCSfile: struct-use-03-t.svg,v $ + + + + + + + + + + + + + Reference + + <use> + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/MacawTests/w3cSVGTests/struct-use-12-f-manual.reference b/MacawTests/w3cSVGTests/struct-use-12-f-manual.reference new file mode 100644 index 00000000..bcb1b8c0 --- /dev/null +++ b/MacawTests/w3cSVGTests/struct-use-12-f-manual.reference @@ -0,0 +1,106 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "contents" : [ + + ], + "node" : "Group" + }, + { + "contents" : [ + + ], + "node" : "Group" + }, + { + "contents" : [ + { + "contents" : [ + + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "form" : { + "x" : 0, + "w" : 96, + "type" : "Rect", + "y" : 0, + "h" : 96 + }, + "node" : "Shape" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.3 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/struct-use-12-f-manual.svg b/MacawTests/w3cSVGTests/struct-use-12-f-manual.svg new file mode 100755 index 00000000..8c8d8e0a --- /dev/null +++ b/MacawTests/w3cSVGTests/struct-use-12-f-manual.svg @@ -0,0 +1,104 @@ + + + + + + + + + + +

+ Tests that recursive 'use' instances do not block rendering. +

+

+ Various scenarios that directly and indirectly create circular references via the 'use' tag. A 'g' element is used when + structural elements are necessary. None of the 'use' scenarios render anything. 'useLongCycle' tests a chain of recursive + 'use' instances that eventually cycles back to the first element. In 'useNested' 'use' elements are nested, with the child + referring to the parent. In 'useNestedGroup' a 'use' instance references a parent 'g' element. In 'useIndirectNestedGroup' + a 'use' instance indirectly references its own parent 'g'. In 'useMultipleIndirectNestedGroup', two 'use' instances + reference their parent 'g' elements, and additional 'use' instances refer to these self-referencing 'use' elements. A green + 'rect' is used to verify that rendering was processed up to that point. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there is green visible on the page. +

+
+ + $RCSfile: struct-use-12-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + diff --git a/MacawTests/w3cSVGTests/text-align-01-b-manual.reference b/MacawTests/w3cSVGTests/text-align-01-b-manual.reference new file mode 100644 index 00000000..7a80c8ee --- /dev/null +++ b/MacawTests/w3cSVGTests/text-align-01-b-manual.reference @@ -0,0 +1,330 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Test 'text-anchor' (horizontal)", + "place" : "1, 0, 0, 1, 5, 40", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 34, + "weight" : "normal" + } + }, + { + "contents" : [ + { + "place" : "1, 0, 0, 1, 230, 130", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 0, + "type" : "Line", + "x1" : 0, + "x2" : 50, + "y2" : 0 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "cy" : 0, + "type" : "Circle", + "r" : 3, + "cx" : 0 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 16711935 + }, + "node" : "Text", + "align" : "min", + "text" : "text-anchor:none", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 30, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "place" : "1, 0, 0, 1, 230, 180", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 0, + "type" : "Line", + "x1" : 0, + "x2" : 50, + "y2" : 0 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "cy" : 0, + "type" : "Circle", + "r" : 3, + "cx" : 0 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 16711935 + }, + "node" : "Text", + "align" : "min", + "text" : "text-anchor:start", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 30, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "place" : "1, 0, 0, 1, 230, 230", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 0, + "type" : "Line", + "x1" : -25, + "x2" : 25, + "y2" : 0 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "cy" : 0, + "type" : "Circle", + "r" : 3, + "cx" : 0 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "node" : "Text", + "align" : "mid", + "text" : "text-anchor:middle", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 30, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "place" : "1, 0, 0, 1, 230, 280", + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "y1" : 0, + "type" : "Line", + "x1" : -50, + "x2" : 0, + "y2" : 0 + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "cy" : 0, + "type" : "Circle", + "r" : 3, + "cx" : 0 + }, + "node" : "Shape" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "node" : "Text", + "align" : "max", + "text" : "text-anchor:end", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 30, + "weight" : "normal" + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.8 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/text-align-01-b-manual.svg b/MacawTests/w3cSVGTests/text-align-01-b-manual.svg new file mode 100755 index 00000000..d6d6eb5a --- /dev/null +++ b/MacawTests/w3cSVGTests/text-align-01-b-manual.svg @@ -0,0 +1,80 @@ + + + + + + + + + + + + +

+ Test 'text-anchor' property (horizontal). +

+

+ The three lines test the three values for property 'text-anchor': start, middle and end. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The lines in pink, 'text-anchor:none' and 'text-anchor:start', should both start from the same horizontal position (indicated by the black circle on each line) and extend to the right. + The green line, 'text-anchor:middle', should be centered horizontally around the black circle. + The blue line, 'text-anchor:end', should be aligned such that the end of the text meets the black circle. +

+
+ + $RCSfile: text-align-01-b.svg,v $ + + + + + + + + + Test 'text-anchor' (horizontal) + + + + + text-anchor:none + + + + + text-anchor:start + + + + + text-anchor:middle + + + + + text-anchor:end + + + + + $Revision: 1.8 $ + + + + + diff --git a/MacawTests/w3cSVGTests/text-fonts-01-t-manual.reference b/MacawTests/w3cSVGTests/text-fonts-01-t-manual.reference new file mode 100644 index 00000000..f8f5764a --- /dev/null +++ b/MacawTests/w3cSVGTests/text-fonts-01-t-manual.reference @@ -0,0 +1,191 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "A serifed face 画像", + "place" : "1, 0, 0, 1, 20, 80", + "font" : { + "name" : "Georgia, 'Minion Web', 'Times New Roman', Times, 'MS PMincho', Heisei-Mincho, serif", + "size" : 24, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "A sans-serif face 画像", + "place" : "1, 0, 0, 1, 20, 160", + "font" : { + "name" : "Arial, 'Arial Unicode', 'Myriad Web', Geneva, 'Lucida Sans Unicode', 'MS PGothic', Osaka, sans-serif", + "size" : 24, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "A mono (iW) face 画像", + "place" : "1, 0, 0, 1, 20, 240", + "font" : { + "name" : "'Lucida Console', 'Courier New', Courier, Monaco, 'MS Gothic', Osaka-Mono, monospace", + "size" : 24, + "weight" : "normal" + } + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 8388608 + }, + "node" : "Text", + "align" : "min", + "text" : "A serifed face 画像", + "place" : "1, 0, 0, 1, 40, 50", + "font" : { + "name" : "serif", + "size" : 24, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 8388608 + }, + "node" : "Text", + "align" : "min", + "text" : "A sans-serif face 画像", + "place" : "1, 0, 0, 1, 40, 130", + "font" : { + "name" : "sans-serif", + "size" : 24, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 8388608 + }, + "node" : "Text", + "align" : "min", + "text" : "A mono (iW) face 画像", + "place" : "1, 0, 0, 1, 40, 210", + "font" : { + "name" : "monospace", + "size" : 24, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "node" : "Text", + "align" : "min", + "text" : "This must be displayed", + "place" : "1, 0, 0, 1, 40, 290", + "font" : { + "name" : "'No such font at all', 'another fictitious one', sillynamewithoutspaces", + "size" : 24, + "weight" : "normal" + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.5 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/text-fonts-01-t-manual.svg b/MacawTests/w3cSVGTests/text-fonts-01-t-manual.svg new file mode 100755 index 00000000..30cc2fbd --- /dev/null +++ b/MacawTests/w3cSVGTests/text-fonts-01-t-manual.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + +

+ Purpose of test is to determine if the font family is being + correctly selected. The top two lines of text test serif fonts; + the top line in maroon tests the generic font family 'serif' + and the second line in black tests a selection of commonly + available named serif fonts. The next two lines of text test + sans-serif fonts; + the top line in maroon tests the generic font family 'sans-serif' + and the second line in black tests a selection of commonly + available named sans serif fonts. The following two lines + of text test monospaced fonts; + the top line in maroon tests the generic font family 'monospaced' + and the second line in black tests a selection of commonly + available named monospaced fonts. The lowercase 'i' and uppercase'W' + should be the same width,for monospaced fonts. +

+

+ The seventh line of text, in green, tests for + three non-existent fonts (nonsense names). There is no fallback + generic font specified. The text must be displayed anyway. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The first six lines contain two Japanese characters (画像) + at the end of the line. Both of these characters must be displayed, + although it is compliant to display them with the 'missing glyph' + if no suitable font containing Japanese characters can be found. + Most but not all fonts have a visible missing glyph character. + If the selected font has a visible missing glyph character, it should appear + wherever the corresponding glyph is not available. +

+
+ + $RCSfile: text-fonts-01-t.svg,v $ + + + + + + + + + + A serifed face 画像 + A sans-serif face 画像 + A mono (iW) face 画像 + + A serifed face 画像 + A sans-serif face 画像 + A mono (iW) face 画像 + + This must be displayed + + + + $Revision: 1.5 $ + + + + + diff --git a/MacawTests/w3cSVGTests/text-fonts-02-t-manual.reference b/MacawTests/w3cSVGTests/text-fonts-02-t-manual.reference new file mode 100644 index 00000000..e3bece90 --- /dev/null +++ b/MacawTests/w3cSVGTests/text-fonts-02-t-manual.reference @@ -0,0 +1,292 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "100", + "place" : "1, 0, 0, 1, 360, 50", + "font" : { + "name" : "Georgia,'Times New Roman',Times,'MS Mincho',serif", + "size" : 30, + "weight" : "100" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "200", + "place" : "1, 0, 0, 1, 360, 85", + "font" : { + "name" : "Georgia,'Times New Roman',Times,'MS Mincho',serif", + "size" : 30, + "weight" : "200" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "300", + "place" : "1, 0, 0, 1, 360, 120", + "font" : { + "name" : "Georgia,'Times New Roman',Times,'MS Mincho',serif", + "size" : 30, + "weight" : "300" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "400", + "place" : "1, 0, 0, 1, 360, 155", + "font" : { + "name" : "Georgia,'Times New Roman',Times,'MS Mincho',serif", + "size" : 30, + "weight" : "400" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "500", + "place" : "1, 0, 0, 1, 360, 190", + "font" : { + "name" : "Georgia,'Times New Roman',Times,'MS Mincho',serif", + "size" : 30, + "weight" : "500" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "node" : "Text", + "align" : "min", + "text" : "600", + "place" : "1, 0, 0, 1, 360, 225", + "font" : { + "name" : "Georgia,'Times New Roman',Times,'MS Mincho',serif", + "size" : 30, + "weight" : "600" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "node" : "Text", + "align" : "min", + "text" : "700", + "place" : "1, 0, 0, 1, 360, 260", + "font" : { + "name" : "Georgia,'Times New Roman',Times,'MS Mincho',serif", + "size" : 30, + "weight" : "700" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "node" : "Text", + "align" : "min", + "text" : "800", + "place" : "1, 0, 0, 1, 360, 295", + "font" : { + "name" : "Georgia,'Times New Roman',Times,'MS Mincho',serif", + "size" : 30, + "weight" : "800" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 32768 + }, + "node" : "Text", + "align" : "min", + "text" : "900", + "place" : "1, 0, 0, 1, 360, 330", + "font" : { + "name" : "Georgia,'Times New Roman',Times,'MS Mincho',serif", + "size" : 30, + "weight" : "900" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "This is bold", + "place" : "1, 0, 0, 1, 60, 80", + "font" : { + "name" : "Georgia,'Times New Roman',Times,'MS Mincho',serif", + "size" : 30, + "weight" : "bold" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "This is normal", + "place" : "1, 0, 0, 1, 60, 130", + "font" : { + "name" : "Georgia,'Times New Roman',Times,'MS Mincho',serif", + "size" : 30, + "weight" : "normal" + } + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "node" : "Text", + "align" : "min", + "text" : "Blue is bolder", + "place" : "1, 0, 0, 1, 60, 180", + "font" : { + "name" : "Georgia,'Times New Roman',Times,'MS Mincho',serif", + "size" : 30, + "weight" : "bolder" + } + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 255 + }, + "node" : "Text", + "align" : "min", + "text" : "Blue is lighter", + "place" : "1, 0, 0, 1, 60, 230", + "font" : { + "name" : "Georgia,'Times New Roman',Times,'MS Mincho',serif", + "size" : 30, + "weight" : "lighter" + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.5 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/text-fonts-02-t-manual.svg b/MacawTests/w3cSVGTests/text-fonts-02-t-manual.svg new file mode 100755 index 00000000..ba294714 --- /dev/null +++ b/MacawTests/w3cSVGTests/text-fonts-02-t-manual.svg @@ -0,0 +1,92 @@ + + + + + + + + + + + + +

+ Purpose of test is to determine if the font weight is being + correctly rendered. A number of font families are specified. The + numerical weight values (100 to 900) should show the lighter weights + on the lower numbers and the heavier weights on the larger numbers. + Heavier is defined to mean 'no lighter'. +

+

+ If only one font weight is available, they should all display at the + same weight. The transition from black to green figures shows the + correct light to bold transition for the common case where two + weights are available. If three or more weights are available, see + the CSS2 specification for how these are allocated to the nine + weight numbers. +

+

+ The absolute keywords 'normal' and bold' are tested + by the first two lines on the right hand side of the test, + the third line of text tests the to 'bolder' + relative keyword and the fourth tests the + 'lighter' relative keyword. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The numerical weight values (100 to 900) should show the lighter weights on the + lower numbers and the heavier weights on the larger numbers. Heavier is defined + to mean 'no lighter'. +

+
+ + $RCSfile: text-fonts-02-t.svg,v $ + + + + + + + + + + 100 + 200 + 300 + 400 + 500 + 600 + 700 + 800 + 900 + This is bold + This is normal + + Blue is bolder + + + Blue is lighter + + + + + $Revision: 1.5 $ + + + + + diff --git a/MacawTests/w3cSVGTests/types-basic-01-f-manual.reference b/MacawTests/w3cSVGTests/types-basic-01-f-manual.reference new file mode 100644 index 00000000..27456ad1 --- /dev/null +++ b/MacawTests/w3cSVGTests/types-basic-01-f-manual.reference @@ -0,0 +1,292 @@ +{ + "layout" : { + "yAligningMode" : "mid", + "scalingMode" : "meet", + "svgSize" : { + "height" : "100.0%", + "width" : "100.0%" + }, + "xAligningMode" : "mid", + "viewBox" : { + "x" : 0, + "w" : 480, + "type" : "Rect", + "y" : 0, + "h" : 360 + } + }, + "contents" : [ + { + "contents" : [ + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 20, + 75, + 380, + 75 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 10066329 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 20, + 125, + 380, + 125 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 10066329 + }, + "dashes" : [ + + ], + "width" : 1 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 16711680 + }, + "form" : { + "x" : 50, + "w" : 300, + "type" : "Rect", + "y" : 75, + "h" : 50 + }, + "node" : "Shape" + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 50, + 100, + 150, + 100 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 6750003 + }, + "dashes" : [ + + ], + "width" : 50 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 150, + 100, + 250, + 100 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 6736998 + }, + "dashes" : [ + + ], + "width" : 50 + } + }, + { + "fill" : { + "type" : "Color", + "val" : 0 + }, + "form" : { + "type" : "Polyline", + "points" : [ + 250, + 100, + 350, + 100 + ] + }, + "node" : "Shape", + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 3381759 + }, + "dashes" : [ + + ], + "width" : 50 + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "Different forms of the type", + "place" : "1, 0, 0, 1, 50, 200", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 20, + "weight" : "normal" + } + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 5592405 + }, + "node" : "Text", + "align" : "mid", + "text" : "50", + "place" : "1, 0, 0, 1, 100, 110", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 20, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 5592405 + }, + "node" : "Text", + "align" : "mid", + "text" : "5e1", + "place" : "1, 0, 0, 1, 200, 110", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 20, + "weight" : "normal" + } + }, + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 5592405 + }, + "node" : "Text", + "align" : "mid", + "text" : ".5e2", + "place" : "1, 0, 0, 1, 300, 110", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 20, + "weight" : "normal" + } + } + ], + "node" : "Group" + } + ], + "node" : "Group" + }, + { + "contents" : [ + { + "baseline" : "bottom", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "node" : "Text", + "align" : "min", + "text" : "$Revision: 1.5 $", + "place" : "1, 0, 0, 1, 10, 340", + "font" : { + "name" : "SVGFreeSansASCII,sans-serif", + "size" : 32, + "weight" : "normal" + } + } + ], + "node" : "Group" + }, + { + "stroke" : { + "join" : "miter", + "cap" : "butt", + "fill" : { + "type" : "Color", + "val" : 0 + }, + "dashes" : [ + + ], + "width" : 1 + }, + "form" : { + "x" : 1, + "w" : 478, + "type" : "Rect", + "y" : 1, + "h" : 358 + }, + "node" : "Shape" + } + ], + "node" : "Canvas" +} \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/types-basic-01-f-manual.svg b/MacawTests/w3cSVGTests/types-basic-01-f-manual.svg new file mode 100755 index 00000000..842996db --- /dev/null +++ b/MacawTests/w3cSVGTests/types-basic-01-f-manual.svg @@ -0,0 +1,74 @@ + + + + + + + + + + +

+ Tests scientific notation in attribute values; in particular, that numbers + of the form .n with a leading decimal point, are supported +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if all the coloured rectangles are of the same height + and line up with each other and + with the grey marker lines. If any red is visible, the test fails. +

+
+ + $RCSfile: types-basic-01-f.svg,v $ + + + + + + + + + + + + + + + + + + + Different forms of the <number> type + + + 50 + 5e1 + .5e2 + + + + + $Revision: 1.5 $ + + + + + diff --git a/Source/utils/SvgContentLayout.swift b/Source/svg/SVGContentLayout.swift similarity index 94% rename from Source/utils/SvgContentLayout.swift rename to Source/svg/SVGContentLayout.swift index 08afb49e..d4bfcb5b 100644 --- a/Source/utils/SvgContentLayout.swift +++ b/Source/svg/SVGContentLayout.swift @@ -5,7 +5,7 @@ public protocol ContentLayout { func layout(rect: Rect, into rectToFitIn: Rect) -> Transform } -class SvgContentLayout: ContentLayout { +class SVGContentLayout: ContentLayout { let scalingMode: AspectRatio let xAligningMode: Align @@ -18,7 +18,7 @@ class SvgContentLayout: ContentLayout { } public static var standard: ContentLayout { - return SvgContentLayout() + return SVGContentLayout() } public func layout(rect: Rect, into rectToFitIn: Rect) -> Transform { diff --git a/Source/utils/SvgNodeLayout.swift b/Source/svg/SVGNodeLayout.swift similarity index 61% rename from Source/utils/SvgNodeLayout.swift rename to Source/svg/SVGNodeLayout.swift index 28661a44..bfe89ae2 100644 --- a/Source/utils/SvgNodeLayout.swift +++ b/Source/svg/SVGNodeLayout.swift @@ -1,5 +1,5 @@ -enum Dimension { +enum SVGLength { case percent(Double) case pixels(Double) @@ -12,11 +12,11 @@ enum Dimension { } } -class Dimensions { - let width: Dimension - let height: Dimension +class SVGSize { + let width: SVGLength + let height: SVGLength - public init(width: Dimension, height: Dimension) { + public init(width: SVGLength, height: SVGLength) { self.width = width self.height = height } @@ -27,52 +27,52 @@ public protocol NodeLayout { func layout(node: Node, in rect: Rect) } -class SvgNodeLayout: NodeLayout { +class SVGNodeLayout: NodeLayout { - let svgDimensions: Dimensions? + let svgSize: SVGSize? let viewBox: Rect? let scalingMode: AspectRatio let xAligningMode: Align let yAligningMode: Align - init(svgDimensions: Dimensions? = .none, viewBox: Rect? = .none, scalingMode: AspectRatio? = .meet, xAligningMode: Align? = .mid, yAligningMode: Align? = .mid) { - self.svgDimensions = svgDimensions + init(svgSize: SVGSize? = .none, viewBox: Rect? = .none, scalingMode: AspectRatio? = .meet, xAligningMode: Align? = .mid, yAligningMode: Align? = .mid) { + self.svgSize = svgSize self.viewBox = viewBox self.scalingMode = scalingMode ?? .meet self.xAligningMode = xAligningMode ?? .mid self.yAligningMode = yAligningMode ?? .mid } - public func layout(node: Node, in rect: Rect) { + func layout(node: Node, in rect: Rect) { - guard let dimensions = svgDimensions else { return } - let width = dimensionToPixels(dimensions.width, framePixels: rect.w) - let height = dimensionToPixels(dimensions.height, framePixels: rect.h) - let svgSize = Size(w: width, h: height) + guard let size = svgSize else { return } + let width = svgLengthToPixels(size.width, framePixels: rect.w) + let height = svgLengthToPixels(size.height, framePixels: rect.h) + let svgSizeInPixels = Size(w: width, h: height) if let viewBox = self.viewBox { node.clip = viewBox } - let viewBox = self.viewBox ?? Rect(x: 0, y: 0, w: svgSize.w, h: svgSize.h) + let viewBox = self.viewBox ?? Rect(x: 0, y: 0, w: svgSizeInPixels.w, h: svgSizeInPixels.h) if scalingMode === AspectRatio.slice { // setup new clipping to slice extra bits - let newSize = AspectRatio.meet.fit(size: svgSize, into: viewBox) + let newSize = AspectRatio.meet.fit(size: svgSizeInPixels, into: viewBox) let newX = viewBox.x + xAligningMode.align(outer: viewBox.w, inner: newSize.w) let newY = viewBox.y + yAligningMode.align(outer: viewBox.h, inner: newSize.h) node.clip = Rect(x: newX, y: newY, w: newSize.w, h: newSize.h) } - let contentLayout = SvgContentLayout(scalingMode: scalingMode, xAligningMode: xAligningMode, yAligningMode: yAligningMode) - node.place = contentLayout.layout(rect: viewBox, into: Rect(x: 0, y: 0, w: svgSize.w, h: svgSize.h)) + let contentLayout = SVGContentLayout(scalingMode: scalingMode, xAligningMode: xAligningMode, yAligningMode: yAligningMode) + node.place = contentLayout.layout(rect: viewBox, into: Rect(x: 0, y: 0, w: svgSizeInPixels.w, h: svgSizeInPixels.h)) // move to (0, 0) node.place = node.place.move(dx: -viewBox.x, dy: -viewBox.y) } } -fileprivate func dimensionToPixels(_ dimension: Dimension, framePixels: Double) -> Double { - switch(dimension) { +fileprivate func svgLengthToPixels(_ svgLength: SVGLength, framePixels: Double) -> Double { + switch(svgLength) { case let .percent(percent): return framePixels * percent / 100.0 case let .pixels(pixels): diff --git a/Source/svg/SVGParser.swift b/Source/svg/SVGParser.swift index b489c93c..19086199 100644 --- a/Source/svg/SVGParser.swift +++ b/Source/svg/SVGParser.swift @@ -119,10 +119,10 @@ open class SVGParser { } } - fileprivate func parseViewBox(_ element: SWXMLHash.XMLElement) -> SvgNodeLayout? { - var svgDimensions: Dimensions? + fileprivate func parseViewBox(_ element: SWXMLHash.XMLElement) -> SVGNodeLayout? { + var svgSize: SVGSize? if let w = getDimensionValue(element, attribute: "width"), let h = getDimensionValue(element, attribute: "height") { - svgDimensions = Dimensions(width: w, height: h) + svgSize = SVGSize(width: w, height: h) } var viewBox: Rect? @@ -133,7 +133,7 @@ open class SVGParser { } } - if svgDimensions == nil && viewBox == nil { + if svgSize == nil && viewBox == nil { return .none } @@ -143,7 +143,7 @@ open class SVGParser { let strings = contentModeString.components(separatedBy: CharacterSet(charactersIn: " ")) if strings.count == 1 { // none scalingMode = parseAspectRatio(strings[0]) - return SvgNodeLayout(svgDimensions: svgDimensions, viewBox: viewBox, scalingMode: scalingMode) + return SVGNodeLayout(svgSize: svgSize, viewBox: viewBox, scalingMode: scalingMode) } guard strings.count == 2 else { fatalError("Invalid content mode") } @@ -159,7 +159,7 @@ open class SVGParser { scalingMode = parseAspectRatio(strings[1]) } - return SvgNodeLayout(svgDimensions: svgDimensions, viewBox: viewBox, scalingMode: scalingMode, xAligningMode: xAligningMode, yAligningMode: yAligningMode) + return SVGNodeLayout(svgSize: svgSize, viewBox: viewBox, scalingMode: scalingMode, xAligningMode: xAligningMode, yAligningMode: yAligningMode) } fileprivate func parseNode(_ node: XMLIndexer, groupStyle: [String: String] = [:]) -> Node? { @@ -1194,19 +1194,19 @@ open class SVGParser { return doubleFromString(attributeValue) } - fileprivate func getDimensionValue(_ element: SWXMLHash.XMLElement, attribute: String) -> Dimension? { + fileprivate func getDimensionValue(_ element: SWXMLHash.XMLElement, attribute: String) -> SVGLength? { guard let attributeValue = element.allAttributes[attribute]?.text else { return .none } return dimensionFromString(attributeValue) } - fileprivate func dimensionFromString(_ string: String) -> Dimension? { + fileprivate func dimensionFromString(_ string: String) -> SVGLength? { if let value = doubleFromString(string) { - return Dimension(pixels: value) + return SVGLength(pixels: value) } if string.hasSuffix("%") { - return Dimension(percent: Double(string.dropLast())!) + return SVGLength(percent: Double(string.dropLast())!) } return .none } diff --git a/Source/svg/SVGView.swift b/Source/svg/SVGView.swift index d40ef010..a6fc99ca 100644 --- a/Source/svg/SVGView.swift +++ b/Source/svg/SVGView.swift @@ -89,7 +89,7 @@ open class SVGView: MacawView { break } - let contentLayout = SvgContentLayout(scalingMode: scalingMode, xAligningMode: xAligningMode, yAligningMode: yAligningMode) + let contentLayout = SVGContentLayout(scalingMode: scalingMode, xAligningMode: xAligningMode, yAligningMode: yAligningMode) svgNode.place = contentLayout.layout(rect: nodeBounds, into: Rect(cgRect: bounds)) rootNode.contents = [svgNode] diff --git a/Source/views/MacawView.swift b/Source/views/MacawView.swift index c6fc696a..743ccf08 100644 --- a/Source/views/MacawView.swift +++ b/Source/views/MacawView.swift @@ -18,7 +18,7 @@ open class MacawView: MView, MGestureRecognizerDelegate { } didSet { - if let canvas = node as? SVGCanvas, let layout = canvas.layout as? SvgNodeLayout { + if let canvas = node as? SVGCanvas, let layout = canvas.layout as? SVGNodeLayout { layout.layout(node: canvas, in: Rect(cgRect: bounds)) }