ADC Home > Reference Library > Technical Notes > Legacy Documents > Graphics & Imaging >
Important: This document is part of the Legacy section of the ADC Reference Library. This information should not be used for new development.
Current information on this Reference Library topic can be found here:
|
Using Color CursorsTo avoid system errors or crashes while using a color cursor, incorporate the following information in your application development. Setting Bounds for your CursorIf your cursor is, for example, 15 pixels tall and 9 pixels wide, you might be
tempted to use these values for the bounds.bottom and bounds.right,
respectively, in your cursor's pixel map. Don't. When the cursor's image
needs to be expanded (that is, when you specify a two bit-per-pixel cursor and
the mouse pointer is on an eight-bit screen) the To avoid this problem, always specify the Inopportune Purging of a `
|
{
GetGWorld (&savePort, &saveDevice);
SetGWorld (offPort, NULL);
...copybits and other stuff goes here
SetGWorld (savePort, saveDevice);
}
|
A documented side effect of SetGWorld is that the device parameter will be ignored when you pass in a GWorld port. So, if the current port is a GWorld port, the save-restore code in SetCCursor will always make the current device that of the GWorld.
One place where this is especially dangerous is when the current port is a disposed
GWorld. DisposeGWorld sets the current GDevice to a
safe device, but doesn't affect
the current port. If you then call SetCCursor before a valid port
has been set, then
SetCCursor will cause the current GDevice to point at
the disposed GDevice, and the
system will crash shortly afterwards.
The easiest way to avoid this side-effect of SetCCursor is to:
SetCCursor at Interrupt TimeSetCCursor is documented as moving memory. In 7.5.2 and
later, SetCCursor makes calls
to CopyBits and other QuickDraw routines. Never, ever call
SetCCursor at interrupt time!
Calling SetCursor at interrupt time is still allowed, however.
Inside Macintosh: Imaging with QuickDraw
|
01-June-1989 |
Originally written. |
|
01-February-1996 |
The warning about purgeable 'clut' resources added. |
|
23-December-1997 |
Warnings about |
|
|
Acrobat version of this Note (48K). |
|