Finds an interface of a given class that matches supplied initargs.
capi
locate-interface class-spec &rest initargs &key screen no-busy-interface &allow-other-keys => interface
| class-spec⇩ |
A specifier for a subclass of interface. |
| initargs⇩ |
Initialization arguments for class-spec. |
| screen⇩ |
A screen or nil. |
| no-busy-interface⇩ |
A boolean, defaulting to nil. |
| interface |
An interface of class class-spec, or nil. |
The generic function locate-interface finds an interface of the class specified by class-spec that matches initargs and screen.
First, locate-interface finds all interfaces of the class specified by class-spec by calling collect-interfaces with class-spec and screen. The first of these which match initargs (by interface-match-p) is returned.
If there is no match, then locate-interface finds the first of these which can be reused for initargs, by interface-reuse-p. This reusable interface is reinitialized by reinitialize-interface and returned.
no-busy-interface controls the use of the busy cursor during reinitializing of a reusable interface. If no-busy-interface is nil, then this interface has the busy cursor during reinitialization. If no-busy-interface is true, then there is no busy cursor.
If no matching or reusable interface is found, or if global interface re-use is disabled by (setf reuse-interfaces-p), then locate-interface returns nil.
collect-interfaces
interface-match-p
interface-reuse-p
reuse-interfaces-p
CAPI User Guide and Reference Manual (Macintosh version) - 01 Dec 2021 19:31:27