[okular] [Bug 425075] Internal annotations (i. e. not in PDF) are painted in multiply mode, so they look transparent even when “100% opacity” is configured.

David Hurka bugzilla_noreply at kde.org
Thu Aug 6 23:22:04 BST 2020


https://bugs.kde.org/show_bug.cgi?id=425075

David Hurka <david.hurka at mailbox.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|"Straight line" annotation  |Internal annotations (i. e.
                   |is always semi-transparent  |not in PDF) are painted in
                   |                            |multiply mode, so they look
                   |                            |transparent even when “100%
                   |                            |opacity” is configured.

--- Comment #5 from David Hurka <david.hurka at mailbox.org> ---
I indeed wondered about this code. The PagePainter::draw...() methods, which
are responsible for drawing internal annotations, are always called with
composition mode “multiply”. They are indeed 100% opaque, but “multiply” is not
what you are used to see.

The problem with this is that they become completely invisible e. g. when
“Invert colors” is activated on a .txt document, or the document is otherwise
just dark.

The correct composition modes would be: “soft light” for Highlighter
annotations and simply “normal” for all other annotations. “Soft light” has
potentially bad performance, so another option would be to choose “multiply” or
“screen” depending on the document and color mode.

I assume “multiply” just evolved from a time when only Highlighter annotations
and documents with light background were relevant. Future developers probably
just wondered about it and adopted it, because they thought it must have some
reason.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Okular-devel mailing list