[Development] Proposal: Make QPen non-cosmetic by default
Uwe.Rathmann at tigertal.de
Fri Oct 12 13:25:05 CEST 2012
On Fri, 12 Oct 2012 10:10:59 +0000, Bache-Wiig Jens wrote:
> True. There are certainly plenty of valid use cases out there and some
> of those would require a minor change in Qt5 if we go ahead with this
Basically it is about if you want to have a pen width in model or paint
device coordinates. Both use cases exist and IMHO none of them is more
important than the other.
> Most likely no more than setRenderHint(Qt::CosmeticDefaultPen,
As long as you don't eliminate this flag I agree for Qwt.
But I would have to write a lot of documentation, that pens set from the
application code will be handled in Qwt differently than the user is used
from other parts of the application.
> In fact all non-0 values for pen
> width are non-cosmetic by default so making only the default constructor
> a special case with a cosmetic pen of size 1 is arbitrary and confusing
> regardless if you are using a cosmetic pen or not in your application.
Yes it is and I've seen several situations where this leaded to
irritations - but this is how it is like many versions of Qt.
If it were about introducing a new API I would completely agree, but your
suggestion breaks many applications doing graphics. And worst of all it
is about introducing a type of bug QA departments usually never finds
( not very likely than someone loads and zooms the exported PDF document
in a PDF viewer ).
By the way: in earlier versions of Qt ( didn't test it myself quite some
time ) drawing with a pen width of 0 was faster than using a pen of 1 -
even if it had the same result. In case of drawing a curve with many
lines it was a significant effect.
I never spent time on further explorations, but if it is still this way
and the cosmetic attribute was the reason you might introduce a
performance issues with changing the default setting as well.
More information about the Development