Retina (HiDPI) drawing issues (VSTGUI 4.3)

A user interface toolkit mainly for audio plug-ins (VST, AudioUnit, etc).
Post Reply
howardantares
Posts: 128
Joined: Tue Jun 21, 2016 1:46 pm

Retina (HiDPI) drawing issues (VSTGUI 4.3)

Post 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.

ray
Posts: 97
Joined: Fri Sep 02, 2016 9:37 am

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

Post 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

Post Reply