From 5c4d89d81679a794613d375d936fd4701ecfd1ad Mon Sep 17 00:00:00 2001 From: Abdelrazak Younes Date: Sun, 11 Jun 2006 21:22:36 +0000 Subject: [PATCH] Simple optimisation: reuse current QPainter if no there's no change in settings. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14078 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/qt4/QLPainter.C | 7 +++++++ src/frontends/qt4/QLPainter.h | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/src/frontends/qt4/QLPainter.C b/src/frontends/qt4/QLPainter.C index 8c19e0766c..1e4dfeed13 100644 --- a/src/frontends/qt4/QLPainter.C +++ b/src/frontends/qt4/QLPainter.C @@ -58,6 +58,13 @@ int QLPainter::paperHeight() const QPainter & QLPainter::setQPainterPen(QPainter & qp, LColor_color c, Painter::line_style ls, Painter::line_width lw) { + if (c == current_color_ && ls == current_ls_ && lw == current_lw_) + return qp; + + current_color_ = c; + current_ls_ = ls; + current_lw_ = lw; + QPen pen = qp.pen(); pen.setColor(lcolorcache.get(c)); diff --git a/src/frontends/qt4/QLPainter.h b/src/frontends/qt4/QLPainter.h index 707fb77468..a7462b6d1d 100644 --- a/src/frontends/qt4/QLPainter.h +++ b/src/frontends/qt4/QLPainter.h @@ -147,6 +147,10 @@ private: /// the working area QWorkArea * qwa_; + + LColor::color current_color_; + Painter::line_style current_ls_; + Painter::line_width current_lw_; }; #endif // QLPAINTER_H