[comp.sys.mac.programmer] Getting a bit image into a Picture

hqm@wheaties.ai.mit.edu (Henry Minsky) (08/18/90)

I want to use the OpenPicture feature of Quickdraw to copy a BitMap
into a Picture, and the copy the Picture to the desk scrap, so I 
can paste it into MacPaint. 

According to the manual, once you have done an OpenPicture, all QuickDraw
commands will be recorded in the Picture. But how about bitmaps? I don't
think doing CopyBits gets recorded in the Picture, but I can't tell
from the docs in Inside Mac I. 

Can anyone tell me how you normally get bit images into Pictures?

Thanks,
	Henry

jackiw@cs.swarthmore.edu (Nick Jackiw) (08/18/90)

hqm@wheaties.ai.mit.edu (Henry Minsky) writes:
> According to the manual, once you have done an OpenPicture, all QuickDraw
> commands will be recorded in the Picture. But how about bitmaps? I don't
> think doing CopyBits gets recorded in the Picture, but I can't tell
> from the docs in Inside Mac I. 
> 

CopyBits calls *can* get recorded in openPictures.  You've got to convince
Quickdraw to do it by copying into the port which is currently recording
the picture.  If your bit image already exists in the port, you can copy
from the port^.portBits to thePort^.portBits, with your srcRect equal to
your destRect.  On paper, this looks like a no-op, but Quickdraw's
picture-recording procedure intercepts the bits and records them in
the picture.   
-- 
     _  _|\____    Nick Jackiw | Visual Geometry Project | Math Department
   / /_/   O>  \   ------------+-------------------------+ Swarthmore College
   |       O>   |  215-328-8225| jackiw@cs.swarthmore.edu| Swarthmore PA 19081
    \_Guernica_/   ------------+-------------------------+                 USA