MC9190 - DPI GetDeviceCaps Question

C Charles Malm 3 years 5 months ago
8 1 0

My customer is receiving 192 when passing LOGPIXELSX and LOGPIXELSY into GetDeviceCaps on WM6.5 MC9190's but gets 96 on CE6. Can someone clarify why this is and whether or not this is a bug. My Customer provided the following information regarding this. I've attached a solution that demonstrates what the customer claims is the issue. If you are using QVGA(320x24) mode the GetDeviceCaps(LOGPIXELSX)  API returns 96.0.  If you are in VGA(640x480) the GetDeviceCaps API also returns 96.0.  In VGA mode shouldn’t this be returning 192.0?  Is there another API that can be called to determine the proper number of pixels per inch? -- Screen resolution and DPI are related.  A higher resolution in the same physical screen size creates a higher DPI.  If the OS is reporting this incorrectly it is because the drivers/device, which is Motorola, is reporting it incorrectly.  Can we please get these issues escalated?  Our customers are pounding on us for a resolution. --
Call getDeviceCaps on the 9190 running Mobile 6.5 which is VGA mode.  It reports 192 pixels.  Run the same API while running CE 6.0 and it reports 96 pixels.  Same device, same displays, two different results.
--

Please see this link from Microsoft. As you can see the DPI should report correctly for different resolutions.

http://msdn.microsoft.com/en-us/library/bb431852.aspx

-- Here is a link to Microsoft’s docs on this API:

http://msdn.microsoft.com/en-us/library/ms929230.aspx

The LOGPIXELSX and LOGPIXELSY options both report 96 when they should be 192.  VERTRES also reports the wrong value but is the LOGPIXELS work then this other option is not necessary.
--
I am sorry but this is a bug. DPI is “dots per inch”. Obviously, a higher resolution has more dots per inch. If you follow the link below on that page called “developing high DPI aware applications” you will see that it is absolutely required that the device properly report this value. Otherwise, all DPI aware applications will render incorrectly.

Further, the same Motorola device with CE6 or Mobile 6.5 report different values for the exact same hardware. This is obviously a bug.

Please Register or Login to post a reply

1 Replies

E Evgene Vigoutov

DPI will always be reported as 96 for CE - it is hard coded value. my recommendation is not to use DPI value and to use screen resolution. In other case and they MUST have DPI, then it is object to SPR.

CONTACT
Can’t find what you’re looking for?