Page 1 of 1

Retina (HiDPI) drawing issues (VSTGUI 4.3)

Posted: Mon Dec 11, 2017 3:19 pm
by howardantares
I've got a coupe of views that I draw beside each other, and when filling them in they each fill in their backgrounds using identical coordinates for top and bottom of the rectangles that make up their background content. They look fine on non-HiDPI displays, but when using HiDPI, one of them draws differently than the other. The view on the left seems to skip drawing the bottom rows of each of its rectangles, while the right-hand view does not. I don't get how this can be, when they both have identical top and bottom view coordinates, and the rectangles that fill them also have identical top and bottom coordinates. (I checked that they were integral values as well, at least out to four decimal places.)

(The left-hand view also skips drawing its left column of pixels, but obviously its left/right coordinates differ from the view on the right.)

Any idea how this can be? We're just using context->drawRect( fillRect, kDrawFilled ) (using the VST3 SDK 3.6.6 which has VSTGUI43). Is this addressed in a later version of the SDK? We're late in the development cycle, and don't like to switch SDKs at the last minute for obvious reasons, but if this kind of anomaly is fixed in a later version, I might be able to convince management to make the jump.

Re: Retina (HiDPI) drawing issues (VSTGUI 4.3)

Posted: Tue Dec 12, 2017 8:30 am
by ray
howardantares wrote:I've got a coupe of views that I draw beside each other, and when filling them in they each fill in their backgrounds using identical coordinates for top and bottom of the rectangles that make up their background content. They look fine on non-HiDPI displays, but when using HiDPI, one of them draws differently than the other. The view on the left seems to skip drawing the bottom rows of each of its rectangles, while the right-hand view does not. I don't get how this can be, when they both have identical top and bottom view coordinates, and the rectangles that fill them also have identical top and bottom coordinates. (I checked that they were integral values as well, at least out to four decimal places.)

(The left-hand view also skips drawing its left column of pixels, but obviously its left/right coordinates differ from the view on the right.)

Any idea how this can be? We're just using context->drawRect( fillRect, kDrawFilled ) (using the VST3 SDK 3.6.6 which has VSTGUI43). Is this addressed in a later version of the SDK? We're late in the development cycle, and don't like to switch SDKs at the last minute for obvious reasons, but if this kind of anomaly is fixed in a later version, I might be able to convince management to make the jump.
Hi Howard,

this is just a guess, maybe this is related to viewtopic.php?f=5&t=334 which has recently been fixed in 4.5?

Best,
Reimund