Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10 UW 5/3/83; site uw-beaver
Path: utzoo!watmath!clyde!burl!ulysses!mhuxj!houxm!hogpc!houti!ariel!vax135!cornell!uw-beaver!info-mac
From: info-mac@uw-beaver.UUCP
Newsgroups: fa.info-mac
Subject: Bypassing Quickdraw
Message-ID: <1895@uw-beaver>
Date: Thu, 11-Oct-84 21:16:33 EDT
Article-I.D.: uw-beave.1895
Posted: Thu Oct 11 21:16:33 1984
Date-Received: Sat, 13-Oct-84 06:28:13 EDT
Sender: daemon@uw-beave
Organization: U of Washington Computer Science
Lines: 31

From: Larry Rosenstein 
If you want to draw directly onto the screen bitmap, the proper call to
make is to ShieldCursor:

  PROCEDURE ShieldCursor(shieldRect: Rect; offsetPt: Point);

where shieldRect is the rectangle you want to modify, and offsetPoint is
(0, 0) if shieldRect is in global coordinates and the topLeft of the
grafPort's boundary rectangle if in local coordinates.  (ShieldCursor
offsets the shieldRect by offsetPt.)  The routine removes the cursor from
the screen only if it intersects the given rectangle, and you MUST
balance the call to ShieldCursor with a call to ShowCursor.

Since you are going directly to the bitmap, your rectangle would probably
be in global coordinates, so offsetPt would be (0, 0).  (Even though you
are going to the screen directly, you should still have initialized
Quickdraw and setup a grafport.)

Note that the above information is from a review draft of the Toolbox
Utilities section of Inside Macintosh, which I just received today.  The
description of this routine is substantially changed from the previous
draft of that section.

P.S.  I don't think Bill Atkinson would take exception to your trying to
bypass Quickdraw.  If I am not mistaken, MacPaint also bypasses Quickdraw
in places, in order to get better performance.

Larry Rosenstein
Apple Computer