On Fri, Jun 21, 2002 at 12:13:28PM +0100, Angus Leeming wrote: > > That's what the patch I sent does (should do) > > Maybe ;-) But I'm confused by XScreen::draw: > > XCopyArea (fl_get_display(), > owner_.getWin(), // owner_.getPixmap(), > owner_.getWin(), // owner_.getPixmap(), > ...); > > // expose the area drawn > expose(0, 0, > owner_.workWidth(), > old_first - text->first_y); > > Why are you changing owner_.getWin() direct, not owner_.getPixmap() and then > expose()ing the change?
Consider a screen like this : ----- |111| |222| ----- and we scroll down : ----- |222| |XXX| ----- We must repaint XXX line but we can copy 222 line from the window. But yes, we should copying within the pixmap, then exposing the entire area (so I should have also changed this bit within the patch). Without the patch (current CVS / old style), we make an expose on the XXX line and copy directly the 222 on the window. > So, ideally, XWorkArea::paint should change only a small area of the window > and this info will come from xev. Looking more deeply, I see that this is > what it's coded up to do, as is XScreen::expose. That's right. > That meansthat all we have to do is pass the correct coordinate info to > expose(). But we seem to do that too. Yes. > So, it looks to me that your patch + my xforms patch will allow us to redraw > only a part of the window, with the XScreen::draw proviso above. But we get an FL_DRAW: what parts of the pixmap should we copy into the real lyx window ? We don't know from this point, so we have to copy the whole thing :/ > Let's ignore that for now. This is something that should be hidden inside > WorkArea. First we should finish the interaction between the Screen and the > WorkArea. I think it is finished outside of xforms/ (in fact I know it is since Qt is working a treat ...) that xforms screen is copying directly onto the workarea window (which is most definitely not the event-driven way) is an xforms-specific bug - the GUII API does not come into IMHO regards john -- "If a thing is not diminished by being shared, it is not rightly owned if it is only owned & not shared." - St. Augustine