GNOME Bugzilla – Bug 665955
Trimmed arrow points drawn for GtkArrow
Last modified: 2012-01-25 19:29:36 UTC
Created attachment 203215 [details] [review] Draw arrows as polygons, not as rows of pixels. msw style draw_varrow() draw_harrow() draw arrows by putting several parallel lines (rows of pixels) that form a triangle. Problem is, the last line has zero length (start and end coordinates are equal), and cairo seems to be unwilling to stroke such a line as one pixel (which was the intent of whoever wrote draw_varrow() and draw_harrow()). Because of that arrows look like their last pointing pixel was trimmed. This is not an issue for large arrows, but small ones (5x7 and 7x5), which are used by comboboxes, treeview headers, etc, do not look good. I've attached a patch that uses different algorithm: Instead of making a triangle from several rows of pixels, it uses cairo naturally by drawing a polygon consisting of 3 points, and then strokes and fills it.
Thanks for the patch, committed as fc3cff11b5145241912377bde1a66d4d6a14d006 This problem has been fixed in our software repository. The fix will go into the next software release. Thank you for your bug report.