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 1.18 1995/05/09 16:02:06 hanord Exp $
**
** Definition of QPaintDevice class
**
** Author  : Haavard Nord
** Created : 940721
**
** Copyright (C) 1994,1995 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
{
friend class QPainter;
friend class QPaintDeviceMetrics;
public:
    virtual ~QPaintDevice();

    int      devType()        const { return devFlags & PDT_MASK; }
    bool     isExtDev()       const { return devFlags & PDF_EXTDEV; }
    bool     paintingActive() const { return (devFlags & PDF_PAINTACTIVE) ==
                                             PDF_PAINTACTIVE; }

#if defined(_WS_WIN_)
    HDC      handle()  const { return hdc; }    // get device context
#elif defined(_WS_PM_)
    HPS      handle()  const { return hps; }    // get presentation space
#elif defined(_WS_X11_)
    Display *display() const { return dpy; }    // get display
    WId      handle()  const { return hd; }     // get drawable
#endif

protected:
    QPaintDevice( uint devflags );
                                
#if defined(_WS_WIN_)
    HDC      hdc;                               // device context
#elif defined(_WS_PM_)
    HPS      hps;                               // presentation space
#elif defined(_WS_X11_)
    Display *dpy;                               // display
    Window   hd;                                // handle to drawable
#endif

    virtual bool cmd( int, QPDevCmdParam * );
    virtual long metric( int ) const;

    uint     devFlags;                          // device flags

    friend void bitBlt( QPaintDevice *, int, int, const QPaintDevice *,
                        int, int, int, int, RasterOp );
};


void bitBlt( QPaintDevice *dst, int dx, int dy,
             const QPaintDevice *src, int sx, int sy, int sw, int sh,
             RasterOp =CopyROP );

inline
void bitBlt( QPaintDevice *dst, const QPoint &dp,
             const QPaintDevice *src, const QRect  &sr,
             RasterOp rop=CopyROP )
{
    bitBlt( dst, dp.x(), dp.y(), src, sr.x(), sr.y(), sr.width(), sr.height(),
            rop );
}


#endif // QPAINTD_H


Generated at 16:17, 1995/06/30 by the webmaster at Troll Tech