Test group #031
Stroking

file automatically generated by AmanithVG testsuite

# Reference AmanithVG RMS Description Comment
310001

99%

Test dashed stroke with VG_CAP_BUTT caps and VG_JOIN_BEVEL joins
310002

99%

Test dashed stroke with VG_CAP_SQUARE caps and VG_JOIN_MITER joins; miter limit is set to 4.0 (the default one)
310003

99%

Test dashed stroke with VG_CAP_SQUARE caps and VG_JOIN_MITER joins; miter limit is set to 0.8 (i.e. much smaller than the default one)
310004

99%

Test dashed stroke with VG_CAP_ROUND caps and VG_JOIN_ROUND joins
310005

99%

Test dashed stroke with a big negative VG_STROKE_DASH_PHASE (-1263.0 over a dash pattern with a total lenght of 108.0)
310006

99%

Test dashed stroke with a dash pattern having a negative dash entry According to OpenVG specifications "a dash, or space between dashes, with length less than 0 is treated as having a length of 0"
310007

99%

Test dashed stroke on a smooth shape (four cubic Bezier traits); path coordinates (i.e. the control polygon) are specified in CCW order
310008

99%

Test dashed stroke on a smooth shape (four cubic Bezier traits); path coordinates (i.e. the control polygon) are specified in CW order
310009

99%

Test dashed stroke by specifying a dash pattern containing a long dash value that "covers" a whole sub-path
310010

99%

Test dashed stroke on a path made of two polygons, the first one is closed, the second one is open; VG_STROKE_DASH_PATTERN is (50.0, 50.0, 90.0, 50.0), VG_STROKE_DASH_PHASE is -25.0 This stroke parameters must generate just one join on the second sub-path
310011

99%

Test dashed stroke on a path made of two polygons, the first one is closed, the second one is open; VG_STROKE_DASH_PATTERN is (50.0, 50.0, 110.0, 50.0), VG_STROKE_DASH_PHASE is -25.0 This stroke parameters combination must generate just the first two joins on the first sub-path, and it must not generate the join on the closing junction
310012

100%

Test dashed stroke on a path made of two polygons, the first one is closed, the second one is open; VG_STROKE_DASH_PATTERN is (50.0, 50.0, 110.0, 50.0), VG_STROKE_DASH_PHASE is -25.0, VG_STROKE_LINE_WIDTH is 2.0 This stroke parameters combination must generate just the first two joins on the first sub-path, and it must not generate the join on the closing junction; the specific small stroke width will test AmanithVG optimizations related to joins generation
310013

99%

Test dashed stroke on a path made of two polygons, the first one is closed, the second one is open; VG_STROKE_DASH_PATTERN is (50.0, 50.0, 110.0, 50.0), VG_STROKE_DASH_PHASE is 0.0 This stroke parameters combination must generate just one join on the second sub-path
310014

99%

Test dashed stroke on a path made of two polygons, the first one is closed, the second one is open; VG_STROKE_DASH_PATTERN is (50.0, 50.0, 110.0, 50.0), VG_STROKE_DASH_PHASE is 0.0 This stroke parameters combination must generate just the two joins on the first sub-path, one of it on the closing junction
310015

99%

Test the drawing of non-dashed stroke on a smooth shape (four cubic Bezier traits)
310016

99%

Test the drawing of non-dashed thin (VG_STROKE_LINE_WIDTH of 0.5) stroke on a smooth shape (four cubic Bezier traits)
310017

99%

Test the drawing of non-dashed stroke on a sharp shape (a path made of three sub-polygons with acute angles)
310018

100%

Test the drawing of non-dashed stroke on two degenerated paths (a cubic Bezier trait and a polygon equivalent representation), whose bounding box has a really small dimension (0.0001), with a big VG_STROKE_LINE_WIDTH (126.0), VG_CAP_BUTT caps, VG_JOIN_ROUND joins The degeneration is due to the big difference between path dimensions and the stroke with (the ratio is 126 / 0.0001); the test is particularly suitable to verify the robustness of the stroke generator
310019

98%

Test the drawing of non-dashed stroke of a path made of two connected lines, VG_CAP_BUTT caps, VG_JOIN_BEVEL joins; several angles between the two lines are tested The path has a bounding box of 4x4, the VG_STROKE_LINE_WIDTH is set to 56.0
310020

