




A class, class name, or an interface.
nil
, the symbol 
:any
, a screen, or a keyword naming a library.
:visible
 or 
:create
.
The generic function 
collect-interfaces
 returns a list of CAPI interfaces which are instances of the class indicated by 
proto
, or subclasses thereof.
If screen is 
nil
, the interfaces on the default screen are returned. This is the default. If 
screen
 is
:any
, 
interfaces
 includes those on any screen. If 
screen
 is a screen object, the interfaces on that screen are returned. 
screen
 can also be a library name, currently the accepted values are 
:win32
, 
:motif
 and 
:cocoa
.
If interfaces on multiple screens are returned, then those on each screen are grouped together in interfaces .
Amongst those for each screen, the interfaces are grouped as follows. If 
current-process-first
 is true, then the interfaces in the current process appear together at the beginning of the group. If 
sort-by 
is 
:create
 then these interfaces are sorted by creation time, otherwise 
sort-by
 is 
:visible
 and they are are sorted in Z-order. The interfaces of other processes appear at the end of the group, also sorted according to 
sort-by
.
If 
current-process-first
 is 
nil
, then the interfaces for each screen are sorted according to 
sort-by
.
The default value of 
sort-by 
is 
:create
 and of 
current-process-first
 is 
t
.