[comp.sys.apple] offscreen bitmaps, BlockMove, etc

AWCTTYPA@UIAMVS.BITNET ("David A. Lyons") (03/15/89)

>Date:         Tue, 14 Mar 89 16:44:32 EST
>From:         mcgurrin@MWUNIX.MITRE.ORG
>Subject:      Re: offscreen bitmaps on GS
>
>I confess considerable ignorance on this topic, but isn't there also
>a tool for copying memory blocks?  If so, couldn't it be used to copy
>the offscreen bitmap into the memory used for display?  This would
>seem much changing whole page displays (assuming one wasn't doing
>windows, menus, etc., in which case you could cause one heck of a lot
>of problems).

There are indeed several toolbox calls specifically designed to copy
blocks of memory:  BlockMove, HandToPtr, PtrToHand, and HandToHand.

For copying pixelmaps, it is most appropriate to use PaintPixels,
PPToPort, or CopyPixels.  In very simple cases (like when the part of
the pixel map you are copying is rectangular and has the same width
as both the source and destination ports, and when everything is
still rectangular after taking into account the Visisble Region and
Clip Region of both ports), the only exciting thing done by a
toolbox call like PaintPixels will be a memory copy.

But in general, you won't be copying pixel maps that are as wide as
your ports, and they may be partly obscured.  If you use the
appropriate toolbox calls, everything is taken care of _for_ you--no
need to worry about whether other windows overlap yours, whether your
window is partly off the screen, etc.

 --David A. Lyons              bitnet: awcttypa@uiamvs
   DAL Systems                 CompuServe:  72177,3233
   P.O. Box 287                GEnie mail:    D.LYONS2
   North Liberty, IA 52317     AppleLinkPE: Dave Lyons