diff --git a/ChangeLog b/ChangeLog index 9ce4091..da55196 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-07-13 Fred Kiefer + + * Source/winlib/WIN32GState.m (-_paintPath:) Only draw when the + fill/stroke colour has a non zero alpha. + 2009-07-10 Fred Kiefer * Source/cairo/CairoGState.m diff --git a/Source/winlib/WIN32GState.m b/Source/winlib/WIN32GState.m index fb4975a..c0ac59e 100644 --- a/Source/winlib/WIN32GState.m +++ b/Source/winlib/WIN32GState.m @@ -723,15 +723,24 @@ HBITMAP GSCreateBitmap(HDC hDC, int pixelsWide, int pixelsHigh, switch (drawType) { case path_stroke: - StrokePath(hDC); + if (strokeColor.field[AINDEX] != 0.0) + { + StrokePath(hDC); + } break; case path_eofill: - SetPolyFillMode(hDC, ALTERNATE); - FillPath(hDC); + if (fillColor.field[AINDEX] != 0.0) + { + SetPolyFillMode(hDC, ALTERNATE); + FillPath(hDC); + } break; case path_fill: - SetPolyFillMode(hDC, WINDING); - FillPath(hDC); + if (fillColor.field[AINDEX] != 0.0) + { + SetPolyFillMode(hDC, WINDING); + FillPath(hDC); + } break; case path_eoclip: {