[PATCH 1/2] gdiplus/tests: Add widen-path test for dashed, capped line.

Jeff Smith whydoubt at gmail.com
Wed Mar 4 15:05:28 CST 2020


Hold off on this one.  I need to do more testing on multi-figure paths,
and I expect I will be sending in a v2.

On Wed, Mar 4, 2020 at 11:54 AM Jeff Smith <whydoubt at gmail.com> wrote:
>
> Signed-off-by: Jeff Smith <whydoubt at gmail.com>
> ---
>  dlls/gdiplus/tests/graphicspath.c | 31 +++++++++++++++++++++++++++++--
>  1 file changed, 29 insertions(+), 2 deletions(-)
>
> diff --git a/dlls/gdiplus/tests/graphicspath.c b/dlls/gdiplus/tests/graphicspath.c
> index 99f25930ca..eb59a5eb7d 100644
> --- a/dlls/gdiplus/tests/graphicspath.c
> +++ b/dlls/gdiplus/tests/graphicspath.c
> @@ -1375,6 +1375,25 @@ static path_test_t widenline_capsquareanchor_thin_path[] = {
>      {51.414211, 11.414213, PathPointTypeLine|PathPointTypeCloseSubpath, 0, 0}, /*7*/
>      };
>
> +static path_test_t widenline_capsquareanchor_dashed_path[] = {
> +    {5.0, 5.0,             PathPointTypeStart, 0, 0}, /*0*/
> +    {35.0, 5.0,            PathPointTypeLine,  0, 0}, /*1*/
> +    {35.0, 15.0,           PathPointTypeLine,  0, 0}, /*2*/
> +    {5.0, 15.0,            PathPointTypeLine|PathPointTypeCloseSubpath, 0, 0}, /*3*/
> +    {45.0, 5.0,            PathPointTypeStart, 0, 1}, /*4*/
> +    {50.0, 5.0,            PathPointTypeLine,  0, 1}, /*5*/
> +    {50.0, 15.0,           PathPointTypeLine,  0, 1}, /*6*/
> +    {45.0, 15.0,           PathPointTypeLine|PathPointTypeCloseSubpath, 0, 1}, /*7*/
> +    {12.071068, 2.928932,  PathPointTypeStart, 0, 1}, /*8*/
> +    {12.071068, 17.071066, PathPointTypeLine,  0, 1}, /*9*/
> +    {-2.071068, 17.071066, PathPointTypeLine,  0, 1}, /*10*/
> +    {-2.071068, 2.928932,  PathPointTypeLine|PathPointTypeCloseSubpath, 0, 1}, /*11*/
> +    {42.928928, 17.071068, PathPointTypeStart, 0, 0}, /*12*/
> +    {42.928928, 2.928932,  PathPointTypeLine,  0, 0}, /*13*/
> +    {57.071068, 2.928932,  PathPointTypeLine,  0, 0}, /*14*/
> +    {57.071068, 17.071068, PathPointTypeLine|PathPointTypeCloseSubpath, 0, 0}, /*15*/
> +    };
> +
>  static void test_widen_cap(void)
>  {
>      struct
> @@ -1383,6 +1402,7 @@ static void test_widen_cap(void)
>          REAL line_width;
>          const path_test_t *expected;
>          INT expected_size;
> +        BOOL dashed;
>          BOOL todo_size;
>      }
>      caps[] =
> @@ -1404,9 +1424,11 @@ static void test_widen_cap(void)
>          { LineCapDiamondAnchor, 10.0, widenline_capdiamondanchor_path,
>                  ARRAY_SIZE(widenline_capdiamondanchor_path) },
>          { LineCapArrowAnchor, 10.0, widenline_caparrowanchor_path,
> -                ARRAY_SIZE(widenline_caparrowanchor_path), TRUE },
> +                ARRAY_SIZE(widenline_caparrowanchor_path), FALSE, TRUE },
>          { LineCapSquareAnchor, 0.0, widenline_capsquareanchor_thin_path,
> -                ARRAY_SIZE(widenline_capsquareanchor_thin_path), TRUE },
> +                ARRAY_SIZE(widenline_capsquareanchor_thin_path), FALSE, TRUE },
> +        { LineCapSquareAnchor, 10.0, widenline_capsquareanchor_dashed_path,
> +                ARRAY_SIZE(widenline_capsquareanchor_dashed_path), TRUE },
>      };
>      GpStatus status;
>      GpPath *path;
> @@ -1420,6 +1442,11 @@ static void test_widen_cap(void)
>      {
>          status = GdipCreatePen1(0xffffffff, caps[i].line_width, UnitPixel, &pen);
>          expect(Ok, status);
> +        if (caps[i].dashed)
> +        {
> +            status = GdipSetPenDashStyle(pen, DashStyleDash);
> +            expect(Ok, status);
> +        }
>
>          status = GdipResetPath(path);
>          expect(Ok, status);
> --
> 2.23.0
>



More information about the wine-devel mailing list