MCPcopy Create free account
hub / github.com/KDE/kdiff3 / paintEvent

Method paintEvent

src/Overview.cpp:280–318  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

278}
279
280void Overview::paintEvent(QPaintEvent*)
281{
282 if(m_pDiff3LineList == nullptr) return;
283 qint32 h = height() - 1;
284 qint32 w = width();
285
286 const auto dpr = devicePixelRatioF();
287 if(m_pixmap.size() != size() * dpr)
288 {
289 m_nofLines = m_pDiff3LineList->numberOfLines(gOptions->wordWrapOn());
290
291 m_pixmap = QPixmap(size() * dpr);
292 m_pixmap.setDevicePixelRatio(dpr);
293
294 QPainter p(&m_pixmap);
295 p.fillRect(rect(), gOptions->backgroundColor());
296
297 if(!KDiff3App::isTripleDiff() || mOverviewMode == e_OverviewMode::eOMNormal)
298 {
299 drawColumn(p, e_OverviewMode::eOMNormal, 0, w, h, m_nofLines);
300 }
301 else
302 {
303 drawColumn(p, e_OverviewMode::eOMNormal, 0, w / 2, h, m_nofLines);
304 drawColumn(p, mOverviewMode, w / 2, w / 2, h, m_nofLines);
305 }
306 }
307
308 QPainter painter(this);
309 painter.drawPixmap(0, 0, m_pixmap);
310 qint32 y1 = 0, h1 = 0;
311 if(m_nofLines > 0)
312 {
313 y1 = h * m_firstLine / m_nofLines - 1;
314 h1 = h * m_pageHeight / m_nofLines + 3;
315 }
316 painter.setPen(Qt::black);
317 painter.drawRect(1, y1, w - 1, h1);
318}

Callers

nothing calls this directly

Calls 6

QPixmapClass · 0.85
numberOfLinesMethod · 0.80
wordWrapOnMethod · 0.80
fillRectMethod · 0.80
setPenMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected