[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: picture of whole window ?
- To: matti_karjalainen@hut.fi
- Subject: Re: picture of whole window ?
- From: "Mark A. Tapia" <markt@dgp.toronto.edu>
- Date: Wed, 14 Dec 1994 10:00:56 -0500
- Cc: info-mcl@digitool.com
- Sender: owner-info-mcl@digitool.com
On Tue, 13 Dec, Matti Karjalainen writes:
Is there a way of finite complexity to capture a picture of an entire
window. I don't mean pixmap capture but a real pict. To capture the
contents is easy: start-(c)picture, view-draw-contents, get-picture. This
gives only the content region. But I want to have the frame region as well
nicely into the same picture. Have anyone worked this out already, or any
hints?
Yes, I've done it. I developed the routines for supporting marking menus
(selection depends on angle not distance). It's a good start for
what you want.
The solution "saves" a picture of a portion of the screen, allows
you to draw over that portion and then restores it. The code is available
by anonymous ftp from cambridge.apple.com. The file is
pub/MCL2/contrib/menu-enhancements.sit.hqx
The file is a binhex archive. If you examine the file oou-utils.lisp,
the test-screen-saver does most of what your want. Suppose that the
window corners are (0 0) and (200 300) is global (screen) coordinates,
the following will save and restore that portion of the screen.
(test-screen-saver #@(0 0) #@(200 300))
By using the keep keyword parameter on the with-saved-screen-map,
you can save the picture of the area. Just make sure to kill
the picture before creating a new one and set the saved-picture
keyword parameter to the name of the variable that will contain the
picture.
mark