[comp.windows.x] Drawing onto off-screen pixmaps?

oster@dewey.soe.berkeley.edu (David Phillip Oster) (07/15/87)

I am porting a large application program from another system to X. The program
needs to draw lines, text, and pixmaps into offscreen pixmaps.

Has anybody done this under X version 10? Has anybody done this under X version
11? If you have, please send me an E-mail note. If there is any interest, I
will summarize and post to the net.

-------

A little background: the program includes a turtle graphics system. The user
issues commands to turtles like "forward 20", or "left 50 degrees". The canvas
the turtles are drawing on is not visible all the time, yet, when the user
makes it visible, the complete path of the turtle should be immediately
visible. Among the things these turtles can do, is stamp a copy of their
picture onto the canvas. The pictures of turtles are themselves
turtle canvases, so the shape of a turtle is a program in turtle graphics.

The backing bits that verion 11 provides is not what I need. I need to be
able to draw onto a pixmap that is not on the screen.

------
One silly solution to the problem is to allocate some windows on a machine
in a closet, draw on those windows, then get the pixmaps back from the server.

A serious solution to the problem is based on the silly one above:
Augment the X server so that in addition to the real display tube,
it will let me open windows on a "virtual display tube" (really just an
ordinary RAM memory buffer.)

Has anybody tried this? How difficult is it?
Please respond.

--- David Phillip Oster            --My Good News: "I'm a perfectionist."
Arpa: oster@dewey.soe.berkeley.edu --My Bad News: "I don't charge by the hour."
Uucp: {seismo,decvax,...}!ucbvax!oster%dewey.soe.berkeley.edu

RWS@ZERMATT.LCS.MIT.EDU (Robert Scheifler) (07/16/87)

    Augment the X server so that in addition to the real display tube,
    it will let me open windows on a "virtual display tube" (really just an
    ordinary RAM memory buffer.)

X11 has off-screen pixmaps that you can draw into as a standard feature.