In the math insets AMSArray and Cases, there is a UI bug that the 
small corner markers are displaced to the right. The reason for 
this is the way they call MathGridInset::draw. They do so:

MathGridInset::draw(pi, x + 6, y)

and 

MathGridInset::draw(pi, x + 8, y)

This does the correct thing of shifting the grid with content ("blue
stuff") to inside the braces/brackets of these structures, but 
unfortunately it also shifts the corner markers to the right by 6...8 
pixels, as seen in the MathGridInset::draw code, as the drawMarkers2 
method is called from within draw.

The clean solution would be to separate out draw and drawMarkers,
requiring two method calls everywhere where there is now only a call to 
MathGridInset::draw. That is in Array, AmsArray, Cases, Hull, Par,
SubStack and Tabular. This could be streamlined a bit by adding a public
method drawWithoutMarkers to GridInset, to be used only from Cases and
AmsArray.

Of course there exist fudges too for the problem not requiring this 
reworking, but I don't like fudges. They tend to come back and bite.

What say you?

- Martin


Attachment: pgpFZ3gv81FpT.pgp
Description: PGP signature

Reply via email to