+2006-01-25 Alexander Kellett <lypanov@kde.org>
+
+ Reviewed by eseidel.
+
+ Percentage values for width, height are not rendered correctly.
+ http://bugzilla.opendarwin.org/show_bug.cgi?id=5331
+
+ * svg/W3C-SVG-1.1/coords-units-01-b-expected.checksum:
+ * svg/W3C-SVG-1.1/coords-units-01-b-expected.png:
+ * svg/W3C-SVG-1.1/coords-units-02-b-expected.checksum:
+ * svg/W3C-SVG-1.1/coords-units-02-b-expected.png:
+ * svg/W3C-SVG-1.1/coords-units-02-b-expected.txt:
+ * svg/W3C-SVG-1.1/coords-units-03-b-expected.checksum:
+ * svg/W3C-SVG-1.1/coords-units-03-b-expected.png:
+ * svg/W3C-SVG-1.1/coords-units-03-b-expected.txt:
+ * svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt:
+ * svg/W3C-SVG-1.1/filters-color-01-b-expected.txt:
+ * svg/W3C-SVG-1.1/filters-composite-02-b-expected.checksum:
+ * svg/W3C-SVG-1.1/filters-composite-02-b-expected.png:
+ * svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
+ * svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt:
+ * svg/W3C-SVG-1.1/filters-displace-01-f-expected.checksum:
+ * svg/W3C-SVG-1.1/filters-displace-01-f-expected.png:
+ * svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
+ * svg/W3C-SVG-1.1/filters-example-01-b-expected.txt:
+ * svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
+ * svg/W3C-SVG-1.1/filters-light-01-f-expected.txt:
+ * svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
+ * svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
+ * svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt:
+ * svg/W3C-SVG-1.1/struct-image-02-b-expected.checksum:
+ * svg/W3C-SVG-1.1/struct-image-02-b-expected.png:
+ * svg/W3C-SVG-1.1/struct-image-02-b-expected.txt:
+ * svg/custom/image-with-transform-clip-filter-expected.txt:
+ * svg/custom/percentage-rect-expected.checksum: Added.
+ * svg/custom/percentage-rect-expected.png: Added.
+ * svg/custom/percentage-rect-expected.txt: Added.
+ * svg/custom/percentage-rect.svg: Added.
+ * svg/custom/text-filter-expected.txt:
+
2006-01-25 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
-2b90a21b5042e9bcb1a838582599a85b
\ No newline at end of file
+9ecb34c6bb9f4f8bafc6a302b7ce51aa
\ No newline at end of file
-93816a6c212a235fe97d2df336a92331
\ No newline at end of file
+73f1ab8fa6cb274690d5dde14ce3197a
\ No newline at end of file
text run at (0,0) width 344: "Percentage coordinates to user space conversion"
KCanvasContainer {g} at (25,70) size 20x20 [transform={m=((4.00,0.00)(0.00,4.00)) t=(5.00,50.00)}]
KCanvasItem {circle} at (25,70) size 20x20 [fill={[type=SOLID] [color=#000000]}] [data="M10.00,7.50L10.00,7.66L9.98,7.81L9.96,7.97L9.92,8.12L9.88,8.27L9.82,8.42L9.76,8.56L9.69,8.70L9.61,8.84L9.52,8.97L9.43,9.09L9.32,9.21L9.21,9.32L9.09,9.43L8.97,9.52L8.84,9.61L8.70,9.69L8.56,9.76L8.42,9.82L8.27,9.88L8.12,9.92L7.97,9.96L7.81,9.98L7.66,10.00L7.50,10.00L7.34,10.00L7.19,9.98L7.03,9.96L6.88,9.92L6.73,9.88L6.58,9.82L6.44,9.76L6.30,9.69L6.16,9.61L6.03,9.52L5.91,9.43L5.79,9.32L5.68,9.21L5.57,9.09L5.48,8.97L5.39,8.84L5.31,8.70L5.24,8.56L5.18,8.42L5.12,8.27L5.08,8.12L5.04,7.97L5.02,7.81L5.00,7.66L5.00,7.50L5.00,7.34L5.02,7.19L5.04,7.03L5.08,6.88L5.12,6.73L5.18,6.58L5.24,6.44L5.31,6.30L5.39,6.16L5.48,6.03L5.57,5.91L5.68,5.79L5.79,5.68L5.91,5.57L6.03,5.48L6.16,5.39L6.30,5.31L6.44,5.24L6.58,5.18L6.73,5.12L6.88,5.08L7.03,5.04L7.19,5.02L7.34,5.00L7.50,5.00L7.66,5.00L7.81,5.02L7.97,5.04L8.12,5.08L8.27,5.12L8.42,5.18L8.56,5.24L8.70,5.31L8.84,5.39L8.97,5.48L9.09,5.57L9.21,5.68L9.32,5.79L9.43,5.91L9.52,6.03L9.61,6.16L9.69,6.30L9.76,6.44L9.82,6.58L9.88,6.73L9.92,6.88L9.96,7.03L9.98,7.19L10.00,7.34"]
+ KCanvasItem {circle} at (29.01,74.00) size 12.00x12.00 [fill={[type=SOLID] [color=#FF0000]}] [data="M9.00,7.50L9.00,7.59L8.99,7.69L8.98,7.78L8.96,7.87L8.93,7.96L8.90,8.05L8.86,8.14L8.82,8.22L8.77,8.30L8.72,8.38L8.66,8.45L8.60,8.53L8.53,8.59L8.46,8.65L8.38,8.71L8.31,8.77L8.22,8.81L8.14,8.86L8.05,8.89L7.97,8.93L7.88,8.95L7.78,8.97L7.69,8.99L7.60,9.00L7.50,9.00L7.41,9.00L7.31,8.99L7.22,8.97L7.13,8.95L7.04,8.93L6.95,8.89L6.86,8.86L6.78,8.81L6.70,8.77L6.62,8.71L6.55,8.65L6.48,8.59L6.41,8.53L6.35,8.45L6.29,8.38L6.24,8.30L6.19,8.22L6.15,8.14L6.11,8.05L6.08,7.96L6.05,7.87L6.03,7.78L6.01,7.69L6.01,7.59L6.00,7.50L6.01,7.40L6.01,7.31L6.03,7.22L6.05,7.13L6.08,7.04L6.11,6.95L6.15,6.86L6.19,6.78L6.24,6.70L6.29,6.62L6.35,6.54L6.41,6.47L6.48,6.41L6.55,6.34L6.62,6.29L6.70,6.23L6.78,6.18L6.86,6.14L6.95,6.10L7.04,6.07L7.13,6.05L7.22,6.03L7.31,6.01L7.41,6.00L7.50,6.00L7.60,6.00L7.69,6.01L7.78,6.03L7.88,6.05L7.97,6.07L8.05,6.10L8.14,6.14L8.22,6.18L8.31,6.23L8.38,6.29L8.46,6.34L8.53,6.41L8.60,6.47L8.66,6.54L8.72,6.62L8.77,6.70L8.82,6.78L8.86,6.86L8.90,6.95L8.93,7.04L8.96,7.13L8.98,7.22L8.99,7.31L9.00,7.40"]
RenderSVGText {text} at (0,0) size 465x20
RenderText {TEXT} at (0,0) size 302x20
text run at (0,0) width 302: "CSS width/height to user space conversion"
RenderSVGText {text} at (0,0) size 465x20
RenderText {TEXT} at (0,0) size 351x20
text run at (0,0) width 351: "Percentage width/height to user space conversion"
- KCanvasContainer {g} at (10,175) size 40x20 [transform={m=((4.00,0.00)(0.00,4.00)) t=(30.00,175.00)}]
+ KCanvasContainer {g} at (10,175) size 40x40.00 [transform={m=((4.00,0.00)(0.00,4.00)) t=(30.00,175.00)}]
KCanvasItem {rect} at (10,175) size 40x20 [fill={[type=SOLID] [color=#000000]}] [data="M-5.00,0.00L5.00,0.00L5.00,5.00L-5.00,5.00"]
+ KCanvasItem {rect} at (10,195) size 39.99x20.00 [fill={[type=SOLID] [color=#FF0000]}] [data="M-5.00,5.00L5.00,5.00L5.00,10.00L-5.00,10.00"]
RenderSVGText {text} at (0,0) size 465x20
RenderText {TEXT} at (0,0) size 273x20
text run at (0,0) width 273: "CSS and percentage length conversion"
KCanvasContainer {g} at (0.71,244.86) size 144.43x30.29 [transform={m=((4.00,0.00)(4.00,4.00)) t=(30.00,260.00)}]
KCanvasItem {circle} at (1.71,245.86) size 56.58x28.29 [fill={[type=SOLID] [color=#000000]}] [data="M3.54,0.00L3.53,0.22L3.51,0.44L3.47,0.66L3.42,0.88L3.36,1.09L3.29,1.30L3.20,1.51L3.10,1.70L2.99,1.89L2.86,2.08L2.72,2.25L2.58,2.42L2.42,2.58L2.25,2.72L2.08,2.86L1.89,2.99L1.70,3.10L1.51,3.20L1.30,3.29L1.09,3.36L0.88,3.42L0.66,3.47L0.44,3.51L0.22,3.53L0.00,3.54L-0.22,3.53L-0.44,3.51L-0.66,3.47L-0.88,3.42L-1.09,3.36L-1.30,3.29L-1.51,3.20L-1.70,3.10L-1.89,2.99L-2.08,2.86L-2.25,2.72L-2.42,2.58L-2.58,2.42L-2.72,2.25L-2.86,2.08L-2.99,1.89L-3.10,1.70L-3.20,1.51L-3.29,1.30L-3.36,1.09L-3.42,0.88L-3.47,0.66L-3.51,0.44L-3.53,0.22L-3.54,0.00L-3.53,-0.22L-3.51,-0.44L-3.47,-0.66L-3.42,-0.88L-3.36,-1.09L-3.29,-1.30L-3.20,-1.51L-3.10,-1.70L-2.99,-1.89L-2.86,-2.08L-2.72,-2.25L-2.58,-2.42L-2.42,-2.58L-2.25,-2.72L-2.08,-2.86L-1.89,-2.99L-1.70,-3.10L-1.51,-3.20L-1.30,-3.29L-1.09,-3.36L-0.88,-3.42L-0.66,-3.47L-0.44,-3.51L-0.22,-3.53L-0.00,-3.54L0.22,-3.53L0.44,-3.51L0.66,-3.47L0.88,-3.42L1.09,-3.36L1.30,-3.29L1.51,-3.20L1.70,-3.10L1.89,-2.99L2.08,-2.86L2.25,-2.72L2.42,-2.58L2.58,-2.42L2.72,-2.25L2.86,-2.08L2.99,-1.89L3.10,-1.70L3.20,-1.51L3.29,-1.30L3.36,-1.09L3.42,-0.88L3.47,-0.66L3.51,-0.44L3.53,-0.22"]
KCanvasItem {circle} at (41.71,245.86) size 56.58x28.29 [fill={[type=SOLID] [color=#FF0000]}] [data="M13.54,0.00L13.53,0.22L13.51,0.44L13.47,0.66L13.42,0.88L13.36,1.09L13.29,1.30L13.20,1.51L13.10,1.70L12.99,1.89L12.86,2.08L12.72,2.25L12.58,2.42L12.42,2.58L12.25,2.72L12.08,2.86L11.89,2.99L11.70,3.10L11.51,3.20L11.30,3.29L11.09,3.36L10.88,3.42L10.66,3.47L10.44,3.51L10.22,3.53L10.00,3.54L9.78,3.53L9.56,3.51L9.34,3.47L9.12,3.42L8.91,3.36L8.70,3.29L8.49,3.20L8.30,3.10L8.11,2.99L7.92,2.86L7.75,2.72L7.58,2.58L7.42,2.42L7.28,2.25L7.14,2.08L7.01,1.89L6.90,1.70L6.80,1.51L6.71,1.30L6.64,1.09L6.58,0.88L6.53,0.66L6.49,0.44L6.47,0.22L6.46,0.00L6.47,-0.22L6.49,-0.44L6.53,-0.66L6.58,-0.88L6.64,-1.09L6.71,-1.30L6.80,-1.51L6.90,-1.70L7.01,-1.89L7.14,-2.08L7.28,-2.25L7.42,-2.42L7.58,-2.58L7.75,-2.72L7.92,-2.86L8.11,-2.99L8.30,-3.10L8.49,-3.20L8.70,-3.29L8.91,-3.36L9.12,-3.42L9.34,-3.47L9.56,-3.51L9.78,-3.53L10.00,-3.54L10.22,-3.53L10.44,-3.51L10.66,-3.47L10.88,-3.42L11.09,-3.36L11.30,-3.29L11.51,-3.20L11.70,-3.10L11.89,-2.99L12.08,-2.86L12.25,-2.72L12.42,-2.58L12.58,-2.42L12.72,-2.25L12.86,-2.08L12.99,-1.89L13.10,-1.70L13.20,-1.51L13.29,-1.30L13.36,-1.09L13.42,-0.88L13.47,-0.66L13.51,-0.44L13.53,-0.22"]
+ KCanvasItem {circle} at (81.71,245.86) size 56.57x28.29 [fill={[type=SOLID] [color=#008000]}] [data="M23.54,0.00L23.53,0.22L23.51,0.44L23.47,0.66L23.42,0.88L23.36,1.09L23.29,1.30L23.20,1.51L23.10,1.70L22.99,1.89L22.86,2.08L22.72,2.25L22.58,2.42L22.42,2.58L22.25,2.72L22.08,2.86L21.89,2.99L21.70,3.10L21.51,3.20L21.30,3.29L21.09,3.36L20.88,3.42L20.66,3.47L20.44,3.51L20.22,3.53L20.00,3.54L19.78,3.53L19.56,3.51L19.34,3.47L19.12,3.42L18.91,3.36L18.70,3.29L18.49,3.20L18.30,3.10L18.11,2.99L17.92,2.86L17.75,2.72L17.58,2.58L17.42,2.42L17.28,2.25L17.14,2.08L17.01,1.89L16.90,1.70L16.80,1.51L16.71,1.30L16.64,1.09L16.58,0.88L16.53,0.66L16.49,0.44L16.47,0.22L16.46,0.00L16.47,-0.22L16.49,-0.44L16.53,-0.66L16.58,-0.88L16.64,-1.09L16.71,-1.30L16.80,-1.51L16.90,-1.70L17.01,-1.89L17.14,-2.08L17.28,-2.25L17.42,-2.42L17.58,-2.58L17.75,-2.72L17.92,-2.86L18.11,-2.99L18.30,-3.10L18.49,-3.20L18.70,-3.29L18.91,-3.36L19.12,-3.42L19.34,-3.47L19.56,-3.51L19.78,-3.53L20.00,-3.54L20.22,-3.53L20.44,-3.51L20.66,-3.47L20.88,-3.42L21.09,-3.36L21.30,-3.29L21.51,-3.20L21.70,-3.10L21.89,-2.99L22.08,-2.86L22.25,-2.72L22.42,-2.58L22.58,-2.42L22.72,-2.25L22.86,-2.08L22.99,-1.89L23.10,-1.70L23.20,-1.51L23.29,-1.30L23.36,-1.09L23.42,-0.88L23.47,-0.66L23.51,-0.44L23.53,-0.22"]
KCanvasItem {line} at (0.71,244.86) size 116.14x2 [stroke={[type=SOLID] [color=#CCCCCC] [stroke width=0.50]}] [data="M-3.54,-3.54L25.00,-3.54"]
KCanvasItem {line} at (29,273.14) size 116.14x2 [stroke={[type=SOLID] [color=#CCCCCC] [stroke width=0.50]}] [data="M-3.54,3.54L25.00,3.54"]
RenderSVGText {text} at (0,0) size 465x46
-92975fd387e23c3d973b4ab4aaade6f0
\ No newline at end of file
+6ea2114091241d3a1e574986dbfce171
\ No newline at end of file
RenderSVGText {text} at (0,0) size 465x14
RenderText {TEXT} at (0,0) size 181x14
text run at (0,0) width 181: "Initial viewport and CSS units test"
- KCanvasContainer {g} at (20,80) size 200x181 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,60.00)}]
+ KCanvasContainer {g} at (20,80) size 200.02x181 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,60.00)}]
RenderSVGText {text} at (0,0) size 465x15
RenderText {TEXT} at (0,0) size 21x15
text run at (0,0) width 21: "200"
RenderText {TEXT} at (0,0) size 136x15
text run at (0,0) width 136: "Relative to font size (em)"
KCanvasContainer {g} at (0,60) size 0x0
+ KCanvasItem {rect} at (inf,inf) size 0x0 [fill={[type=SOLID] [color=#000000]}] [data=""]
RenderSVGText {text} at (0,0) size 465x15
RenderText {TEXT} at (0,0) size 30x15
text run at (0,0) width 30: "40 ex"
RenderText {TEXT} at (0,0) size 158x15
text run at (0,0) width 158: "Relative to font x-height (ex)"
KCanvasContainer {g} at (0,60) size 0x0
+ KCanvasItem {rect} at (inf,inf) size 0x0 [fill={[type=SOLID] [color=#000000]}] [data=""]
RenderSVGText {text} at (0,0) size 465x15
RenderText {TEXT} at (0,0) size 93x15
text run at (0,0) width 93: "41.67% = 200 px"
RenderSVGText {text} at (0,0) size 465x15
RenderText {TEXT} at (0,0) size 81x15
text run at (0,0) width 81: "Percentage (%)"
+ KCanvasItem {rect} at (20,160) size 200.02x1 [fill={[type=SOLID] [color=#000000]}] [data="M20.00,100.00L220.02,100.00L220.02,101.00L20.00,101.00"]
RenderSVGText {text} at (0,0) size 465x15
RenderText {TEXT} at (0,0) size 21x15
text run at (0,0) width 21: "1 in"
-KCanvasResource {id="BlendNormal" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=FLOOD] [in="BackgroundAlpha"] [result="img1"] [color=#00FF00] [opacity=0.50], [type=BLEND] [in="SourceGraphic"] [in2="img1"] [blend mode=NORMAL]]]}
-KCanvasResource {id="BlendMultiply" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=FLOOD] [in="SourceGraphic"] [result="img2"] [color=#00FF00] [opacity=0.50], [type=BLEND] [in="SourceGraphic"] [in2="img2"] [blend mode=MULTIPLY]]]}
-KCanvasResource {id="BlendScreen" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=FLOOD] [in="SourceGraphic"] [result="img2"] [color=#00FF00] [opacity=0.50], [type=BLEND] [in="SourceGraphic"] [in2="img2"] [blend mode=SCREEN]]]}
-KCanvasResource {id="BlendDarken" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=FLOOD] [in="SourceGraphic"] [result="img2"] [color=#00FF00] [opacity=0.50], [type=BLEND] [in="SourceGraphic"] [in2="img2"] [blend mode=DARKEN]]]}
-KCanvasResource {id="BlendLighten" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=FLOOD] [in="SourceGraphic"] [result="img2"] [color=#00FF00] [opacity=0.50], [type=BLEND] [in="SourceGraphic"] [in2="img2"] [blend mode=LIGHTEN]]]}
+KCanvasResource {id="BlendNormal" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=FLOOD] [in="BackgroundAlpha"] [result="img1"] [subregion="at (0,0) size 160x120"] [color=#00FF00] [opacity=0.50], [type=BLEND] [in="SourceGraphic"] [subregion="at (0,0) size 160x120"] [in2="img1"] [blend mode=NORMAL]]]}
+KCanvasResource {id="BlendMultiply" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=FLOOD] [in="SourceGraphic"] [result="img2"] [subregion="at (0,0) size 160x120"] [color=#00FF00] [opacity=0.50], [type=BLEND] [in="SourceGraphic"] [subregion="at (0,0) size 160x120"] [in2="img2"] [blend mode=MULTIPLY]]]}
+KCanvasResource {id="BlendScreen" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=FLOOD] [in="SourceGraphic"] [result="img2"] [subregion="at (0,0) size 160x120"] [color=#00FF00] [opacity=0.50], [type=BLEND] [in="SourceGraphic"] [subregion="at (0,0) size 160x120"] [in2="img2"] [blend mode=SCREEN]]]}
+KCanvasResource {id="BlendDarken" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=FLOOD] [in="SourceGraphic"] [result="img2"] [subregion="at (0,0) size 160x120"] [color=#00FF00] [opacity=0.50], [type=BLEND] [in="SourceGraphic"] [subregion="at (0,0) size 160x120"] [in2="img2"] [blend mode=DARKEN]]]}
+KCanvasResource {id="BlendLighten" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=FLOOD] [in="SourceGraphic"] [result="img2"] [subregion="at (0,0) size 160x120"] [color=#00FF00] [opacity=0.50], [type=BLEND] [in="SourceGraphic"] [subregion="at (0,0) size 160x120"] [in2="img2"] [blend mode=LIGHTEN]]]}
layer at (0,0) size 480x360
RenderCanvas at (0,0) size 480x360
KCanvasContainer {svg} at (2.25,2.25) size 475.50x355.50
KRenderingPaintServer {id="MyGradient" [type=LINEAR-GRADIENT] [stops=[(0.00,#DD00DD), (0.33,#22CC22), (0.67,#400000), (1.00,#A0A0FF)]] [bounding box mode=0] [start=(20,0)] [end=(760,0)]}
-KCanvasResource {id="Matrix" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=COLOR-MATRIX] [in="SourceGraphic"] [color matrix type=CMT_MATRIX] [values=[0.33, 0.33, 0.33, 0.00, 0.00, 0.33, 0.33, 0.33, 0.00, 0.00, 0.33, 0.33, 0.33, 0.00, 0.00, 0.33, 0.33, 0.33, 0.00, 0.00]]]]}
-KCanvasResource {id="Saturate40" [type=FILTER] [bounding box=at (-5,-5) size 110x110] [effect bounding box mode=0] [effects=[[type=COLOR-MATRIX] [in="SourceGraphic"] [color matrix type=CMT_SATURATE] [values=[0.25]]]]}
-KCanvasResource {id="HueRotate90" [type=FILTER] [bounding box=at (-5,-5) size 110x110] [effect bounding box mode=0] [effects=[[type=COLOR-MATRIX] [in="SourceGraphic"] [color matrix type=HUE-ROTATE] [values=[90.00]]]]}
-KCanvasResource {id="LuminanceToAlpha" [type=FILTER] [bounding box=at (-5,-5) size 110x110] [effect bounding box mode=0] [effects=[[type=COLOR-MATRIX] [in="SourceGraphic"] [result="a"] [color matrix type=LUMINANCE-TO-ALPHA] [values=[]], [type=COMPOSITE] [in="SourceGraphic"] [in2="a"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
+KCanvasResource {id="Matrix" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=COLOR-MATRIX] [in="SourceGraphic"] [subregion="at (0,0) size 800x500"] [color matrix type=CMT_MATRIX] [values=[0.33, 0.33, 0.33, 0.00, 0.00, 0.33, 0.33, 0.33, 0.00, 0.00, 0.33, 0.33, 0.33, 0.00, 0.00, 0.33, 0.33, 0.33, 0.00, 0.00]]]]}
+KCanvasResource {id="Saturate40" [type=FILTER] [bounding box=at (-5,-5) size 110x110] [effect bounding box mode=0] [effects=[[type=COLOR-MATRIX] [in="SourceGraphic"] [subregion="at (0,0) size 800x500"] [color matrix type=CMT_SATURATE] [values=[0.25]]]]}
+KCanvasResource {id="HueRotate90" [type=FILTER] [bounding box=at (-5,-5) size 110x110] [effect bounding box mode=0] [effects=[[type=COLOR-MATRIX] [in="SourceGraphic"] [subregion="at (0,0) size 800x500"] [color matrix type=HUE-ROTATE] [values=[90.00]]]]}
+KCanvasResource {id="LuminanceToAlpha" [type=FILTER] [bounding box=at (-5,-5) size 110x110] [effect bounding box mode=0] [effects=[[type=COLOR-MATRIX] [in="SourceGraphic"] [result="a"] [subregion="at (0,0) size 800x500"] [color matrix type=LUMINANCE-TO-ALPHA] [values=[]], [type=COMPOSITE] [in="SourceGraphic"] [subregion="at (0,0) size 800x500"] [in2="a"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
layer at (0,0) size 480x360
RenderCanvas at (0,0) size 480x360
KCanvasContainer {svg} at (0.50,0.50) size 799x499
-9ed0332c2d07ebd9a503a7d2aac27eab
\ No newline at end of file
+045d537ead570399e302b4bfa9fb7d1a
\ No newline at end of file
-KCanvasResource {id="over" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"], [type=IMAGE] [result="red"], [type=COMPOSITE] [in="red"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
-KCanvasResource {id="over50" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"], [type=IMAGE] [result="red"], [type=COMPOSITE] [in="red"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
-KCanvasResource {id="in" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"], [type=IMAGE] [result="red"], [type=COMPOSITE] [in="red"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
-KCanvasResource {id="in50" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"], [type=IMAGE] [result="red"], [type=COMPOSITE] [in="red"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
-KCanvasResource {id="out" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"], [type=IMAGE] [result="red"], [type=COMPOSITE] [in="red"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
-KCanvasResource {id="out50" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"], [type=IMAGE] [result="red"], [type=COMPOSITE] [in="red"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
-KCanvasResource {id="atop" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"], [type=IMAGE] [result="red"], [type=COMPOSITE] [in="red"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
-KCanvasResource {id="atop50" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"], [type=IMAGE] [result="red"], [type=COMPOSITE] [in="red"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
-KCanvasResource {id="xor" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"], [type=IMAGE] [result="red"], [type=COMPOSITE] [in="red"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
-KCanvasResource {id="xor50" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"], [type=IMAGE] [result="red"], [type=COMPOSITE] [in="red"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
-KCanvasResource {id="arithmetic" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"], [type=IMAGE] [result="red"], [type=COMPOSITE] [in="red"] [in2="blue"] [k1=0.50 k2=0.50 k3=0.50 k4=0.50]]]}
-KCanvasResource {id="arithmetic50" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"], [type=IMAGE] [result="red"], [type=COMPOSITE] [in="red"] [in2="blue"] [k1=0.50 k2=0.50 k3=0.50 k4=0.50]]]}
+KCanvasResource {id="over" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"] [subregion="at (0,0) size 480x360"], [type=IMAGE] [result="red"] [subregion="at (0,0) size 480x360"], [type=COMPOSITE] [in="red"] [subregion="at (0,0) size 480x360"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
+KCanvasResource {id="over50" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"] [subregion="at (0,0) size 480x360"], [type=IMAGE] [result="red"] [subregion="at (0,0) size 480x360"], [type=COMPOSITE] [in="red"] [subregion="at (0,0) size 480x360"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
+KCanvasResource {id="in" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"] [subregion="at (0,0) size 480x360"], [type=IMAGE] [result="red"] [subregion="at (0,0) size 480x360"], [type=COMPOSITE] [in="red"] [subregion="at (0,0) size 480x360"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
+KCanvasResource {id="in50" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"] [subregion="at (0,0) size 480x360"], [type=IMAGE] [result="red"] [subregion="at (0,0) size 480x360"], [type=COMPOSITE] [in="red"] [subregion="at (0,0) size 480x360"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
+KCanvasResource {id="out" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"] [subregion="at (0,0) size 480x360"], [type=IMAGE] [result="red"] [subregion="at (0,0) size 480x360"], [type=COMPOSITE] [in="red"] [subregion="at (0,0) size 480x360"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
+KCanvasResource {id="out50" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"] [subregion="at (0,0) size 480x360"], [type=IMAGE] [result="red"] [subregion="at (0,0) size 480x360"], [type=COMPOSITE] [in="red"] [subregion="at (0,0) size 480x360"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
+KCanvasResource {id="atop" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"] [subregion="at (0,0) size 480x360"], [type=IMAGE] [result="red"] [subregion="at (0,0) size 480x360"], [type=COMPOSITE] [in="red"] [subregion="at (0,0) size 480x360"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
+KCanvasResource {id="atop50" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"] [subregion="at (0,0) size 480x360"], [type=IMAGE] [result="red"] [subregion="at (0,0) size 480x360"], [type=COMPOSITE] [in="red"] [subregion="at (0,0) size 480x360"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
+KCanvasResource {id="xor" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"] [subregion="at (0,0) size 480x360"], [type=IMAGE] [result="red"] [subregion="at (0,0) size 480x360"], [type=COMPOSITE] [in="red"] [subregion="at (0,0) size 480x360"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
+KCanvasResource {id="xor50" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"] [subregion="at (0,0) size 480x360"], [type=IMAGE] [result="red"] [subregion="at (0,0) size 480x360"], [type=COMPOSITE] [in="red"] [subregion="at (0,0) size 480x360"] [in2="blue"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
+KCanvasResource {id="arithmetic" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"] [subregion="at (0,0) size 480x360"], [type=IMAGE] [result="red"] [subregion="at (0,0) size 480x360"], [type=COMPOSITE] [in="red"] [subregion="at (0,0) size 480x360"] [in2="blue"] [k1=0.50 k2=0.50 k3=0.50 k4=0.50]]]}
+KCanvasResource {id="arithmetic50" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="blue"] [subregion="at (0,0) size 480x360"], [type=IMAGE] [result="red"] [subregion="at (0,0) size 480x360"], [type=COMPOSITE] [in="red"] [subregion="at (0,0) size 480x360"] [in2="blue"] [k1=0.50 k2=0.50 k3=0.50 k4=0.50]]]}
layer at (0,0) size 480x360
RenderCanvas at (0,0) size 480x360
KCanvasContainer {svg} at (0.50,0.50) size 479x359
-KCanvasResource {id="surfaceScaleA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=1.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="surfaceScaleB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="surfaceScaleC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=-10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="diffuseConstantA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=0.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="diffuseConstantB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="diffuseConstantC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=2.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="lightingColorA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="lightingColorB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="lightingColorC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="surfaceScaleA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=1.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="surfaceScaleB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="surfaceScaleC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=-10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="diffuseConstantA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=0.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="diffuseConstantB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="diffuseConstantC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=2.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="lightingColorA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="lightingColorB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="lightingColorC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
layer at (0,0) size 480x360
RenderCanvas at (0,0) size 480x360
KCanvasContainer {svg} at (0.50,0.50) size 479x359
-3472de2d21efb6c7c41752bcfbefccd9
\ No newline at end of file
+10aae9bab31ed77a33002ea93e30908d
\ No newline at end of file
-KCanvasResource {id="DispMapChecker" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] ]]}
-KCanvasResource {id="RotateMap" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] ]]}
-KCanvasResource {id="SphereMap" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] ]]}
-KCanvasResource {id="RotateMapTest" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="Map"], [type=IMAGE] [result="Texture"]]]}
-KCanvasResource {id="SphereMapTest" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="Map"], [type=IMAGE] [result="Texture"]]]}
+KCanvasResource {id="DispMapChecker" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [subregion="at (0,0) size 480x360"]]]}
+KCanvasResource {id="RotateMap" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [subregion="at (0,0) size 480x360"]]]}
+KCanvasResource {id="SphereMap" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [subregion="at (0,0) size 480x360"]]]}
+KCanvasResource {id="RotateMapTest" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="Map"] [subregion="at (0,0) size 480x360"], [type=IMAGE] [result="Texture"] [subregion="at (0,0) size 480x360"]]]}
+KCanvasResource {id="SphereMapTest" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=IMAGE] [result="Map"] [subregion="at (0,0) size 480x360"], [type=IMAGE] [result="Texture"] [subregion="at (0,0) size 480x360"]]]}
layer at (0,0) size 480x360
RenderCanvas at (0,0) size 480x360
KCanvasContainer {svg} at (0.50,0.50) size 479x359
-KCanvasResource {id="MyFilter" [type=FILTER] [bounding box=at (0,0) size 200x120] [bounding box mode=0] [effect bounding box mode=0] [effects=[[type=GAUSSIAN-BLUR] [in="SourceAlpha"] [result="blur"] [std dev. x=4.00 y=4.00], [type=OFFSET] [in="blur"] [result="offsetBlur"] [dx=4.00 dy=4.00], [type=COMPOSITE] [in="SourceGraphic"] [in2="offsetBlur"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
+KCanvasResource {id="MyFilter" [type=FILTER] [bounding box=at (0,0) size 200x120] [bounding box mode=0] [effect bounding box mode=0] [effects=[[type=GAUSSIAN-BLUR] [in="SourceAlpha"] [result="blur"] [subregion="at (0,0) size 200x120"] [std dev. x=4.00 y=4.00], [type=OFFSET] [in="blur"] [result="offsetBlur"] [subregion="at (0,0) size 200x120"] [dx=4.00 dy=4.00], [type=COMPOSITE] [in="SourceGraphic"] [subregion="at (0,0) size 200x120"] [in2="offsetBlur"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00]]]}
layer at (0,0) size 480x360
RenderCanvas at (0,0) size 480x360
KCanvasContainer {svg} at (-6.67,0.50) size 486.17x359
-KCanvasResource {id="blur" [type=FILTER] [bounding box=at (-10,-10) size 120x120] [effect bounding box mode=0] [effects=[[type=GAUSSIAN-BLUR] [std dev. x=10.00 y=10.00]]]}
-KCanvasResource {id="blurxy" [type=FILTER] [bounding box=at (-10,-10) size 120x120] [effect bounding box mode=0] [effects=[[type=GAUSSIAN-BLUR] [std dev. x=20.00 y=1.00]]]}
+KCanvasResource {id="blur" [type=FILTER] [bounding box=at (-10,-10) size 120x120] [effect bounding box mode=0] [effects=[[type=GAUSSIAN-BLUR] [subregion="at (0,0) size 480x360"] [std dev. x=10.00 y=10.00]]]}
+KCanvasResource {id="blurxy" [type=FILTER] [bounding box=at (-10,-10) size 120x120] [effect bounding box mode=0] [effects=[[type=GAUSSIAN-BLUR] [subregion="at (0,0) size 480x360"] [std dev. x=20.00 y=1.00]]]}
layer at (0,0) size 480x360
RenderCanvas at (0,0) size 480x360
KCanvasContainer {svg} at (0,0) size 479.50x359.50
-KCanvasResource {id="distantLightA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="distantLightB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="distantLightC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="distantLightD" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="pointLightA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="pointLightB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="pointLightC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="pointLightD" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="spotLightA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="spotLightB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="spotLightC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
-KCanvasResource {id="spotLightD" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="distantLightA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="distantLightB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="distantLightC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="distantLightD" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="pointLightA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="pointLightB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="pointLightC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="pointLightD" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="spotLightA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="spotLightB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="spotLightC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
+KCanvasResource {id="spotLightD" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=DIFFUSE-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]]}
layer at (0,0) size 480x360
RenderCanvas at (0,0) size 480x360
KCanvasContainer {svg} at (0.50,0.50) size 479x359
-KCanvasResource {id="FOMTest" [type=FILTER] [bounding box=at (0,0) size 250x400] [effect bounding box mode=0] [effects=[[type=OFFSET] [result="Off1"] [dx=40.00 dy=30.00], [type=FLOOD] [result="F1"] [color=#408000] [opacity=0.80], [type=COMPOSITE] [result="C1"] [in2="Off1"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00], [type=OFFSET] [in="SourceGraphic"] [result="Off2"] [dx=80.00 dy=60.00], [type=FLOOD] [result="F2"] [color=#408000] [opacity=0.60], [type=COMPOSITE] [result="C2"] [in2="Off2"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00], [type=OFFSET] [in="SourceGraphic"] [result="Off3"] [dx=120.00 dy=90.00], [type=FLOOD] [result="F3"] [color=#408000] [opacity=0.40], [type=COMPOSITE] [result="C3"] [in2="Off3"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00], [type=MERGE] [merge inputs=[C3, C2, C1, SourceGraphic]]]]}
+KCanvasResource {id="FOMTest" [type=FILTER] [bounding box=at (0,0) size 250x400] [effect bounding box mode=0] [effects=[[type=OFFSET] [result="Off1"] [subregion="at (0,0) size 480x360"] [dx=40.00 dy=30.00], [type=FLOOD] [result="F1"] [subregion="at (0,0) size 480x360"] [color=#408000] [opacity=0.80], [type=COMPOSITE] [result="C1"] [subregion="at (0,0) size 480x360"] [in2="Off1"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00], [type=OFFSET] [in="SourceGraphic"] [result="Off2"] [subregion="at (0,0) size 480x360"] [dx=80.00 dy=60.00], [type=FLOOD] [result="F2"] [subregion="at (0,0) size 480x360"] [color=#408000] [opacity=0.60], [type=COMPOSITE] [result="C2"] [subregion="at (0,0) size 480x360"] [in2="Off2"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00], [type=OFFSET] [in="SourceGraphic"] [result="Off3"] [subregion="at (0,0) size 480x360"] [dx=120.00 dy=90.00], [type=FLOOD] [result="F3"] [subregion="at (0,0) size 480x360"] [color=#408000] [opacity=0.40], [type=COMPOSITE] [result="C3"] [subregion="at (0,0) size 480x360"] [in2="Off3"] [k1=0.00 k2=0.00 k3=0.00 k4=0.00], [type=MERGE] [subregion="at (0,0) size 480x360"][merge inputs=[C3, C2, C1, SourceGraphic]]]]}
layer at (0,0) size 480x360
RenderCanvas at (0,0) size 480x360
KCanvasContainer {svg} at (0.50,0.50) size 479x359
-KCanvasResource {id="surfaceScaleA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [surface scale=1.00] [specual constant=1.00] [specular exponent=1.00]]]}
-KCanvasResource {id="surfaceScaleB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [specual constant=1.00] [specular exponent=1.00]]]}
-KCanvasResource {id="surfaceScaleC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [surface scale=-10.00] [specual constant=1.00] [specular exponent=1.00]]]}
-KCanvasResource {id="specularConstantA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [specual constant=0.00] [specular exponent=1.00]]]}
-KCanvasResource {id="specularConstantB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [specual constant=1.00] [specular exponent=1.00]]]}
-KCanvasResource {id="specularConstantC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [specual constant=2.00] [specular exponent=1.00]]]}
-KCanvasResource {id="specularExponentA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [specual constant=1.00] [specular exponent=1.00]]]}
-KCanvasResource {id="specularExponentB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [specual constant=1.00] [specular exponent=2.00]]]}
-KCanvasResource {id="specularExponentC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [specual constant=1.00] [specular exponent=4.00]]]}
-KCanvasResource {id="lightingColorA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [specual constant=1.00] [specular exponent=1.00]]]}
-KCanvasResource {id="lightingColorB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [specual constant=1.00] [specular exponent=1.00]]]}
-KCanvasResource {id="lightingColorC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [surface scale=10.00] [specual constant=1.00] [specular exponent=1.00]]]}
+KCanvasResource {id="surfaceScaleA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=1.00] [specual constant=1.00] [specular exponent=1.00]]]}
+KCanvasResource {id="surfaceScaleB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [specual constant=1.00] [specular exponent=1.00]]]}
+KCanvasResource {id="surfaceScaleC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=-10.00] [specual constant=1.00] [specular exponent=1.00]]]}
+KCanvasResource {id="specularConstantA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [specual constant=0.00] [specular exponent=1.00]]]}
+KCanvasResource {id="specularConstantB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [specual constant=1.00] [specular exponent=1.00]]]}
+KCanvasResource {id="specularConstantC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [specual constant=2.00] [specular exponent=1.00]]]}
+KCanvasResource {id="specularExponentA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [specual constant=1.00] [specular exponent=1.00]]]}
+KCanvasResource {id="specularExponentB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [specual constant=1.00] [specular exponent=2.00]]]}
+KCanvasResource {id="specularExponentC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [specual constant=1.00] [specular exponent=4.00]]]}
+KCanvasResource {id="lightingColorA" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [specual constant=1.00] [specular exponent=1.00]]]}
+KCanvasResource {id="lightingColorB" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [specual constant=1.00] [specular exponent=1.00]]]}
+KCanvasResource {id="lightingColorC" [type=FILTER] [bounding box=at (0,0) size 100x100] [effect bounding box mode=0] [effects=[[type=SPECULAR-LIGHTING] [in="SourceGraphic"] [subregion="at (0,0) size 480x360"] [surface scale=10.00] [specual constant=1.00] [specular exponent=1.00]]]}
layer at (0,0) size 480x360
RenderCanvas at (0,0) size 480x360
KCanvasContainer {svg} at (0.50,0.50) size 479x359
-KCanvasResource {id="feTileFilter" [type=FILTER] [bounding box=at (115,40) size 250x250] [bounding box mode=0] [effect bounding box mode=0] [effects=[[type=FLOOD] [subregion="at (115,40) size 54x19"] [color=#FF0000] [opacity=1.00], [type=OFFSET] [result="offset"] [subregion="at (115,40) size 50x25"] [dx=6.00 dy=6.00], ]]}
+KCanvasResource {id="feTileFilter" [type=FILTER] [bounding box=at (115,40) size 250x250] [bounding box mode=0] [effect bounding box mode=0] [effects=[[type=FLOOD] [subregion="at (115,40) size 54x19"] [color=#FF0000] [opacity=1.00], [type=OFFSET] [result="offset"] [subregion="at (115,40) size 50x25"] [dx=6.00 dy=6.00], [subregion="at (0,0) size 480x360"]]]}
layer at (0,0) size 480x360
RenderCanvas at (0,0) size 480x360
KCanvasContainer {svg} at (0.50,0.50) size 479x359
-d272847a1207dc919d63cccfdb9c604d
\ No newline at end of file
+0786032ac00583195a13d7021738ecbd
\ No newline at end of file
KCanvasContainer {use} at (0,0) size 0x0
KCanvasContainer {g} at (0,0) size 0x0
RenderImage {image} at (0,0) size 240x150
- KCanvasContainer {g} at (0,0) size 0x0
- KCanvasContainer {use} at (0,0) size 0x0
- KCanvasContainer {g} at (0,0) size 0x0
- KCanvasContainer {svg} at (0,0) size 0x0
+ KCanvasContainer {g} at (0,0) size 240x225
+ KCanvasContainer {use} at (0,0) size 240x225
+ KCanvasContainer {g} at (0,0) size 240x225
+ KCanvasContainer {svg} at (0,0) size 240x225
+ KCanvasItem {rect} at (0,0) size 240x225 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00L240.00,0.00L240.00,225.00L0.00,225.00"]
KCanvasContainer {svg} at (0,0) size 240x150
KCanvasContainer {g} at (0,0) size 240x150
KCanvasItem {rect} at (0,0) size 240x150 [fill={[type=SOLID] [color=#00FFFF]}] [data="M0.00,0.00L240.00,0.00L240.00,150.00L0.00,150.00"]
KCanvasResource {id="myclip" [type=CLIPPER] [clip data=[[winding=NON-ZERO] [path=M0.00,0.00L100.00,0.00L100.00,100.00L0.00,100.00]]]}
-KCanvasResource {id="myfilter" [type=FILTER] [bounding box=at (-10,-10) size 120x120] [effect bounding box mode=0] [effects=[[type=GAUSSIAN-BLUR] [std dev. x=10.00 y=10.00]]]}
+KCanvasResource {id="myfilter" [type=FILTER] [bounding box=at (-10,-10) size 120x120] [effect bounding box mode=0] [effects=[[type=GAUSSIAN-BLUR] [subregion="at (0,0) size 800x600"] [std dev. x=10.00 y=10.00]]]}
layer at (0,0) size 800x600
RenderCanvas at (0,0) size 800x600
KCanvasContainer {svg} at (0,0) size 0x0
--- /dev/null
+fbab25a750b4adfd216a10beee715e9a
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+ KCanvasContainer {svg} at (0,0) size 102.05x100.00
+ KCanvasItem {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00L100.00,0.00L100.00,100.00L0.00,100.00"]
+ KCanvasItem {rect} at (0,0) size 102.05x100.00 [fill={[type=SOLID] [color=#008000]}] [data="M0.00,0.00L102.05,0.00L102.05,100.00L0.00,100.00"]
--- /dev/null
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <rect height="100" width="100" fill="red"/>
+ <rect height="16.667%" width="13%" fill="green"/>
+</svg>
-KCanvasResource {id="myfilter" [type=FILTER] [bounding box=at (-10,-10) size 120x120] [effect bounding box mode=0] [effects=[[type=GAUSSIAN-BLUR] [std dev. x=3.00 y=3.00]]]}
+KCanvasResource {id="myfilter" [type=FILTER] [bounding box=at (-10,-10) size 120x120] [effect bounding box mode=0] [effects=[[type=GAUSSIAN-BLUR] [subregion="at (0,0) size 800x600"] [std dev. x=3.00 y=3.00]]]}
layer at (0,0) size 800x600
RenderCanvas at (0,0) size 800x600
KCanvasContainer {svg} at (0,0) size 0x0
+2006-01-25 Alexander Kellett <lypanov@kde.org>
+
+ Reviewed by eseidel.
+
+ Percentage values for width, height are not rendered correctly.
+ http://bugzilla.opendarwin.org/show_bug.cgi?id=5331
+
+ Create items for even empty paths to prevent an empty render tree.
+ Calculate the viewport element on the fly rather than caching it,
+ unless there is no context from which to calculate it. Call
+ notifyAttributeChange() on layout to fix usage of viewport
+ percentages for lengths. Remove portion of code which appears to
+ do nothing but worsen the situation.
+
+ * kcanvas/device/quartz/KCanvasItemQuartz.h:
+ * kcanvas/device/quartz/KCanvasItemQuartz.mm:
+ (KCanvasItemQuartz::layout):
+ * ksvg2/svg/SVGLengthImpl.cpp:
+ (SVGLengthImpl::value):
+ * ksvg2/svg/SVGStyledElementImpl.cpp:
+ (SVGStyledElementImpl::createRenderer):
+
2006-01-26 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
virtual IntRect getAbsoluteRepaintRect();
virtual bool requiresLayer() { return false; }
- virtual void layout() { setNeedsLayout(false); }
+ virtual void layout();
virtual void paint(PaintInfo&, int parentX, int parentY);
virtual bool nodeAtPoint(NodeInfo&, int x, int y, int tx, int ty, WebCore::HitTestAction);
private:
#import "QuartzSupport.h"
#import "SVGRenderStyle.h"
+#import "SVGStyledElementImpl.h"
#import "KCanvasRenderingStyle.h"
{
}
+void KCanvasItemQuartz::layout()
+{
+ // FIXME: Currently the DOM does all of the % length calculations, so we
+ // pretend that one of the attributes of the element has changed on the DOM
+ // to force the DOM object to update this render object with new aboslute position values.
+ static_cast<KSVG::SVGStyledElementImpl*>(element())->notifyAttributeChange();
+ setNeedsLayout(false);
+}
+
typedef enum {
Start,
Mid,
if(m_bboxRelative)
return value;
- // Spec: When percentages are used with attributes that define the
- // gradient vector, the pattern tile, the filter region or the masking
- // region, a percentage represents the same value as the corresponding
- // decimal value (e.g., 50% means the same as 0.5).
- khtml::RenderObject *item = (m_context ? m_context->renderer() : 0);
- if(item)
- {
- FloatRect bbox = item->relativeBBox();
-
- float result = 0;
- if(m_mode == LM_WIDTH)
- result = value * (bbox.width() - 1);
- else if(m_mode == LM_HEIGHT)
- result = value * (bbox.height() - 1);
- else if(m_mode == LM_OTHER)
- result = value * sqrt(pow(double(bbox.width() - 1), 2) + pow(double(bbox.height() - 1), 2)) / sqrt(2.0);
-
- return result;
- }
-
- return SVGHelper::PercentageOfViewport(value, m_viewportElement, m_mode);
+ // Use the manual override "m_viewportElement" when there is no context element off of which to establish the viewport.
+ return SVGHelper::PercentageOfViewport(value, m_context ? m_context->viewportElement() : m_viewportElement, m_mode);
}
void SVGLengthImpl::setValueInSpecifiedUnits(float valueInSpecifiedUnits)
khtml::RenderObject *SVGStyledElementImpl::createRenderer(RenderArena *arena, khtml::RenderStyle *style)
{
RefPtr<KCanvasPath> pathData = toPathData();
- if (!pathData || pathData->isEmpty())
+ if (!pathData)
return 0;
return QPainter::renderingDevice()->createItem(arena, style, this, pathData.get());
}