On Mon, Jun 11, 2007 at 10:04:28PM +0300, Martin Vermeer wrote:
> On Mon, Jun 11, 2007 at 08:42:01PM +0200, Alfredo Braunstein wrote:
> > Stefan Schimanski wrote:
> > 
> > >>> The problem is that, when mouse hovering, no text painting should be
> > >>> needed, only background. But, because of current architectur where
> > >>> text
> > >>> is drawn _after_ background, we are forced to do the text painting.
> > >>> Changing this (using text on transparent background painting)
> > >>> basically
> > >>> needs a rewrite of rowpainter hence a 1.6 business).
> > >>
> > >> Ok.
> > >>
> > >>> Now, in case when mouse hovering hapens just after a SinglePar update
> > >>> and at the same screen location, grey areas are drawn before and
> > >>> after
> > >>> the current paragraph. I am not sure I am clear...
> > >>
> > >> Not completely, but thanks a lot anyway.
> > >> So, why the NoUpdate flag if the background is to be repainted? And
> > >> then, if
> > >> NoUpdate still repaints the background, why do we have the grey
> > >> areas bug,
> > >> are vi.y1 and vi.y2 wrong for some reason?
> > > 
> > > You can issue redrawing from vi.y1 to vi.y2, e.g. the upper and lower
> > > line of a paragraph, with update_strategy set the NoUpdate. With the
> > > old behavior in this case the paragraph was redrawn correctly, but
> > > then _all the remaining part_ of the screen was painted grey. Hence
> > > the grey bars in certain cases.
> > 
> > Seems like a stretch of the meaning of NoUpdate doesn't it. Why not just
> > using SingleParUpdate in this case.
> 
> Actually the redraw of text is _always_ from vi.y1 to vi.y2. The 
> SingleParUpdate is only meant to signal that there are still other paragraphs
> on the screen which _should not_ be greyed out. IIRC and nobody has overhauled
> this code since ;-/

Actually something seems to have happened... there is a bitstring func_attrib
containing NoUpdate and SingleParUpdate as bits, in LyXAction.h; and then 
there is an enum ScreenUpdateStrategy also containing SingleParUpdate in 
MetricsInfo.h. 

Why are there two, and what is their relationship if any? If one wanted
to cause confusion, this would be the way to go about it :-(

- Martin
  

Reply via email to