Mac OS X Reference Library Apple Developer
Search

Introduction to Resolution Independence Guidelines

Note: This document was previously titled Resolution Independence Overview.

This document describes resolution independence in Mac OS X and explains how to start updating applications to support high-resolution displays.

What Is Resolution Independence?

In the past, developers could assume that the resolution of screen displays was 72 dpi and that one unit in the application's drawing space corresponded to one pixel. Specifying a 100 x 200 window in the application would result in a 100 x 200 pixel window onscreen. However, with the introduction of LCD displays with higher pixel densities (often well over 100 dpi), maintaining a one-to-one correspondence between drawing units and screen pixels can result in images that are too small for most users.

The solution is to make the drawing sizes specified by the application independent of the display's pixel resolution and allow arbitrary scaling between the two. Depending on the type of application, the user interface, and the drawing technologies used, you may need to update your code to provide the best user experience on a resolution-independent system.

Who Should Read This Document?

This document is relevant for all Carbon and Cocoa developers who are writing applications that display information onscreen (that is, applications with a graphical user interface).

Mac OS X v10.4 introduced preliminary support for resolution independence, but the implementation was very limited and many visual errors occur. Mac OS X v10.5 adds further support and the implementation has been refined. Most Cocoa applications, and Carbon applications that use compositing mode, should be capable of being resolution-independent when running on this release. However, resolution independence is still a developer-only feature in Mac OS X v10.5 and is not yet intended for end-user adoption.

Organization of This Document

The chapters in this document cover the following topics:




Last updated: 2007-05-04

Did this document help you? Yes It's good, but... Not helpful...