Hi Thomas, Thank you for taking the time to reply to my difficult questions.
> My guess is that you see the old top canvas contents until the > top canvas can complete it's rendering? I guess my question is > what do you want to have happen? Do you want all repaints to > block until the top canvas rendering is complete? No, I only want any rendered content of other lower objects that would normally be behind the top canvas to always be behind, even when the top canvas is "busy". I am not sure what I am requesting is possible but I am sure that it is desirable. > This is probably a similar problem, when you drag we have to > re-render the old and new positions for the object. While that > is happening, if a swing repaint request comes in we fulfill it > with the current contents of the offscreen buffer (and it should > get fixed when the dragged object is finished being updated). OK, that sounds logical. > When you translate with the left and right arrow keys we update > the 'painting transform' so that the un-updated offscreen buffer > is correctly positioned, but you will notice that there is 'blank > space' where that buffer has moved away from the edge of the window. > You may not be aware that if you use 'shift mouse-2' we will scale > in a similar manner, and 'ctrl mouse-2' will rotate with painting > transform update. These seem to work perfectly! Why can't everything be like this? >> So why cant the top object paint itself while it is being resized >> or dragged? Is something else going on? > > It can't paint itself with the updated rendering because > it's busy making that updated rendering. So the question is what > do you want to have happen while it's making that updated rendering? As my knowledge of the intimate inner workings of the rendering engine is incomplete, I can only tell you what I would like to see from the user's perspective. Objects which are rendered in canvasses behind those rendered in "higher level" (closer to the top) canvasses should *always* be behind those on the top. There should be no battle to display themselves, the top objects should be declared the winner always. So when I request a resize, no lower objects should show through the top object either before, during or after the top object's resize (unless of course it is translucent!). The same applies when I drag the top object. Basically, the Z-order of all objects should be honoured at all times. Is this possible? Thanks, John
PGP.sig
Description: PGP signature
