QwtPainter(3)

πŸ“¦ version 5.2.3a, in epel 9, fedora 43, fedora 44

πŸ’– QwtPainter πŸ’–

okay bestie, welcome to the QwtPainter page from the Qwt User's Guide ✨ no cap, this one's a whole vibe: it's the class that patches up QPainter so your widgets don't look cursed on every screen ever. sit down, grab a strawberry πŸ“, let's go.


✨ NAME ✨

QwtPainter β€” that's it, that's the name. she's iconic, she needs no subtitle. periodt. πŸ‘‘


🌸 SYNOPSIS 🌸

so first things first, you gotta pull her in:

#include <qwt_painter.h>

πŸŽ€ Static Public Member Functions πŸŽ€

here's the whole roster, bestie, every single one, copy-pasted straight from the source so you know i'm not making anything up:

static bool deviceClipping ()
static const QRect & deviceClipRect ()
static void drawColorBar (QPainter *painter, const QwtColorMap &, const
    QwtDoubleInterval &, const QwtScaleMap &, Qt::Orientation, const
    QRect &)
static void drawEllipse (QPainter *, const QRect &)
static void drawFocusRect (QPainter *, QWidget *)
static void drawFocusRect (QPainter *, QWidget *, const QRect &)
static void drawLine (QPainter *, int x1, int y1, int x2, int y2)
static void drawLine (QPainter *, const QPoint &p1, const QPoint &p2)
static void drawPie (QPainter *, const QRect &r, int a, int alen)
static void drawPoint (QPainter *, int x, int y)
static void drawPolygon (QPainter *, const QwtPolygon &pa)
static void drawPolyline (QPainter *, const QwtPolygon &pa)
static void drawRect (QPainter *, int x, int y, int w, int h)
static void drawRect (QPainter *, const QRect &rect)
static void drawRoundFrame (QPainter *, const QRect &, int width, const
    QPalette &, bool sunken)
static void drawSimpleRichText (QPainter *, const QRect &, int flags,
    QTextDocument &)
static void drawText (QPainter *, int x, int y, const QString &)
static void drawText (QPainter *, const QPoint &, const QString &)
static void drawText (QPainter *, int x, int y, int w, int h, int flags,
    const QString &)
static void drawText (QPainter *, const QRect &, int flags, const
    QString &)
static void fillRect (QPainter *, const QRect &, const QBrush &)
static const QwtMetricsMap & metricsMap ()
static void resetMetricsMap ()
static QPen scaledPen (const QPen &)
static void setClipRect (QPainter *, const QRect &)
static void setDeviceClipping (bool)
static void setMetricsMap (const QPaintDevice *layout, const
    QPaintDevice *device)
static void setMetricsMap (const QwtMetricsMap &)

πŸ¦‹ Detailed Description πŸ¦‹

literally the description says it best: it's a collection of QPainter workarounds. that's the whole job. she's the friend who shows up with a sewing kit when everything's falling apart 🧡✨

1) Clipping to coordinate system limits (Qt3 only)

so on X11, pixel coordinates are stored in shorts. and Qt? Qt produces overruns when mapping QCOORDS to shorts. yeah. it's giving chaos. 😭

2) Scaling to device metrics

