X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FRowPainter.cpp;h=13c3be01963ddd6d719f2aced45670e052534817;hb=66c5d055e776e0cd08fb35c164b49d9ccc7812b7;hp=b05b143fb481e2a00b2214b6bcc3eebd75612847;hpb=621c908f85650cc086b1d155062885eba016d1fa;p=lyx.git diff --git a/src/RowPainter.cpp b/src/RowPainter.cpp index b05b143fb4..13c3be0196 100644 --- a/src/RowPainter.cpp +++ b/src/RowPainter.cpp @@ -10,6 +10,7 @@ */ #include + #include #include "RowPainter.h" @@ -26,25 +27,18 @@ #include "Row.h" #include "MetricsInfo.h" #include "Paragraph.h" +#include "ParagraphList.h" #include "ParagraphParameters.h" +#include "Text.h" #include "TextMetrics.h" -#include "VSpace.h" #include "frontends/FontMetrics.h" #include "frontends/Painter.h" -#include "insets/InsetText.h" - -#include "mathed/InsetMath.h" - #include "support/debug.h" #include "support/gettext.h" -#include "support/textutils.h" - #include "support/lassert.h" -#include -#include using namespace std; @@ -58,9 +52,7 @@ RowPainter::RowPainter(PainterInfo & pi, Text const & text, Row const & row, int x, int y) : pi_(pi), text_(text), tm_(pi_.base.bv->textMetrics(&text)), - pars_(text.paragraphs()), row_(row), par_(text.paragraphs()[row.pit()]), - change_(pi_.change_), xo_(x), yo_(y) { x_ = row_.left_margin + xo_; @@ -103,12 +95,12 @@ void RowPainter::paintInset(Row::Element const & e) const // requires a full repaint bool const pi_full_repaint = pi_.full_repaint; bool const pi_do_spellcheck = pi_.do_spellcheck; - Change const pi_change = pi_.change_; + Change const pi_change = pi_.change; pi_.base.font = e.inset->inheritFont() ? e.font.fontInfo() : pi_.base.bv->buffer().params().getFont().fontInfo(); pi_.ltr_pos = !e.font.isVisibleRightToLeft(); - pi_.change_ = change_.changed() ? change_ : e.change; + pi_.change = pi_.change.changed() ? pi_.change : e.change; pi_.do_spellcheck &= e.inset->allowSpellCheck(); int const x1 = int(x_); @@ -123,7 +115,7 @@ void RowPainter::paintInset(Row::Element const & e) const // Restore full_repaint status. pi_.full_repaint = pi_full_repaint; - pi_.change_ = pi_change; + pi_.change = pi_change; pi_.do_spellcheck = pi_do_spellcheck; pi_.selected = pi_selected; @@ -293,11 +285,7 @@ void RowPainter::paintChange(Row::Element const & e) const void RowPainter::paintChangeBar() const { - int const height = tm_.isLastRow(row_) - ? row_.ascent() - : row_.height(); - - pi_.pain.fillRectangle(5, yo_ - row_.ascent(), 3, height, Color_changebar); + pi_.pain.fillRectangle(5, yo_ - row_.ascent(), 3, row_.height(), Color_changebar); } @@ -320,6 +308,7 @@ void RowPainter::paintAppendix() const void RowPainter::paintDepthBar() const { depth_type const depth = par_.getDepth(); + ParagraphList const & pars = text_.paragraphs(); if (depth <= 0) return; @@ -329,15 +318,15 @@ void RowPainter::paintDepthBar() const pit_type pit2 = row_.pit(); if (row_.pos() == 0) --pit2; - prev_depth = pars_[pit2].getDepth(); + prev_depth = pars[pit2].getDepth(); } depth_type next_depth = 0; if (!tm_.isLastRow(row_)) { pit_type pit2 = row_.pit(); - if (row_.endpos() >= pars_[pit2].size()) + if (row_.endpos() >= pars[pit2].size()) ++pit2; - next_depth = pars_[pit2].getDepth(); + next_depth = pars[pit2].getDepth(); } for (depth_type i = 1; i <= depth; ++i) {