[comp.windows.x] How can ddx routines detect restacking?

scjones@thor.UUCP (Larry Jones) (11/14/90)

I'm implementing an X server on top of another graphics system
which actually provides some support for windows.  Since there is
a limit on the number of "hardware" windows, I can't just give
every X window its own hardware window, so my current plan is to
give some X windows their own hardware window and make others
share one with their siblings and/or parent.

I've worked out most of the details of using the window
procedures in the ScreenRec to manage the hardware windows, but
I'm having a real hard time trying to figure out how to handle
reparenting and restacking.  Whenever any kind of restacking
happens, I need to shuffle the hardware windows appropriately and
I may even have to redo the hardware window sharing assignments. 
Unfortunately, there's no RestackWindow procedure, so I guess I
need to keep a copy of the window's parent, nextSib, and prevSib
pointers in my devPrivate so I can detect the restack and know
where the window used to be as well as where it is now.  BUT,
after looking at the code, it's not clear to me that I can rely
on ANY of the window procedures being called for restacking.

Help?
----
Larry Jones                         UUCP: uunet!sdrc!thor!scjones
SDRC                                      scjones@thor.UUCP
2000 Eastman Dr.                    BIX:  ltl
Milford, OH  45150-2789             AT&T: (513) 576-2070
Ever notice how tense grown-ups get when they're recreating? -- Calvin