Apple II
Technical Notes
_____________________________________________________________________________
                                                  Developer Technical Support

Apple IIgs
#72:    QuickDraw II Quirks

Revised by:    Dave Lyons                                      September 1990
Written by:    Dave Lyons                                       November 1989

This Technical Note points out some things things you need to watch out for 
when using QuickDraw II, especially with FastPort-aware and Shadowing modes.
Changes since November 1989:  Updated to reflect several QuickDraw II changes 
in System Software 5.0.3; added warning about calling ShowPen with a polygon, 
region, or picture open.
_____________________________________________________________________________


Shadowing

Bit 15 of the MasterSCB parameter to QDStartUp requests that QuickDraw II use 
the memory at $012000 to shadow onto the real screen memory at $E12000.  (This 
speeds up QuickDraw II, since memory in bank $01 can be read at full speed.)

Previously, QDShutDown on ROM 01 machines was not not disposing of the $012000 
memory block if it was allocated by QDStartUp.  In 5.0.3, it's fixed--your 
application does not need to worry about disposing of the shadow memory 
manually.

Also, when QDStartUp uses shadowing on ROM 01 it does not actually clear the 
bank one memory to black--the screen looks black, but when you start to draw 
you get weird garbage around the stuff you draw (this is true in 5.0.3 and 
earlier).  If you call RefreshDesktop before doing other drawing, it is not a 
problem.  If you need to force the screen to clear, you can call 
ClearScreen(0) right after QDStartUp.


FastPort-Aware Anomaly

When the FastPort-aware bit is turned on in the MasterSCB parameter to 
QDStartUp, DrawPicture does not notice changes in the pen pattern.  If your 
application uses pictures, either directly or indirectly (i.e., by printing to 
the ImageWriter driver), you may need to leave FastPort-aware mode turned off 
to get the expected behavior.


FastFont and Large Pixel Maps

FastFont does not work correctly when drawing past the first 64K of a pixel 
map.  If you are drawing text that uses FastFont (i.e., Shaston 8), you can 
avoid this problem by using a non-rectangular clipRgn.


ScrollRect Fixed in 5.0.3

ScrollRect no longer hangs when scrolling with a small positive dY and a non-
rectangular visRgn.


Don't ShowPen While Collecting Polygons, Regions, or Pictures

The Macintosh QuickDraw documentation permits calling ShowPen after an 
OpenPoly, OpenRgn, or OpenPicture call to cause drawing calls to contribute to 
a polygon, region, or picture and draw to a pixel map at the same time.

The Apple IIgs QuickDraw II documentation does not say you can do that.  In 
some cases, it works, but it works "by accident" and it's not one of the 
things Apple tests or guarantees in QuickDraw II.


Further Reference
_____________________________________________________________________________
  o  Apple IIgs Toolbox Reference, Volumes 1 and 3