99%

Test the drawing of non-dashed stroke of a path made of two connected lines, VG_CAP_BUTT caps, VG_JOIN_BEVEL joins; several angles between the two lines are tested The path has a bounding box of 56x56, the VG_STROKE_LINE_WIDTH is set to 4.0
310021

99%

Test the drawing of non-dashed stroke of a path made of two connected lines, VG_CAP_BUTT caps, VG_JOIN_BEVEL joins; several angles between the two lines are tested The path has a bounding box of 40x40, the VG_STROKE_LINE_WIDTH is set to 40.0
310022

99%

Test the drawing of non-dashed stroke of an open ellipse arc, with a radius of 2.0 and varying the angle extend from 0 to 422, VG_CAP_BUTT caps, VG_JOIN_BEVEL joins, VG_STROKE_LINE_WIDTH set to 56.0 The test is aimed to verify the correct smooth interpolation on the internal stroking side
310023

98%

Test the drawing of non-dashed stroke of an open ellipse arc, with a radius of 20.0 and varying the angle extend from 0 to 422, VG_CAP_BUTT caps, VG_JOIN_BEVEL joins, VG_STROKE_LINE_WIDTH set to 36.0 The test is aimed to verify the correct smooth interpolation on the internal stroking side
310024

98%

Test the drawing of non-dashed stroke of an open ellipse arc, with a radius of 40.0 and varying the angle extend from 0 to 422, VG_CAP_BUTT caps, VG_JOIN_BEVEL joins, VG_STROKE_LINE_WIDTH set to 16.0 The test is aimed to verify the correct smooth interpolation on the internal stroking side
310025

100%

Test the drawing of non-dashed stroke of an open polygon representing the approximation (4 points) of a circle arc (radius of 20.0, angle span of 73 degrees, centered at drawing surface center); VG_STROKE_LINE_WIDTH is 200.0 (i.e. much bigger than polygon geometry), VG_CAP_BUTT caps, VG_JOIN_ROUND joins
310026

100%

Test the drawing of non-dashed stroke of an open polygon representing the approximation (8 points) of a circle arc (radius of 100.0, angle span of 175 degrees, centered at drawing surface center); VG_STROKE_LINE_WIDTH is 300.0, VG_CAP_BUTT caps, VG_JOIN_ROUND joins
310027

100%

Test the drawing of non-dashed stroke of an open polygon representing the approximation (5 points) of a circle arc (radius of 40.0, angle span of 175 degrees, centered at drawing surface center); VG_STROKE_LINE_WIDTH is 100.0, VG_CAP_BUTT caps, VG_JOIN_ROUND joins
310028

99%

Test the drawing of non-dashed stroke of an open polygon representing the approximation (256 points) of a circle arc (radius of 0.01, angle span of 1141 degrees, centered at drawing surface center); VG_STROKE_LINE_WIDTH is 230.0, VG_CAP_BUTT caps, VG_JOIN_ROUND joins
310029

99%

Test the drawing of non-dashed stroke of a path made by two smooth sub-paths (each of them consisting of two quadratic Bezier traits), VG_CAP_BUTT caps, VG_JOIN_ROUND joins The two control polygons are generated in reversed order (i.e. one is CW, the other is CCW)
310030

100%

Test the drawing of non-dashed stroke of a path made by one geometric point only (VG_MOVE_TO followed by a VG_LINE_TO degenerated on the same point) According to OpenVG specifications, "A subpath consisting of a single point is collapsed to a lone vertex, which is marked as an END vertex (for later generation of end caps)"
310031

98%

Test the drawing of a square having 100.0 as dimension, stroke is dashed; VG_STROKE_DASH_PHASE is 100.0 and VG_STROKE_DASH_PATTERN is (100.0, 100.0) The result must be two vertical stroked lines with round end caps
310032

99%

Test the drawing of a square having 100.0 as dimension, stroke is dashed; VG_STROKE_DASH_PHASE is 100.0 and VG_STROKE_DASH_PATTERN is (50.0, 50.0, 50.0f, 50.0)
310033

99%

Test the drawing of a square having 100.0 as dimension, stroke is dashed; VG_STROKE_DASH_PHASE is 0.0 and VG_STROKE_DASH_PATTERN is (100.0, 200.0) The result must be an L stroked shape with round end caps
310034

