Specifications

Apple IIGS
#74: Top Ten List Manager Things 1 of 4
Apple II
Technical Notes
Developer Technical Support
®
Apple IIGS
#74: Top Ten List Manager Things
Revised by: Dave Lyons May 1992
Written by: Jim Mensch November 1989
This Technical Note presents a method for speeding up custom List Draw routines, with sample
source code for the APW assembler.
Changes since November 1989: Added information on memFlag and on shared rListRef
resources, and noted that System 6.0 already checks the clip region and calls your listDraw
routine only when needed.
Ten—More memFlag Bits
In each member record, bits 0 and 1 of memFlag indicate whether memPtr is a pointer, handle, or
resource ID. You don’t normally have to worry about that—a custom listDraw routine is one
place that you do. The complete definition of memFlag is as follows:
Bit Description
7 memSelected
6 memDisabled
5 memNever (Inactive)
4-2 reserved—set to zero
1-0 00 = memPtr is a pointer
01 = memPtr is a handle
10 = memPtr is a resource ID (type is rPString or rCString)
11 = reserved
Nine—Sharing rListRef resources
When listRef is a resource ID, the List Manager calls LoadResource every time it needs
your rListRef resource. If two or more lists share the same rListRef, they will get the same
handle from LoadResource and will interfere with each other.
To give each list its own copy of your the rListRef resource, load the resource yourself and use
DetachResource. Then feed the listRef to the List Manager as a handle. Repeat the
process for each list.