What I did:

The draw_rounded_window method was being used to make a path for the
yellow background, this was unnecessary. I dropped it and flood filled
the background with yellow.

The draw_rounded_window method was being called with some offsets to
sketch out the path for an inside stroke. The arrow's anchoring point
would not be adjusted. As a result, the stroke was wrong on the arrow,
and the stroke sort of tilts on the top edge of any notification with
arrows. It's a sucky way of doing an inside stroke anyway given that the
outside edge may or may not be bilevel. (You can see bits of grey
(background) creeping outside of the stroke in the corners of the old
renderings.) I solved this by removing the offset and stroking with 2
pixels instead of 1. This creates a 1 pixel inside stroke and a 1 pixel
outside stroke. The outside stroke is removed in one of two ways:

If the window is composited, it then applies an alpha mask of the
outline shape using Cairo's DEST_IN operator. The bilevel mask is then
used for input shaping only.

If the window is not composited, the bilevel mask is used for input and
visual shaping, meaning that effectively the outside edge of the strokes
is non-antialiased while the inside edge is.

Hurrah!

-- 
Patch to improve shaping and border rendering in uncomposited environment; add 
RGBA support for composited
https://bugs.launchpad.net/bugs/136660
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to