Preview of Resolution Independent Control library for RevMobile
Thomas McGrath III
mcgrath3 at mac.com
Sat Jul 28 18:13:50 EDT 2012
Livecode has included a command for dealing with the pixel and point issue….
"The iphoneUseDeviceResolution command specifies whether the full resolution of high-resolution devices should be used.
By default, iOS handles this by mapping one logical 'point' to two physical 'pixels' with applications (LiveCode included) interpreting everything in terms of logical points.
If the iphoneUseDeviceResolution command is passed true as the first argument, LiveCode ensures that co-ordinates and sizes specified in LiveCode are treated as being in pixels, rather than logical points. In particular, when changed, a resizeStack message is sent notifying the size change of the current main-stack, and functions and properties (such as the screenRect) reflects co-ordinates in pixels.
If the iphoneUseDeviceResolution command is passed true as the second argument, LiveCode ensures that co-ordinates and sizes specified in LiveCode for custom controls are treated as being in pixels, rather than logical points.
Note: The notion of pixel and logical point remains valid on older devices, it is just that it is always 1-1 thus using this command has no effect there. The scale of the device's screen (relative to a non-Retina display) can be queried using iphoneDeviceScale(). This function returns 2 if the display is a Retina display, or 1 otherwise."
The problem is this is an all or nothing approach that does not translate well to the desktop IDE environment that we have to work in and does not handle the graphics that would be necessary to display a HD image where needed in a button, image, etc. and a Normal image where not.
Originally I used true,false and then doubled my images but would fail when using a mixed screen with images and native livecode controls.
-- Tom McGrath III
http://lazyriver.on-rev.com
3mcgrath at comcast.net
More information about the use-livecode
mailing list