]> git.lyx.org Git - lyx.git/blobdiff - src/rowpainter.C
Two fixes involving RtL text drawing
[lyx.git] / src / rowpainter.C
index d59934d19ef650393a0c1f61a77c61ff05dadfcd..907a3c220e7c5b2cd9d7a4490380e74ad8069059 100644 (file)
@@ -489,9 +489,7 @@ void RowPainter::paintFirst()
                                } else {
                                        spacing_val = buffer.params().spacing().getValue();
                                }
-#ifdef WITH_WARNINGS
-#warning Look is this correct?
-#endif
+
                                int const labeladdon = int(font_metrics::maxHeight(font) * layout->spacing.getValue() * spacing_val);
 
                                int const maxdesc = int(font_metrics::maxDescent(font) * layout->spacing.getValue() * spacing_val)
@@ -531,6 +529,8 @@ void RowPainter::paintFirst()
                        else
                                spacing_val = buffer.params().spacing().getValue();
 
+                       int const labeladdon = int(font_metrics::maxHeight(font) * layout->spacing.getValue() * spacing_val);
+
                        int maxdesc =
                                int(font_metrics::maxDescent(font) * layout->spacing.getValue() * spacing_val
                                + (layout->labelbottomsep * defaultRowHeight()));
@@ -544,7 +544,7 @@ void RowPainter::paintFirst()
                                x = width_ - leftMargin() -
                                        font_metrics::width(str, font);
                        }
-                       pain_.text(int(x), yo_ - maxdesc, str, font);
+                       pain_.text(int(x), yo_ - maxdesc - labeladdon, str, font);
                }
        }
 }
@@ -627,7 +627,7 @@ void RowPainter::paintText()
                }
 
                const int width_pos =
-                       text_.singleWidth(par_, vpos, par_.getChar(vpos), font);
+                       text_.singleWidth(par_, pos, par_.getChar(pos), font);
 
                if (x_ + width_pos < 0) {
                        x_ += width_pos;