That is, material map representations in accordance with the invention are resolution independent. Another benefit of representing material maps in accordance with the invention is that they may be encrypted to prevent unauthorized inspection or use. The invention relates generally to graphical user interface design and more particularly to a means for specifying a graphical user interface object in a procedural and largely display resolution independent manner.
Leopard will make use of resolution independence. Here's what Apple says in an overview of Leopard on its developer web site: "the old assumption that displays are 72dpi has been rendered obsolete by advances in display technology. Macs now ship with displays that sport displays with native resolutions of 100dpi or better. Furthermore, the number of pixels per inch will continue to increase dramatically over the next few years. This will make displays crisper and smoother, but it also means that interfaces that are pixel-based will shrink to the point of being unusable. The solution is to remove the 72dpi assumption that has been the norm. In Leopard, the system, including the Carbon and Cocoa frameworks, will be able to draw user interface elements using a scale factor. This will let the user interface maintain the same physical size while gaining resolution and crispness from high dpi displays.
Here's Apple background of the invention: "Designing an efficient, ergonomic and aesthetically pleasing user interface is an integral stage of most application development projects. The graphical user interface ("GUI") is what the user sees and interacts with. Accordingly, the GUI must present information and choices to a user in a way that is not only pleasing and natural to the eye but conducive to efficient use of the underlying application. One major concern in the development of modern GUIs is the resolution of the various objects that comprise the GUI. Typically, a designer designs a graphical user interface object (e.g., a pushbutton, scrollbar, or slider) for a specified resolution. As the resolution of the user's display changes, however, display of the originally designed object may become distorted. This is particularly a problem when a graphical object is designed at a first resolution (e.g., 75 or 100 pixels per inch) and the user's display is at a second, higher resolution (e.g., 120 or 150 pixels per inch).
"In the past, two general techniques have been used to address the problem associated with displaying objects designed for a first resolution but which are displayed at a second resolution. In the first, an original (low resolution) object is up-sampled to generate a larger image (e.g., through linear or bicubic interpolation). This technique results in blurry edges such that the user interface no longer looks crisp. In the second, an original object is designed for display at a high resolution and is then down-sampled to an unknown target resolution. While useful in some circumstances, it is not possible a priori to know what width to give a line (e.g., an object's edge) at the higher resolution such that when down-sampled it remains crisp. This is particularly true when there are multiple target resolutions. Thus, both up-sampling and down-sampling techniques tend to disturb the designer's specified line width. One of ordinary skill in the art will recognize that line width is a critical factor in GUI design as the width of lines define the edge of graphical objects. If edges appear blurry or ill-defined, the entire GUI design may be compromised.
"Thus, it would be beneficial to provide a means to specify the design of a graphical user interface object independent of its display resolution. Such a description may advantageously be used by a rendering module to display the designed object at substantially any resolution.
According to Apple, in one embodiment, the invention provides a method to represent a graphical user interface object's material map in a procedural and, therefore, resolution independent manner. The method includes receiving values for each of a plurality of attributes associated with a material map object, associating a value for each of the plurality of attributes, and storing the plurality of attributes and their associated values in a file. The file may be a "flat" file or a hierarchically-ordered file. The collection of attribute-value pairs comprise a complete description of the graphical user interface object's material map and may be used by a rendering module to create a visual representation of the material map at any number of resolutions. In addition, because material maps in accordance with the invention are represented procedurally, they may be encrypted to prevent unauthorized inspection or use.
The inventor of the patent is Mark Zimmer. FIG. 1 shows, in block-diagram format, generation of recipe files in accordance with one embodiment of the invention.