dubois@uwmacc.UUCP (Paul DuBois) (03/21/86)
Is it possible to accurately erase a QuickDraw picture? This is not (I think) as simple a question as it sounds. When you call OpenPicture, you pass a rectangle which is used as a picture frame. However, it is not used as a frame in the sense of a bounds rect, that is, as "a boundary outside of which no drawing can be done", since you can draw anywhere you like and it will show up when you replay the picture. It *is* used for scaling on playback, e.g., if you call DrawPicture with the picture handle, and a rectangle with sides twice as long as the picture frame, the resulting picture will be 4 times as big as the original (2x2). Thus you cannot simply EraseRect with the rectangle passed to DrawPicture since you don't really know the bounds of the picture. Nor can you draw the picture, then draw it again after setting the pen to xor mode (I tried it). I also tried bracketing all the drawing calls during picture formation with picture comments, then installing my own capture proc for picture comments, and setting the pen mode during picture playback. That didn't work either. Of course, in retrospect I now realize that these attempts were tremendously naive, but I'm still curious. Can it be done? How do you do it, (short of installing capture procs to intercept every single QuickDraw call during picture playback)? -- | Paul DuBois {allegra,ihnp4,seismo}!uwvax!uwmacc!dubois --+-- | Doth the hawk fly by thy wisdom, and stretch her wings | toward the south? Job 39:26