Old applications and HiDPI ?

Hi all,

In an application generated with Xojo 2015r1, I display some images that all are 600 pixels high (at 72 dpi and I do not intend to add higher size images).

Since my laptop screen is FullHD (1,920 x 1080), I didn’t make extensive tests (under Windws 8.1).

I upgraded that laptop to Windows 10 (and checked hours ago if I am current). Minutes ago, I checked that project and found that the display is… waird: the image takes all the available height (and some parts are missing). The image have alpha channel.

A screen shot (on Windows 10) shows an height of 1080 (what I suspected).

Is this simply due to the fact that I do nothing special for it (concerning HiDPI) ? / Must I use the current (2016r1.1) version, set the Retina/HiDPI flag to Yes to get my image displayed at their native size ?.

Well, it would be helpful to see that screenshot so we don’t have to guess, but I’m guessing that the image is being scaled in some way. It’s probably due to Windows magnification being set > 100%.

That said, HiDPI is considered Beta in 2016r1.1. I highly suggest that you wait at least until r2 before trying to tweak your app for Windows HiDPI as it’ll be much improved.

Expectations are high … does this mean that HiDPI is not considered to be beta with r2 ?

As a beta tester, you’ll know soon enough :P. I just don’t want users to use 2016r1 as a basis for HiDPI on Windows as we’re working hard to bring the Windows framework in line with how the OS X framework behaves.

Let’s put it this way… We’re aiming for your Retina picture and drawing code to “just work” in most if not all cases for HiDPI on Windows. But it’s definitely not finished in 2016r1.1.

Here is the image I loaded in the application:

and here is the image loaded in a window of the application:

I noted that the loaded image height is 692 pixels instead of 600 (as all other pages are), but this change nothing.

Yes, but how did you display it?

g.drawpicture mypic,0,0

or
g.drawpicture mypic, 0,0,something,600

or

g.drawpicture mypic, 0,0,something,600, 0,0,something,600

Hi Jeff,

Probably: Canvas1.Backdrop = Picture.Open(f)

I check… and get:

Pict = Picture.Open(myImg(myCurrent)) If Pict = Nil Then Return Self.Backdrop = Pict

Remember: the application was generated using xojo 2015r1.

You can fix it by using the g.drawpicture in the paint event instead of relying on backdrop

Thanks for your answer.

I do not understand what difference it can be (still generating the application with Xojo 2015r1).

That said, if I do not try, how can I know ?

I will do that after eating something (my stomac is sending messages …) and will come back here tomorrow morning.