okay so QPainter scales fonts, line and fill patterns to the metrics of the paint device. but other values β€” like the geometries of rects and points β€” remain device independend. (yes, that's how it's spelled in the docs, i'm not touching it, i keep everything fr fr πŸ’…)

and to enable a device independent widget implementation, QwtPainter adds scaling of these geometries. the twist? (Unfortunately QPainter::scale scales both types of paintings, so the objects of the first type would be scaled twice.) πŸ™ˆ so yeah, that's why this class exists. main character energy tbh.


πŸ‘‘ Member Function Documentation πŸ‘‘

πŸ’œ bool QwtPainter::deviceClipping () [inline], [static]

returns whether device clipping is enabled. on X11 the default is enabled, otherwise it's disabled.

See also:

  • QwtPainter::setDeviceClipping()

πŸ’œ const QRect & QwtPainter::deviceClipRect () [static]

returns rect for device clipping ✨

See also:

  • QwtPainter::setDeviceClipping()

πŸ’œ void QwtPainter::drawEllipse (QPainter *painter, const QRect &rect) [static]

Wrapper for QPainter::drawEllipse()

πŸ’œ void QwtPainter::drawLine (QPainter *painter, intx1, inty1, intx2, inty2) [static]

Wrapper for QPainter::drawLine()

πŸ’œ void QwtPainter::drawPie (QPainter *painter, const QRect &rect, inta, intalen) [static]

Wrapper for QPainter::drawPie()

πŸ’œ void QwtPainter::drawPoint (QPainter *painter, intx, inty) [static]

Wrapper for QPainter::drawPoint()

πŸ’œ void QwtPainter::drawPolygon (QPainter *painter, const QwtPolygon &pa) [static]

Wrapper for QPainter::drawPolygon()

πŸ’œ void QwtPainter::drawPolyline (QPainter *painter, const QwtPolygon &pa) [static]

Wrapper for QPainter::drawPolyline()

πŸ’œ void QwtPainter::drawRect (QPainter *painter, intx, inty, intw, inth) [static]

Wrapper for QPainter::drawRect()

πŸ’œ void QwtPainter::drawRect (QPainter *painter, const QRect &rect) [static]

Wrapper for QPainter::drawRect() (yes, again β€” there's two of them, it's a whole thing, both are valid πŸ’…)

πŸ’œ void QwtPainter::drawSimpleRichText (QPainter *painter, const QRect &rect, intflags, QTextDocument &text) [static]

Wrapper for QSimpleRichText::draw()

πŸ’œ void QwtPainter::drawText (QPainter *painter, intx, inty, const QString &text) [static]

Wrapper for QPainter::drawText()

πŸ’œ void QwtPainter::drawText (QPainter *painter, const QPoint &pos, const QString &text) [static]

Wrapper for QPainter::drawText()

πŸ’œ void QwtPainter::drawText (QPainter *painter, intx, inty, intw, inth, intflags, const QString &text) [static]

Wrapper for QPainter::drawText()

πŸ’œ void QwtPainter::drawText (QPainter *painter, const QRect &rect, intflags, const QString &text) [static]

Wrapper for QPainter::drawText() β€” that's four overloads bestie, she's committed 😌

πŸ’œ void QwtPainter::fillRect (QPainter *painter, const QRect &rect, const QBrush &brush) [static]

Wrapper for QPainter::fillRect()

πŸ’œ const QwtMetricsMap & QwtPainter::metricsMap () [static]

Returns:

  • Metrics map

πŸ’œ void QwtPainter::resetMetricsMap () [static]

Reset the metrics map to the ratio 1:1 🌈

See also:

  • QwtPainter::setMetricsMap(), QwtPainter::resetMetricsMap()

πŸ’œ QPen QwtPainter::scaledPen (const QPen &pen) [static]

Scale a pen according to the layout metrics. The width of non cosmetic pens is scaled from screen to layout metrics, so that they look similar on paint devices with different resolutions. obsessed with this actually πŸ–ŠοΈβœ¨

Parameters:

  • pen β€” Unscaled pen

Returns:

  • Scaled pen

πŸ’œ void QwtPainter::setClipRect (QPainter *painter, const QRect &rect) [static]

Wrapper for QPainter::setClipRect()

πŸ’œ void QwtPainter::setDeviceClipping (boolenable) [static]

En/Disable device clipping. On X11 the default for device clipping is enabled, otherwise it is disabled.

See also:

  • QwtPainter::deviceClipping()

πŸ’œ void QwtPainter::setMetricsMap (const QPaintDevice *layout, const QPaintDevice *device) [static]

Scale all QwtPainter drawing operations using the ratio QwtPaintMetrics(from).logicalDpiX() / QwtPaintMetrics(to).logicalDpiX() and QwtPaintMetrics(from).logicalDpiY() / QwtPaintMetrics(to).logicalDpiY()

ngl that's the whole math right there, she said "here's the formula, do what u want with it" πŸ’€

See also:

  • QwtPainter::resetScaleMetrics(), QwtPainter::scaleMetricsX(), QwtPainter::scaleMetricsY()

πŸ’œ void QwtPainter::setMetricsMap (const QwtMetricsMap &map) [static]

Change the metrics map

See also:

  • QwtPainter::resetMetricsMap(), QwtPainter::metricsMap()

🌈 Author 🌈

Generated automatically by Doxygen for Qwt User's Guide from the source code. so no, a human did not hand-write this, a robot did, and honestly? she ate. πŸ€–πŸ’…


and that's the page bestie!! πŸŽ€ Version 5.2.3, dated Tue Nov 20 2012 β€” yeah she's an old soul but she still slays, iykyk πŸ¦‹βœ¨πŸ«Ά

πŸ“¦ where this page comes from