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