123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- #ifndef QPAINTDEVICE_H
- #define QPAINTDEVICE_H
- #include <QtGui/qwindowdefs.h>
- #include <QtCore/qrect.h>
- QT_BEGIN_NAMESPACE
- class QPaintEngine;
- class QPaintDevicePrivate;
- class Q_GUI_EXPORT QPaintDevice // device for QPainter
- {
- public:
- enum PaintDeviceMetric {
- PdmWidth = 1,
- PdmHeight,
- PdmWidthMM,
- PdmHeightMM,
- PdmNumColors,
- PdmDepth,
- PdmDpiX,
- PdmDpiY,
- PdmPhysicalDpiX,
- PdmPhysicalDpiY,
- PdmDevicePixelRatio,
- PdmDevicePixelRatioScaled
- };
- virtual ~QPaintDevice();
- virtual int devType() const;
- bool paintingActive() const;
- virtual QPaintEngine *paintEngine() const = 0;
- int width() const { return metric(PdmWidth); }
- int height() const { return metric(PdmHeight); }
- int widthMM() const { return metric(PdmWidthMM); }
- int heightMM() const { return metric(PdmHeightMM); }
- int logicalDpiX() const { return metric(PdmDpiX); }
- int logicalDpiY() const { return metric(PdmDpiY); }
- int physicalDpiX() const { return metric(PdmPhysicalDpiX); }
- int physicalDpiY() const { return metric(PdmPhysicalDpiY); }
- int devicePixelRatio() const { return metric(PdmDevicePixelRatio); }
- qreal devicePixelRatioF() const { return metric(PdmDevicePixelRatioScaled) / devicePixelRatioFScale(); }
- int colorCount() const { return metric(PdmNumColors); }
- int depth() const { return metric(PdmDepth); }
- static inline qreal devicePixelRatioFScale() { return 0x10000; }
- protected:
- QPaintDevice() Q_DECL_NOEXCEPT;
- virtual int metric(PaintDeviceMetric metric) const;
- virtual void initPainter(QPainter *painter) const;
- virtual QPaintDevice *redirected(QPoint *offset) const;
- virtual QPainter *sharedPainter() const;
- ushort painters;
- private:
- Q_DISABLE_COPY(QPaintDevice)
- QPaintDevicePrivate *reserved;
- friend class QPainter;
- friend class QPainterPrivate;
- friend class QFontEngineMac;
- friend class QX11PaintEngine;
- friend Q_GUI_EXPORT int qt_paint_device_metric(const QPaintDevice *device, PaintDeviceMetric metric);
- };
- inline int QPaintDevice::devType() const
- { return QInternal::UnknownDevice; }
- inline bool QPaintDevice::paintingActive() const
- { return painters != 0; }
- QT_END_NAMESPACE
- #endif
|