X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FRowPainter.cpp;h=a486c0e97e9223da7a0f7c9a3109a1a7ac8d5856;hb=1e519d1115f41f71c253cb9e2fbb7803e9a583a9;hp=a060874aab7cf7ba2ed1120a5f5805c56dd3dc65;hpb=2215f4c2b43f9c282f35984182dcd958c8a27ced;p=lyx.git diff --git a/src/RowPainter.cpp b/src/RowPainter.cpp index a060874aab..a486c0e97e 100644 --- a/src/RowPainter.cpp +++ b/src/RowPainter.cpp @@ -432,7 +432,7 @@ void RowPainter::paintLabel() const int const x = row_.isRTL() ? row_.width() + fm.width(layout.labelsep) : row_.left_margin - fm.width(layout.labelsep) - fm.width(str); - pi_.pain.text(xo_ + x, yo_, str, font); + pi_.pain.text(int(xo_) + x, yo_, str, font); } @@ -472,65 +472,9 @@ void RowPainter::paintTopLevelLabel() const } -/** Check if the current paragraph is the last paragraph in a - proof environment */ -static int getEndLabel(pit_type p, Text const & text) -{ - ParagraphList const & pars = text.paragraphs(); - pit_type pit = p; - depth_type par_depth = pars[p].getDepth(); - while (pit != pit_type(pars.size())) { - Layout const & layout = pars[pit].layout(); - int const endlabeltype = layout.endlabeltype; - - if (endlabeltype != END_LABEL_NO_LABEL) { - if (p + 1 == pit_type(pars.size())) - return endlabeltype; - - depth_type const next_depth = - pars[p + 1].getDepth(); - if (par_depth > next_depth || - (par_depth == next_depth && layout != pars[p + 1].layout())) - return endlabeltype; - break; - } - if (par_depth == 0) - break; - pit = text.outerHook(pit); - if (pit != pit_type(pars.size())) - par_depth = pars[pit].getDepth(); - } - return END_LABEL_NO_LABEL; -} - - void RowPainter::paintLast() const { - int const endlabel = getEndLabel(row_.pit(), text_); - - // paint imaginary end-of-paragraph character - - Change const & change = par_.lookupChange(par_.size()); - if (change.changed()) { - FontMetrics const & fm = - theFontMetrics(pi_.base.bv->buffer().params().getFont()); - int const length = fm.maxAscent() / 2; - Color col = change.color(); - - pi_.pain.line(int(x_) + 1, yo_ + 2, int(x_) + 1, yo_ + 2 - length, col, - Painter::line_solid, 3); - - if (change.deleted()) { - pi_.pain.line(int(x_) + 1 - length, yo_ + 2, int(x_) + 1 + length, - yo_ + 2, col, Painter::line_solid, 3); - } else { - pi_.pain.line(int(x_) + 1 - length, yo_ + 2, int(x_) + 1, - yo_ + 2, col, Painter::line_solid, 3); - } - } - - // draw an endlabel - + int const endlabel = text_.getEndLabel(row_.pit()); switch (endlabel) { case END_LABEL_BOX: case END_LABEL_FILLED_BOX: {