[comp.sys.mac.programmer] Messing around with an object oriented screen dump

freek@uva.UUCP (Freek Wiedijk) (08/08/88)

Hello,

Anyone who is writing (or trying to write) a MacDraw like graphical editor
might be interested in the following.

Some time ago I wanted to make a screen dump (like the MacPaint document from
command-shift-3) that should be structured instead of just a bitmap. So, in
the resulting PICT the titles of windows, menu's etc. should be editable like
text, rectangles should "know" that they are rectangles and so on.

I wrote a simple DA that did just this, by replacing some low level pointers to
drawing routines by pointers to my own routines. After this replacement the DA
forced a redrawing of the complete screen, and after that it saved all objects
on a file.

It worked like I expected (it crashes 9 out of 10 times) and it gave me a very
interesting PICT picture to experiment with: A screen dump of the desktop of my
hard disk in the finder, exactly as the Mac drew it in the first place.

(The picture seems to be "correct": The scrapbook displays it correctly; all
paint programs paste it correctly. Clearly, DrawPicture understands this
picture)

Now the fun began: I tried to paste this picture in some of the drawing
programs in my possession:

	CricketDraw:	crash!
	MacDraw:	"The selection is larger than the largest size drawing"
	MacDraw II &
	Canvas:		both paste the picture "beyond the horizon", i.e.
			beyond the border of the window, unreachable by
			scrolling ...
	SuperPaint (draw layer):
			the picture is recognisable, but what a mess!

One of the reasons for this strange behaviour is the fact that all finder
folder windows contain four lines that are more than seven meter long (20000
pixels). Another reason is the fact that there is no drawing program that
seems to understand clipping.

Now the main question: I'm looking for a drawing program that is COMPATIBLE
with the PICT format. It should understand at least everything DrawPicture
understands. Does it exist? Or should I write it myself (hello Maarten)?

	Greetings, Freek.

P.S. If you want my screen dump PICT to play with, I can mail you a copy.

-- 
Freek Wiedijk <the Pistol Major>                   UUCP: uunet!mcvax!uva!freek
#P:+/ = #+/P?*+/ = i<<*+/P?*+/ = +/i<<**P?*+/ = +/(i<<*P?)*+/ = +/+/(i<<*P?)**