[<<] [<] Page 1 of 1 [>] [>>] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Subject:
GrMovewindow fixes and important window manager issues
From: "Greg Haerr" ####@####.#### Date: 14 Dec 1999 16:47:20 -0000 Message-Id: <009601bf4641$2b863ee0$15320cd0@gregh> Dan, I've fixed two of the three bugs submitted by your Nano-X movewindow demo. The child window move bug in Nano-X and the grandchildren move in Nano-X and Microwindows now work. I am, however, having some bigger problems getting the clipping code to work when moving windows under Nano-X. I remember that it was quite tricky getting it all right when I rewrote everything for Microwindows, but we're still using separate clipping code and window structures for Nano-X and Microwindows. I've been thinking that perhaps I ought to use the same code for both. I've got Nano-X working, except for the border draw code isn't clipped from the root window. This might be because there's considerable kluge from the original mini-X in regards to borders and border drawing. The original implementation "temporarily enlarges" the window rectangle when drawing the border, then shrinks it down again right afterwards. In the Microwindows implementation, I keep (ala MSWindows) two separate rectangles, a "window" rect and a "client" rect. The main clipping code uses the window rect, already calculated, for the window clipping, rather than kluging the border stuff. My question is, if I change the code to use the Microwindows internal window structure, it's a little less "X-y" but the kluges are gone, and it'll all work. Also it'll work the same between APIs, probably a good thing. The only real issue is whether a Nano-X window manager cares about this sort of thing. In the new model, the window manager would ask for a GC for a window, including the borders, and then draw the borders only. In the current Nano-X model, there's no way for a window manager to draw a border.... What do you think? Regards, Greg | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[<<] [<] Page 1 of 1 [>] [>>] |