OpenBoard-org / OpenBoard

OpenBoard is a cross-platform interactive whiteboard application intended for use in a classroom setting.
https://openboard.ch/
GNU General Public License v3.0
2.4k stars 428 forks source link

Allow the possibility of choosing between additive and multiplicative highlighter #563

Open GianlucaMancusi opened 2 years ago

GianlucaMancusi commented 2 years ago

Hello, OpenBoard is really simple and effective, but for annotating documents, it is especially bad at highlighting. This is because it has an additive highlighter, whereas a multiplicative highlighter would be better for highlighting documents. It would be really useful to give the user the possibility to choose this feature in the OpenBoard settings.

This picture shows the difference, it's quite striking. If we highlight twice, the text becomes less readable. Difference between additive and multiplicative highligher (marker)

letsfindaway commented 2 years ago

I think this would be a useful option. Just as a pointer: This can be changed at the following source line: https://github.com/OpenBoard-org/OpenBoard/blob/dd19e75211b0baa29aed783fdea19ad5c328dd03/src/domain/UBGraphicsPolygonItem.cpp#L187 CompositionMode_Multiply is also available as an option.

Changing the composition mode here will also affect existing documents, as they only contain an opacity value but do not specify the composition model.

What would you propose to do with documents with dark background? Currently they would not be affected and still use SourceOver, which is the standard anyway. Multiply is definitely not a good choice on dark backgrounds.

See https://doc.qt.io/qt-5.15/qpainter.html#CompositionMode-enum for Qt supported composition modes.

GianlucaMancusi commented 2 years ago

I think CompositionMode_Lighten would be awesome for dark backgrounds.

The lighter of the source and destination colors is selected.

Is it possible to allow the users to select the mode they prefer in the OpenBoard settings?

letsfindaway commented 2 years ago

With "Ligthen" white parts do not get any color: grafik It looks as if the ink is only on the background, and the objects on top of it act like a mask. So I think this is not a good choice and the original SourceOver is better.

IMHO OpenBoard should not allow the user to select arbitrary modes. OpenBoard strives for ease of use, and one of the main principles should be that it behaves as the user expects. So we should find composition modes which behave similar as a real marker, probably even a little bit better. So Multiply on light backgrounds is really an option. But we should not offer things which make "fancy effects". For that you may use an artists program like Krita.

Probably it's best to go with Multiply for light backgrounds and stay with SourceOver for dark backgrounds?

GianlucaMancusi commented 2 years ago

Yes I agree with you. I was thinking of the particular case in which there is a white text over a black background, and Ligthen was perfect. But it might be too specific.

Probably it's best to go with Multiply for light backgrounds and stay with SourceOver for dark backgrounds?

Yes, this will be a really useful feature. This is because usually the marker is used for the text that is on a white background, and SourceOver hides the text too much.