]> git.lyx.org Git - lyx.git/blobdiff - src/rowpainter.C
fix compiler warnings about unused parameter
[lyx.git] / src / rowpainter.C
index 51d448fd6535bda99025a3af0c76873fb0d946b6..2cb5b6311abefe4f6583f6b4b3edc2924fd5e762 100644 (file)
@@ -138,8 +138,6 @@ RowPainter::RowPainter(PainterInfo & pi,
          erased_(pi.erased_),
          xo_(x), yo_(y), width_(text_metrics_.width())
 {
-       Buffer const & buffer = *bv_.buffer();
-       int const right_margin = text_metrics_.rightMargin(pm_);
        RowMetrics m = text_metrics_.computeRowMetrics(pit_, row_);
        x_ = m.x + xo_;
 
@@ -825,20 +823,6 @@ void RowPainter::paintText()
 }
 
 
-size_type calculateRowSignature(Row const & row, Paragraph const & par,
-       int x, int y)
-{
-       boost::crc_32_type crc;
-       for (pos_type i = row.pos(); i < row.endpos(); ++i) {
-               char_type const b[] = { par.getChar(i) };
-               crc.process_bytes(b, 1);
-       }
-       char_type const b[] = { x, y, row.width() };
-       crc.process_bytes(b, 3);
-       return crc.checksum();
-}
-
-
 bool CursorOnRow(PainterInfo & pi, pit_type const pit,
        RowList::const_iterator rit, LyXText const & text)
 {
@@ -901,8 +885,7 @@ void paintPar
                bool tmp = refreshInside;
 
                // Row signature; has row changed since last paint?
-               size_type const row_sig = calculateRowSignature(*rit, par, x, y);
-               bool row_has_changed = pm.rowSignature()[rowno] != row_sig;
+               bool row_has_changed = pm.rowChangeStatus()[rowno];
 
                bool cursor_on_row = CursorOnRow(pi, pit, rit, text);
                bool in_inset_alone_on_row = innerCursorOnRow(pi, pit, rit,
@@ -930,9 +913,6 @@ void paintPar
                // from cache, or cursor is inside an inset _on this row_,
                // then paint the row
                if (repaintAll || row_has_changed || cursor_on_row) {
-                       // Add to row signature cache
-                       pm.rowSignature()[rowno] = row_sig;
-                       
                        bool const inside = (y + rit->descent() >= 0
                                && y - rit->ascent() < ww);
                        // it is not needed to draw on screen if we are not inside.
@@ -997,7 +977,10 @@ void paintText(BufferView & bv,
        
        PainterInfo pi(const_cast<BufferView *>(&bv), pain);
        // Should the whole screen, including insets, be refreshed?
-       bool repaintAll = select || !vi.singlepar;
+       // FIXME: We should also distinguish DecorationUpdate to avoid text
+       // drawing if possible. This is not possible to do easily right now
+       // because of the single backing pixmap.
+       bool repaintAll = select || vi.update_strategy != SingleParUpdate;
 
        if (repaintAll) {
                // Clear background (if not delegated to rows)
@@ -1020,12 +1003,12 @@ void paintText(BufferView & bv,
 
        // and grey out above (should not happen later)
 //     lyxerr << "par ascent: " << text.getPar(vi.p1).ascent() << endl;
-       if (vi.y1 > 0 && !vi.singlepar)
+       if (vi.y1 > 0 && vi.update_strategy != SingleParUpdate)
                pain.fillRectangle(0, 0, bv.workWidth(), vi.y1, LColor::bottomarea);
 
        // and possibly grey out below
 //     lyxerr << "par descent: " << text.getPar(vi.p1).ascent() << endl;
-       if (vi.y2 < bv.workHeight() && !vi.singlepar)
+       if (vi.y2 < bv.workHeight() && vi.update_strategy != SingleParUpdate)
                pain.fillRectangle(0, vi.y2, bv.workWidth(), bv.workHeight() - vi.y2, LColor::bottomarea);
 }