On Tue, Dec 04, 2001 at 10:35:23AM +0100, Juergen Vigna wrote: > > On 04-Dec-2001 Andre Poenitz wrote: > > > Inset rendering is a bit special, it's the only case of asynchronous > > operation, isn't it? > > Well, ... > > > What about giving the "I am done" call back of the inset rendering a > > snapshot copy of the cursor from the moment where the inset is created > > and rendering started? > > And what if the inset-pointer changed in the meantime (Undo/Redo)?
If the paragraph is still there, the pointer should not have changed, since it is still the same thing, should it? But since you are asking I suppose the pointer may change indeed. Well, there are other solutions: We will need a method to create a cursor stack from (x,y) coordinates anyway, since people want to put the cursor somewhere by clicking with the mouse. So we could recreate the cursor from some cached inset position. If that has changed, we could redraw everything on screen - I doubt that one has more that a few graphic insets on one _screen_. Or we could ignore the matter altogether and force a complete redraw of the full screen every second or so... How expensive is a full screen redraw anyway? Does is justify all the code used to figure out whether we need "very little" or just "a little" redraw? If a complete redraw takes less than 0.05 second, we could scrap the complicated parts of the redrawing entirely and nobody will notice. Andre' -- André Pönitz .............................................. [EMAIL PROTECTED]