Thanks willedwards and klange! I really appreciate your explanation about your experience with writing compositor! I was actually inspired to start writing hobby os half a year ago, after seeing toaruos and convinced that it's possible to write a such a great os by oneself.klange wrote:It's probably about time I post in this thread... I worked on Compiz many years ago, spent some time at Apple working on the window server in OS X, and have written two different compositing window managers of my own. Hopefully this isn't too much a rambling mess.
I'll spare you the usual history-of-window-drawing explanation and jump straight to "how we do it now".....
I am now trying to implement move window in my compositor, the way my method works is:
After user moves a window, for example, 1 pixels to the right, and 2 pixels to the top, this would create three rectangle regions that need to be redrawn.
Then, for each of rectangle A and B, find all windows within the rectangle and draw them from back to front. Then simply draw the moved window on rectangle C.
This is still running a bit slow in QEMU, i m interested how you would implement this ?
Thanks!