Next: Resource Access Functions, Previous: Complete Names and Classes, Up: Accessing Resource Values [Contents][Index]
The resource lookup algorithm searches a specified resource data base and returns the value for the resource binding whose resource name is the closest match to a given complete resource name and class. The intent of the lookup algorithm is to formalize an intuitive notion of the closest match.
Precedence is given to a match which begins higher in the parent-child contact hierarchy. This allows a resource binding with a partial name to define a resource value shared by all members of a window subtree. For example, suppose the resource database contained the following resource bindings:
(mail * background) | 'red |
(* reply background) | 'blue |
Suppose an application program searched by using the following complete resource name:
(mail screen-1 reply background)
then the closest matching value returned would be 'red
.
Precedence is given to the more specific match. A name match is more specific than a class match. Either a name or class match is more specific than a wildcard match. For example, suppose the resource database contained the following resource bindings:
(mail * background) | 'red |
(mail * fill) | 'blue |
Suppose an application program searched by using the following complete resource name and complete resource class:
(mail screen-1 reply background) (application root button fill)
then the closest matching value returned would be
'red
. However, suppose the resource database contained the
following resource bindings:
(mail * background) | 'red |
(mail * button background) | 'blue |
then the closest matching value returned would be 'blue
.