>>>>> "Michael" == Michael Schmitt <[EMAIL PROTECTED]> writes:

Michael> I also looked at QPainter::drawPolyline(...) and I was a bit
Michael> astonished by its complexity. The X Window function looks
Michael> simple but the Windows port adds a lot of lines of codes. In
Michael> particular, the following segment looks suspicious:

But all this code is commented out, isn't it? It seems to me that the
Polyline call does all the work by itself, especially since the 
  if ( testf( ExtDev | VxF | WxF ) )
branch is only used when printing or drawing to pixmap.

Actually the problem with this code is that it is unreadable. In
particular several loops should be enclosed in #ifdef DEBUG_QPAINTER.

Michael> Anyway, I played a bit with LyX and I noticed that the LyX
Michael> menu separator itself is drawn correctly, i.e. the polygon is
Michael> drawn correctly and does not exceed the clip box. You can
Michael> check this by adding a menu separator to an empty document or
Michael> at the end of a document.

It seems to me that Angus has posted screenshots showing a badly drawn
menu separator, but I may be dreaming (one of the standard docs, maybe).

Michael> So there may be two possible reasons (please forgive me if I
Michael> am telling non-sense; I am not a GUI expert).

Michael> 1. The clip box itself is not set to the correct position. 

It might be.

Michael> 2. QtFree/Win32 uses y coordinates in the wrong way because
Michael> (just a guess!) X11 uses increasing y values from bottom to
Michael> top whereas Win32 uses increasing y values from top to
Michael> bottom. (Unfortunately, the menu separator symbol is
Michael> symmetrical so we cannot exclude this alternative...)

It would be much worse in this case. All the math decorations are made
with polylines, and they are just translated vertically (according to
a screenshot from Ruurd).

JMarc

Reply via email to