This is the verbatim text of the qpaintd.h include file. It is is provided only for illustration; the copyright remains with Troll Tech.
/****************************************************************************
** $Id: qpaintd.h,v 2.0 1996/09/24 10:15:54 agulbra Exp $
**
** Definition of QPaintDevice class
**
** Created : 940721
**
** Copyright (C) 1994-1996 by Troll Tech AS. All rights reserved.
**
*****************************************************************************/
#ifndef QPAINTD_H
#define QPAINTD_H
#include "qwindefs.h"
#include "qrect.h"
// Painter device types (is-A)
#define PDT_UNDEF 0x00
#define PDT_WIDGET 0x01
#define PDT_PIXMAP 0x02
#define PDT_PRINTER 0x03
#define PDT_PICTURE 0x04
#define PDT_MASK 0x0f
// Painter device flags
#define PDF_EXTDEV 0x10
#define PDF_PAINTACTIVE 0x20
// Painter device command param (defined in qpaintdc.h)
union QPDevCmdParam;
class QPaintDevice // device for QPainter
{
public:
virtual ~QPaintDevice();
int devType() const;
bool isExtDev() const;
bool paintingActive() const;
// Windows: get device context
// OS/2 PM: get presentation space
// X-Windows: get drawable
HANDLE handle() const;
#if !defined(_WS_X11_)
#define Display void
#endif
Display *x11Display() const; // X-Windows only
protected:
QPaintDevice( uint devflags );
#if defined(_WS_WIN_)
HDC hdc; // device context
#elif defined(_WS_PM_)
HPS hps; // presentation space
#elif defined(_WS_X11_)
static Display *dpy; // display (common to all)
HANDLE hd; // handle to drawable
#endif
virtual bool cmd( int, QPainter *, QPDevCmdParam * );
virtual int metric( int ) const;
virtual int fontMet( QFont *, int, const char * = 0, int = 0 ) const;
virtual int fontInf( QFont *, int ) const;
uint devFlags; // device flags
friend class QPainter;
friend class QPaintDeviceMetrics;
friend void bitBlt( QPaintDevice *, int, int, const QPaintDevice *,
int, int, int, int, RasterOp, bool );
private: // Disabled copy constructor and operator=
QPaintDevice( const QPaintDevice & ) {}
QPaintDevice &operator=( const QPaintDevice & ) { return *this; }
};
void bitBlt( QPaintDevice *dst, int dx, int dy,
const QPaintDevice *src, int sx=0, int sy=0, int sw=-1, int sh=-1,
RasterOp = CopyROP, bool ignoreMask=FALSE );
/*****************************************************************************
Inline functions
*****************************************************************************/
inline int QPaintDevice::devType() const
{ return devFlags & PDT_MASK; }
inline bool QPaintDevice::isExtDev() const
{ return (devFlags & PDF_EXTDEV) != 0; }
inline bool QPaintDevice::paintingActive() const
{ return (devFlags & PDF_PAINTACTIVE) != 0; }
#if defined(_WS_WIN_)
inline HANDLE QPaintDevice::handle() const { return hdc; }
#elif defined(_WS_PM_)
inline HANDLE QPaintDevice::handle() const { return hps; }
#elif defined(_WS_X11_)
inline HANDLE QPaintDevice::handle() const { return hd; }
#endif
#if defined(_WS_X11_)
inline Display *QPaintDevice::x11Display() const { return dpy; }
#else
inline Display *QPaintDevice::x11Display() const { return 0; }
#undef Display
#endif
inline void bitBlt( QPaintDevice *dst, const QPoint &dp,
const QPaintDevice *src, const QRect &sr =QRect(0,0,-1,-1),
RasterOp rop=CopyROP, bool ignoreMask=FALSE )
{
bitBlt( dst, dp.x(), dp.y(), src, sr.x(), sr.y(), sr.width(), sr.height(),
rop, ignoreMask );
}
#endif // QPAINTD_H