99%

Test the drawing of a square having 100.0 as dimension, stroke is dashed; VG_STROKE_DASH_PHASE is 0.0 and VG_STROKE_DASH_PATTERN is (100.0, 100.0) The result must be two horizontal stroked lines with round end caps
310035

99%

Test the drawing of a square having 100.0 as dimension, stroke is dashed; VG_STROKE_DASH_PHASE is 200.0 and VG_STROKE_DASH_PATTERN is (100.0, 200.0, 100.0, 100.0) The result must be two vertical stroked lines with round end caps
310036

98%

Test the drawing of a square having 100.0 as dimension, stroke is dashed; VG_STROKE_DASH_PHASE is 100.0 and VG_STROKE_DASH_PATTERN is (200.0, 100.0, 100.0, 100.0) The result must be two horizontal stroked lines with round end caps
310037

99%

Test the drawing of a square having 100.0 as dimension, stroke is dashed; VG_STROKE_DASH_PHASE is 100.0 and VG_STROKE_DASH_PATTERN is (1000.0, 100.0) The result must be the square path stroked as if non-dashed, because the first dash value (1000.0), even updated with the dash phase, is much longer than the entire square length
310038

99%

Test the drawing of a zig-zag like shape (each edge has a length of 25 or 50), with a VG_STROKE_DASH_PATTERN of (200.0, 200.0), VG_STROKE_DASH_PHASE of -100, VG_CAP_ROUND caps, VG_JOIN_BEVEL joins By varying the dash phase by a multiple of edge lengths, there will be generated several situations where a dash value will "eat" one or more edges exactly (0 residual); NB: at the end of each generated stroke trait, round caps must be present
310039

99%

Test the drawing of a zig-zag like shape (each edge has a length of 25 or 50), with a VG_STROKE_DASH_PATTERN of (200.0, 200.0), VG_STROKE_DASH_PHASE of 0, VG_CAP_ROUND caps, VG_JOIN_BEVEL joins By varying the dash phase by a multiple of edge lengths, there will be generated several situations where a dash value will "eat" one or more edges exactly (0 residual); NB: at the end of each generated stroke trait, round caps must be present
310040

99%

Test the drawing of a zig-zag like shape (each edge has a length of 25 or 50), with a VG_STROKE_DASH_PATTERN of (200.0, 200.0), VG_STROKE_DASH_PHASE of 100, VG_CAP_ROUND caps, VG_JOIN_BEVEL joins By varying the dash phase by a multiple of edge lengths, there will be generated several situations where a dash value will "eat" one or more edges exactly (0 residual); NB: at the end of each generated stroke trait, round caps must be present
310041

99%

Test the drawing of a zig-zag like shape (each edge has a length of 25 or 50), with a VG_STROKE_DASH_PATTERN of (200.0, 200.0), VG_STROKE_DASH_PHASE of 200, VG_CAP_ROUND caps, VG_JOIN_BEVEL joins By varying the dash phase by a multiple of edge lengths, there will be generated several situations where a dash value will "eat" one or more edges exactly (0 residual); NB: at the end of each generated stroke trait, round caps must be present
310042

99%

Test the drawing of a zig-zag like shape (each edge has a length of 25 or 50), with a VG_STROKE_DASH_PATTERN of (200.0, 200.0), VG_STROKE_DASH_PHASE of 300, VG_CAP_ROUND caps, VG_JOIN_BEVEL joins By varying the dash phase by a multiple of edge lengths, there will be generated several situations where a dash value will "eat" one or more edges exactly (0 residual); NB: at the end of each generated stroke trait, round caps must be present
310043

99%

Test the drawing of a zig-zag like shape (each edge has a length of 25 or 50), with a VG_STROKE_DASH_PATTERN of (200.0, 200.0), VG_STROKE_DASH_PHASE of 400, VG_CAP_ROUND caps, VG_JOIN_BEVEL joins By varying the dash phase by a multiple of edge lengths, there will be generated several situations where a dash value will "eat" one or more edges exactly (0 residual); NB: at the end of each generated stroke trait, round caps must be present
310044

99%

