Index: hatchbrush.c =================================================================== --- hatchbrush.c (revision 60859) +++ hatchbrush.c (working copy) @@ -128,7 +128,7 @@ cairo_set_line_width (ct2, line_width); cairo_move_to (ct2, 0, hatch_size / 2.0); - cairo_line_to (ct2, hatch_size + CAIRO_AA_OFFSET_X, hatch_size / 2.0 + CAIRO_AA_OFFSET_Y); + cairo_line_to (ct2, hatch_size + CAIRO_AA_OFFSET_X, hatch_size / 2.0);// + CAIRO_AA_OFFSET_Y); cairo_stroke (ct2); cairo_destroy (ct2); } @@ -349,7 +349,6 @@ int R,G,B; ct2 = cairo_create (hatch); - cairo_set_line_cap(ct2, CAIRO_LINE_CAP_SQUARE); cairo_set_antialias(ct2, CAIRO_ANTIALIAS_NONE); /* draw background */ @@ -369,8 +368,12 @@ cairo_set_line_width (ct2, line_width); - if (hbr->hatchStyle == HatchStyleDottedGrid) + if (hbr->hatchStyle == HatchStyleDottedGrid) { cairo_set_dash (ct2, dash, 1, 0); + cairo_set_line_cap(ct2, CAIRO_LINE_CAP_BUTT); + } else { + cairo_set_line_cap(ct2, CAIRO_LINE_CAP_SQUARE); + } /* draw a horizontal line */ cairo_move_to (ct2, CAIRO_AA_OFFSET_X, hatch_size / 2.0 + CAIRO_AA_OFFSET_Y); @@ -412,7 +415,6 @@ int R,G,B; ct2 = cairo_create (hatch); - cairo_set_line_cap(ct2, CAIRO_LINE_CAP_SQUARE); if (!want_aa) { cairo_set_antialias(ct2, CAIRO_ANTIALIAS_NONE); } @@ -434,8 +436,12 @@ cairo_set_line_width (ct2, line_width); - if (hbr->hatchStyle == HatchStyleDottedDiamond) + if (hbr->hatchStyle == HatchStyleDottedDiamond) { cairo_set_dash (ct2, dash, 1, 0); + cairo_set_line_cap(ct2, CAIRO_LINE_CAP_BUTT); + } else { + cairo_set_line_cap(ct2, CAIRO_LINE_CAP_SQUARE); + } /* draw a forward diagonal line */ cairo_move_to (ct2, CAIRO_AA_OFFSET_X, CAIRO_AA_OFFSET_Y); @@ -1435,7 +1441,7 @@ int R,G,B; ct2 = cairo_create (hatch); - cairo_set_line_cap(ct2, CAIRO_LINE_CAP_SQUARE); + cairo_set_line_cap(ct2, CAIRO_LINE_CAP_BUTT); cairo_set_antialias(ct2, CAIRO_ANTIALIAS_NONE); /* draw background */ @@ -1671,7 +1677,7 @@ int R,G,B; ct2 = cairo_create (hatch); - cairo_set_line_cap(ct2, CAIRO_LINE_CAP_SQUARE); + cairo_set_line_cap(ct2, CAIRO_LINE_CAP_BUTT); cairo_set_antialias(ct2, CAIRO_ANTIALIAS_NONE); /* draw background */ @@ -1965,7 +1971,7 @@ int R,G,B; ct2 = cairo_create (hatch); - cairo_set_line_cap(ct2, CAIRO_LINE_CAP_SQUARE); + cairo_set_line_cap(ct2, CAIRO_LINE_CAP_BUTT); cairo_set_antialias(ct2, CAIRO_ANTIALIAS_NONE); /* draw background */