]> git.lyx.org Git - lyx.git/blobdiff - src/RowPainter.cpp
Beamer: autonest column in columns
[lyx.git] / src / RowPainter.cpp
index efc4021c1b88f91da19f4d3241f336adc34a03ac..43b3be20ce67c35766183f5e647cd2fffc1ec625 100644 (file)
@@ -269,6 +269,21 @@ void RowPainter::paintStringAndSel(Row::Element const & e) const
 }
 
 
+void RowPainter::paintTextDecoration(Row::Element const & e) const
+{
+       // element selected?
+       bool const sel = (e.pos >= row_.sel_beg && e.endpos <= row_.sel_end)
+               || pi_.selected;
+       FontInfo copy = e.font.fontInfo();
+       if (sel || e.change.changed()) {
+               Color const col = e.change.changed() ? e.change.color()
+                                                    : Color_selectiontext;
+               copy.setPaintColor(col);
+       }
+       pi_.pain.textDecoration(copy, int(x_), yo_, int(e.full_width()));
+}
+
+
 void RowPainter::paintChange(Row::Element const & e) const
 {
        e.change.paintCue(pi_, x_, yo_, x_ + e.full_width(), e.font.fontInfo());
@@ -327,9 +342,9 @@ void RowPainter::paintDepthBar() const
        for (depth_type i = 1; i <= depth; ++i) {
                int const w = nestMargin() / 5;
                int x = int(xo_) + w * i;
-               // only consider the changebar space if we're drawing outermost text
+               // consider the bufferview left margin if we're drawing outermost text
                if (text_.isMainText())
-                       x += changebarMargin();
+                       x += pi_.base.bv->leftMargin();
 
                int const starty = yo_ - row_.ascent();
                int const h =  row_.height() - 1 - (i - next_depth - 1) * 3;
@@ -603,10 +618,11 @@ void RowPainter::paintText()
 
                case Row::INSET:
                        paintInset(e);
+                       paintTextDecoration(e);
                        break;
 
                case Row::SPACE:
-                       pi_.pain.textDecoration(e.font.fontInfo(), int(x_), yo_, int(e.full_width()));
+                       paintTextDecoration(e);
                }
 
                // The markings of foreign languages