21 enum PaintDeviceMetric {
33 PdmDevicePixelRatioScaled,
34 PdmDevicePixelRatioF_EncodedA,
35 PdmDevicePixelRatioF_EncodedB,
38 virtual ~QPaintDevice();
40 virtual int devType()
const;
41 bool paintingActive()
const;
42 virtual QPaintEngine *paintEngine()
const = 0;
44 int width()
const {
return metric(PdmWidth); }
45 int height()
const {
return metric(PdmHeight); }
46 int widthMM()
const {
return metric(PdmWidthMM); }
47 int heightMM()
const {
return metric(PdmHeightMM); }
48 int logicalDpiX()
const {
return metric(PdmDpiX); }
49 int logicalDpiY()
const {
return metric(PdmDpiY); }
50 int physicalDpiX()
const {
return metric(PdmPhysicalDpiX); }
51 int physicalDpiY()
const {
return metric(PdmPhysicalDpiY); }
52 qreal devicePixelRatio()
const;
53 qreal devicePixelRatioF()
const {
return devicePixelRatio(); }
54 int colorCount()
const {
return metric(PdmNumColors); }
55 int depth()
const {
return metric(PdmDepth); }
57 static inline qreal devicePixelRatioFScale() {
return 0x10000; }
58 static inline int encodeMetricF(PaintDeviceMetric metric,
double value);
60 QPaintDevice()
noexcept;
61 virtual int metric(PaintDeviceMetric metric)
const;
62 virtual void initPainter(QPainter *painter)
const;
63 virtual QPaintDevice *redirected(QPoint *offset)
const;
64 virtual QPainter *sharedPainter()
const;
65 double getDecodedMetricF(PaintDeviceMetric metricA, PaintDeviceMetric metricB)
const;
69 Q_DISABLE_COPY(QPaintDevice)
71 friend class QPainter;
72 friend class QPainterPrivate;
73 friend class QFontEngineMac;
74 friend class QX11PaintEngine;
75 friend Q_GUI_EXPORT
int qt_paint_device_metric(
const QPaintDevice *device, PaintDeviceMetric metric);