GNOME Bugzilla – Bug 424622
Win32: cairo_stroke fills instead of strokes in a draw_page handler
Last modified: 2008-04-01 21:16:09 UTC
Try to print a black rectangle using cairo_stroke, i.e. leaving it filled white. * with attachment 1 [details], the rectangle is filled black and not white; only the gtkprint api, cairo_rectangle and cairo_stroke are used. * with attachment 2 [details] (compile with -lcomdlg32), the rectangle is fine. PrintDlgEx, StartDoc, StartPage, EndPage, EndDoc, cairo_rectangle and cairo_stroke are used. See also the attached PDFs created with PDFCreator. As the direct implementation seems to work, I suspect that one cannot blame cairo for this bug solely. Related is bug 347125.
Created attachment 85589 [details] use gtkprint api
Created attachment 85590 [details] use win api
Created attachment 85591 [details] gtkprint pdf
Created attachment 85592 [details] win api pdf
Actually, all strokes are replaced by a black box with the dimensions of the bounding box of the strokes. So it is not a question of filling with the wrong color. See also bug 518052.
Created attachment 108439 [details] PDF created with GtkPrint from trunk GTK trunk now supports cairo_win32_printing_surface and this bug appears fixed. Here is a sample output created with your test program and using PDFCreator on Windows. The rectangle seems thicker than the output with your Win API test, but if that's an issue I think it's a separate one. I'm going to go ahead and close this as FIXED.