/***************************************************************************
                          qpaintdevicedefs.h  -  description
                             -------------------
    begin                : Wed Mar 8 2000
    copyright            : (C) 2000 by Richard Dale
    email                : Richard_Dale@tipitina.demon.co.uk
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef QPAINTDEVICEDEFS_H
#define QPAINTDEVICEDEFS_H


#include <Foundation/NSString.h>
#include <Foundation/NSArray.h>

#ifndef QT_H
#include "qwindowdefs.h"
#endif // QT_H



// Painter device cmd() identifiers (for programmable, extended devices)

#define PDC_RESERVED_START	0		// codes 0-199 are reserved
#define PDC_RESERVED_STOP	199		//   for Troll Tech

#define PDC_NOP			0		//  <void>
#define PDC_DRAW_FIRST		1
#define PDC_DRAWPOINT		1		// point
#define PDC_MOVETO		2		// point
#define PDC_LINETO		3		// point
#define PDC_DRAWLINE		4		// point,point
#define PDC_DRAWRECT		5		// rect
#define PDC_DRAWROUNDRECT	6		// rect,ival,ival
#define PDC_DRAWELLIPSE		7		// rect
#define PDC_DRAWARC		8		// rect,ival,ival
#define PDC_DRAWPIE		9		// rect,ival,ival
#define PDC_DRAWCHORD		10		// rect,ival,ival
#define PDC_DRAWLINESEGS	11		// ptarr
#define PDC_DRAWPOLYLINE	12		// ptarr
#define PDC_DRAWPOLYGON		13		// ptarr,ival
#define PDC_DRAWQUADBEZIER	14		// ptarr
#define PDC_DRAWTEXT		15		// point,str
#define PDC_DRAWTEXTFRMT	16		// rect,ival,str
#define PDC_DRAWPIXMAP		17		// point,pixmap
#define PDC_DRAWIMAGE		18		// point,image
#define PDC_DRAW_LAST		18
#define PDC_BEGIN		30		//  <void>
#define PDC_END			31		//  <void>
#define PDC_SAVE		32		//  <void>
#define PDC_RESTORE		33		//  <void>
#define PDC_SETDEV		34		// device - PRIVATE
#define PDC_SETBKCOLOR		40		// color
#define PDC_SETBKMODE		41		// ival
#define PDC_SETROP		42		// ival
#define PDC_SETBRUSHORIGIN	43		// point
#define PDC_SETFONT		45		// font
#define PDC_SETPEN		46		// pen
#define PDC_SETBRUSH		47		// brush
#define PDC_SETTABSTOPS		48		// ival
#define PDC_SETTABARRAY		49		// ival,ivec
#define PDC_SETUNIT		50		// ival
#define PDC_SETVXFORM		51		// ival
#define PDC_SETWINDOW		52		// rect
#define PDC_SETVIEWPORT		53		// rect
#define PDC_SETWXFORM		54		// ival
#define PDC_SETWMATRIX		55		// matrix,ival
#define PDC_SETCLIP		60		// ival
#define PDC_SETCLIPRGN		61		// rgn

@class QIODevice;
@class QPoint;
@class QRect;
@class QPixmap;
@class QImage;
@class QColor;
@class QFont;
@class QPen;
@class QBrush;
@class QRegion;
@class QWMatrix;

union QPDevCmdParam {
    int			 ival;
    int			*ivec;
    NSString * str;
    QPoint	*point;
    QRect		*rect;
    NSArray 	*ptarr;
    QPixmap	*pixmap;
    QImage	*image;
    QColor	*color;
    QFont		*font;
    QPen		*pen;
    QBrush	*brush;
    QRegion	*rgn;
    QWMatrix	*matrix;
    QIODevice		*device;
};

// Painter device metric() identifiers (for all devices)

#define PDM_WIDTH		1
#define PDM_HEIGHT		2
#define PDM_WIDTHMM		3
#define PDM_HEIGHTMM		4
#define PDM_NUMCOLORS		5
#define PDM_DEPTH		6


#endif // QPAINTDEVICEDEFS_H

Documentation generated by duke@tipitina on Sat May 6 11:42:52 EDT 2000