Test the drawing of a zig-zag like shape (each edge has a length of 25 or 50), with a VG_STROKE_DASH_PATTERN of (200.0, 200.0), VG_STROKE_DASH_PHASE of 500, VG_CAP_ROUND caps, VG_JOIN_BEVEL joins By varying the dash phase by a multiple of edge lengths, there will be generated several situations where a dash value will "eat" one or more edges exactly (0 residual); NB: at the end of each generated stroke trait, round caps must be present
310045

99%

Test the drawing of a zig-zag like shape (each edge has a length of 25 or 50), with a VG_STROKE_DASH_PATTERN of (200.0, 200.0), VG_STROKE_DASH_PHASE of -150, VG_CAP_ROUND caps, VG_JOIN_BEVEL joins By varying the dash phase by a multiple of edge lengths, there will be generated several situations where a dash value will "eat" one or more edges exactly (0 residual); NB: at the end of each generated stroke trait, round caps must be present
310046

99%

Test the drawing of a zig-zag like shape (each edge has a length of 25 or 50), with a VG_STROKE_DASH_PATTERN of (200.0, 200.0), VG_STROKE_DASH_PHASE of -50, VG_CAP_ROUND caps, VG_JOIN_BEVEL joins By varying the dash phase by a multiple of edge lengths, there will be generated several situations where a dash value will "eat" one or more edges exactly (0 residual); NB: at the end of each generated stroke trait, round caps must be present
310047

99%

Test the drawing of a zig-zag like shape (each edge has a length of 25 or 50), with a VG_STROKE_DASH_PATTERN of (200.0, 200.0), VG_STROKE_DASH_PHASE of 50, VG_CAP_ROUND caps, VG_JOIN_BEVEL joins By varying the dash phase by a multiple of edge lengths, there will be generated several situations where a dash value will "eat" one or more edges exactly (0 residual); NB: at the end of each generated stroke trait, round caps must be present
310048

99%

Test the drawing of a zig-zag like shape (each edge has a length of 25 or 50), with a VG_STROKE_DASH_PATTERN of (200.0, 200.0), VG_STROKE_DASH_PHASE of 150, VG_CAP_ROUND caps, VG_JOIN_BEVEL joins By varying the dash phase by a multiple of edge lengths, there will be generated several situations where a dash value will "eat" one or more edges exactly (0 residual); NB: at the end of each generated stroke trait, round caps must be present
310049

99%

Test the drawing of a zig-zag like shape (each edge has a length of 25 or 50), with a VG_STROKE_DASH_PATTERN of (200.0, 200.0), VG_STROKE_DASH_PHASE of 250, VG_CAP_ROUND caps, VG_JOIN_BEVEL joins By varying the dash phase by a multiple of edge lengths, there will be generated several situations where a dash value will "eat" one or more edges exactly (0 residual); NB: at the end of each generated stroke trait, round caps must be present
310050

99%

Test the drawing of a zig-zag like shape (each edge has a length of 25 or 50), with a VG_STROKE_DASH_PATTERN of (200.0, 200.0), VG_STROKE_DASH_PHASE of 350, VG_CAP_ROUND caps, VG_JOIN_BEVEL joins By varying the dash phase by a multiple of edge lengths, there will be generated several situations where a dash value will "eat" one or more edges exactly (0 residual); NB: at the end of each generated stroke trait, round caps must be present
310051

99%

Test the drawing of a zig-zag like shape (each edge has a length of 25 or 50), with a VG_STROKE_DASH_PATTERN of (200.0, 200.0), VG_STROKE_DASH_PHASE of 450, VG_CAP_ROUND caps, VG_JOIN_BEVEL joins By varying the dash phase by a multiple of edge lengths, there will be generated several situations where a dash value will "eat" one or more edges exactly (0 residual); NB: at the end of each generated stroke trait, round caps must be present
310052

99%

Test the drawing of a path made by two sub-contours, the second one constisting in one geometric point only (a VG_MOVE_TO followed by a VG_CLOSE_PATH) The lone point must result not stroked
310053

99%

Test the drawing of a path made by two squares (edge length is 100.0), with a VG_STROKE_DASH_PATTERN of (30.0, 45.0), VG_STROKE_DASH_PHASE of 20.0, VG_STROKE_DASH_PHASE_RESET enabled The test is aimed to verify the correct implementation of the VG_STROKE_DASH_PHASE_RESET behaviour