mirror of
https://github.com/ctm/executor.git
synced 2026-03-11 10:41:53 +00:00
671 lines
23 KiB
C
671 lines
23 KiB
C
#if !defined (_QUICKDRAW_H_)
|
|
#define _QUICKDRAW_H_
|
|
|
|
/*
|
|
* Copyright 1986 - 2000 by Abacus Research and Development, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* $Id: QuickDraw.h 63 2004-12-24 18:19:43Z ctm $
|
|
*/
|
|
|
|
|
|
enum { grafSize = 206 }; /* number of bytes InitGraf needs */
|
|
|
|
#define srcCopy 0
|
|
#define srcOr 1
|
|
#define srcXor 2
|
|
#define srcBic 3
|
|
#define notSrcCopy 4
|
|
#define notSrcOr 5
|
|
#define notSrcXor 6
|
|
#define notSrcBic 7
|
|
|
|
#define patCopy 8
|
|
#define patOr 9
|
|
#define patXor 10
|
|
#define patBic 11
|
|
#define notPatCopy 12
|
|
#define notPatOr 13
|
|
#define notPatXor 14
|
|
#define notPatBic 15
|
|
|
|
#define grayishTextOr 49
|
|
|
|
#define hilite 50
|
|
|
|
#define blackColor 33
|
|
#define whiteColor 30
|
|
#define redColor 205
|
|
#define greenColor 341
|
|
#define blueColor 409
|
|
#define cyanColor 273
|
|
#define magentaColor 137
|
|
#define yellowColor 69
|
|
|
|
#define picLParen 0
|
|
#define picRParen 1
|
|
|
|
typedef enum { bold=1, italic=2, underline=4, outline=8,
|
|
shadow=16, condense=32, extend=64 } StyleItem;
|
|
|
|
#if 0
|
|
/*
|
|
* The enum doesn't suffice since some compilers will complain if you
|
|
* try do bitwise arithmetic with the members of an enum
|
|
*
|
|
* Unfortunately, we can't do the #defines below because there are structures
|
|
* that have fields named "bold".
|
|
*/
|
|
|
|
#define bold 1
|
|
#define italic 2
|
|
#define underline 4
|
|
#define outline 8
|
|
#define shadow 16
|
|
#define condense 32
|
|
#define extend 64
|
|
#endif /* 0 */
|
|
|
|
typedef SignedByte Style;
|
|
|
|
typedef struct {
|
|
INTEGER rgnSize PACKED;
|
|
Rect rgnBBox LPACKED;
|
|
} Region;
|
|
|
|
typedef Region *RgnPtr;
|
|
typedef struct { RgnPtr p PACKED_P; } HIDDEN_RgnPtr;
|
|
typedef HIDDEN_RgnPtr *RgnHandle;
|
|
typedef struct { RgnHandle p PACKED_P; } HIDDEN_RgnHandle;
|
|
|
|
typedef struct {
|
|
Ptr baseAddr PACKED_P;
|
|
INTEGER rowBytes PACKED;
|
|
Rect bounds LPACKED;
|
|
} BitMap;
|
|
|
|
typedef Byte Pattern[8];
|
|
typedef INTEGER Bits16[16];
|
|
|
|
typedef struct {
|
|
Bits16 data PACKED;
|
|
Bits16 mask PACKED;
|
|
Point hotSpot LPACKED;
|
|
} Cursor;
|
|
|
|
typedef Cursor *CursPtr;
|
|
typedef struct { CursPtr p PACKED_P; } HIDDEN_CursPtr;
|
|
typedef HIDDEN_CursPtr *CursHandle;
|
|
|
|
typedef SignedByte GrafVerb;
|
|
#define frame 0
|
|
#define paint 1
|
|
#define erase 2
|
|
#define invert 3
|
|
#define fill 4
|
|
|
|
typedef struct {
|
|
INTEGER polySize PACKED;
|
|
Rect polyBBox LPACKED;
|
|
Point polyPoints[1] LPACKED;
|
|
} Polygon;
|
|
|
|
typedef Polygon *PolyPtr;
|
|
typedef struct { PolyPtr p PACKED_P; } HIDDEN_PolyPtr;
|
|
typedef HIDDEN_PolyPtr *PolyHandle;
|
|
|
|
typedef struct {
|
|
INTEGER ascent PACKED;
|
|
INTEGER descent PACKED;
|
|
INTEGER widMax PACKED;
|
|
INTEGER leading PACKED;
|
|
} FontInfo;
|
|
|
|
typedef struct {
|
|
pascal trap void (*textProc)(INTEGER bc, Ptr textb, Point num, Point den) PACKED_P;
|
|
pascal trap void (*lineProc)(Point drawto) PACKED_P;
|
|
pascal trap void (*rectProc)(GrafVerb verb, Rect *rp) PACKED_P;
|
|
pascal trap void (*rRectProc)(GrafVerb verb, Rect *rp, INTEGER ow,
|
|
INTEGER oh) PACKED_P;
|
|
pascal trap void (*ovalProc)(GrafVerb verb, Rect *rp) PACKED_P;
|
|
pascal trap void (*arcProc)(GrafVerb verb, Rect *rp, INTEGER ang,
|
|
INTEGER arc) PACKED_P;
|
|
pascal trap void (*polyProc)(GrafVerb verb, PolyHandle poly) PACKED_P;
|
|
pascal trap void (*rgnProc)(GrafVerb verb, RgnHandle rgn) PACKED_P;
|
|
pascal trap void (*bitsProc)(BitMap *srcb, Rect *srcr, Rect *dstr,
|
|
INTEGER mod, RgnHandle mask) PACKED_P;
|
|
pascal trap void (*commentProc)(INTEGER kind, INTEGER size, Handle data) PACKED_P;
|
|
pascal trap INTEGER (*txMeasProc)(INTEGER bc, Ptr texta, Point *numer,
|
|
Point *denom, FontInfo *info) PACKED_P;
|
|
pascal trap void (*getPicProc)(Ptr data, INTEGER bc) PACKED_P;
|
|
pascal trap void (*putPicProc)(Ptr data, INTEGER bc) PACKED_P;
|
|
} QDProcs;
|
|
|
|
typedef QDProcs *QDProcsPtr;
|
|
|
|
typedef struct {
|
|
INTEGER device PACKED;
|
|
BitMap portBits LPACKED;
|
|
Rect portRect LPACKED;
|
|
RgnHandle visRgn PACKED_P;
|
|
RgnHandle clipRgn PACKED_P;
|
|
Pattern bkPat LPACKED;
|
|
Pattern fillPat LPACKED;
|
|
Point pnLoc LPACKED;
|
|
Point pnSize LPACKED;
|
|
INTEGER pnMode PACKED;
|
|
Pattern pnPat LPACKED;
|
|
INTEGER pnVis PACKED;
|
|
INTEGER txFont PACKED;
|
|
Style txFace LPACKED;
|
|
Byte filler LPACKED;
|
|
INTEGER txMode PACKED;
|
|
INTEGER txSize PACKED;
|
|
Fixed spExtra PACKED;
|
|
LONGINT fgColor PACKED;
|
|
LONGINT bkColor PACKED;
|
|
INTEGER colrBit PACKED;
|
|
INTEGER patStretch PACKED;
|
|
Handle picSave PACKED_P;
|
|
Handle rgnSave PACKED_P;
|
|
Handle polySave PACKED_P;
|
|
QDProcsPtr grafProcs PACKED_P;
|
|
} GrafPort;
|
|
|
|
typedef GrafPort *GrafPtr;
|
|
typedef struct { GrafPtr p PACKED_P; } HIDDEN_GrafPtr;
|
|
|
|
typedef struct {
|
|
INTEGER picSize PACKED;
|
|
Rect picFrame LPACKED;
|
|
} Picture;
|
|
|
|
typedef Picture *PicPtr;
|
|
typedef struct { PicPtr p PACKED_P; } HIDDEN_PicPtr;
|
|
typedef HIDDEN_PicPtr *PicHandle;
|
|
|
|
typedef struct {
|
|
Point pnLoc LPACKED;
|
|
Point pnSize LPACKED;
|
|
INTEGER pnMode PACKED;
|
|
Pattern pnPat LPACKED;
|
|
} PenState;
|
|
|
|
/* IMV stuff is used when we parse Version 2 pictures, but the IMV calls
|
|
are not supported in V1.0 */
|
|
|
|
typedef enum { blend=32, addPin, addOver, subPin,
|
|
transparent, adMax, subOver, adMin,
|
|
mask=64 } colormodes;
|
|
|
|
#define pHiliteBit 0
|
|
|
|
#define defQDColors 127
|
|
|
|
typedef struct {
|
|
unsigned short red PACKED;
|
|
unsigned short green PACKED;
|
|
unsigned short blue PACKED;
|
|
} RGBColor;
|
|
|
|
typedef struct {
|
|
SmallFract hue PACKED;
|
|
SmallFract saturation PACKED;
|
|
SmallFract value PACKED;
|
|
} HSVColor;
|
|
|
|
typedef struct {
|
|
SmallFract hue PACKED;
|
|
SmallFract saturation PACKED;
|
|
SmallFract lightness PACKED;
|
|
} HSLColor;
|
|
|
|
typedef struct {
|
|
SmallFract cyan PACKED;
|
|
SmallFract magenta PACKED;
|
|
SmallFract yellow PACKED;
|
|
} CMYColor;
|
|
|
|
typedef struct ColorSpec
|
|
{
|
|
INTEGER value PACKED;
|
|
RGBColor rgb LPACKED;
|
|
} ColorSpec;
|
|
|
|
typedef ColorSpec cSpecArray[1]; /* can't use 0 */
|
|
|
|
typedef struct {
|
|
LONGINT ctSeed PACKED;
|
|
unsigned short ctFlags PACKED;
|
|
INTEGER ctSize PACKED;
|
|
cSpecArray ctTable LPACKED;
|
|
} ColorTable, *CTabPtr;
|
|
|
|
typedef struct { CTabPtr p PACKED_P; } HIDDEN_CTabPtr;
|
|
typedef HIDDEN_CTabPtr *CTabHandle;
|
|
typedef struct { CTabHandle p PACKED_P; } HIDDEN_CTabHandle;
|
|
|
|
typedef struct {
|
|
Ptr textProc PACKED_P;
|
|
Ptr lineProc PACKED_P;
|
|
Ptr rectProc PACKED_P;
|
|
Ptr rRectProc PACKED_P;
|
|
Ptr ovalProc PACKED_P;
|
|
Ptr arcProc PACKED_P;
|
|
Ptr polyProc PACKED_P;
|
|
Ptr rgnProc PACKED_P;
|
|
Ptr bitsProc PACKED_P;
|
|
Ptr commentProc PACKED_P;
|
|
Ptr txMeasProc PACKED_P;
|
|
Ptr getPicProc PACKED_P;
|
|
Ptr putPicProc PACKED_P;
|
|
Ptr opcodeProc PACKED_P;
|
|
Ptr newProc1Proc PACKED_P;
|
|
Ptr newProc2Proc PACKED_P;
|
|
Ptr newProc3Proc PACKED_P;
|
|
Ptr newProc4Proc PACKED_P;
|
|
Ptr newProc5Proc PACKED_P;
|
|
Ptr newProc6Proc PACKED_P;
|
|
} CQDProcs, *CQDProcsPtr;
|
|
|
|
typedef struct {
|
|
Ptr baseAddr PACKED_P;
|
|
INTEGER rowBytes PACKED;
|
|
Rect bounds LPACKED;
|
|
INTEGER pmVersion PACKED;
|
|
INTEGER packType PACKED;
|
|
LONGINT packSize PACKED;
|
|
Fixed hRes PACKED;
|
|
Fixed vRes PACKED;
|
|
INTEGER pixelType PACKED;
|
|
INTEGER pixelSize PACKED;
|
|
INTEGER cmpCount PACKED;
|
|
INTEGER cmpSize PACKED;
|
|
LONGINT planeBytes PACKED;
|
|
CTabHandle pmTable PACKED_P;
|
|
LONGINT pmReserved PACKED;
|
|
} PixMap, *PixMapPtr;
|
|
typedef struct { PixMapPtr p PACKED_P; } HIDDEN_PixMapPtr;
|
|
typedef HIDDEN_PixMapPtr *PixMapHandle;
|
|
typedef struct { PixMapHandle p PACKED_P; } HIDDEN_PixMapHandle;
|
|
|
|
enum pixmap_pixel_types
|
|
{
|
|
chunky_pixel_type,
|
|
chunky_planar_pixel_type,
|
|
planar_pixel_type,
|
|
};
|
|
|
|
#define ROWMASK 0x1FFF
|
|
|
|
typedef struct {
|
|
INTEGER patType PACKED;
|
|
PixMapHandle patMap PACKED_P;
|
|
Handle patData PACKED_P;
|
|
Handle patXData PACKED_P;
|
|
INTEGER patXValid PACKED;
|
|
Handle patXMap PACKED_P;
|
|
Pattern pat1Data LPACKED;
|
|
} PixPat, *PixPatPtr;
|
|
typedef struct { PixPatPtr p PACKED_P; } HIDDEN_PixPatPtr;
|
|
typedef HIDDEN_PixPatPtr *PixPatHandle;
|
|
typedef struct { PixPatHandle p PACKED_P; } HIDDEN_PixPatHandle;
|
|
|
|
typedef struct {
|
|
INTEGER device PACKED;
|
|
PixMapHandle portPixMap PACKED_P;
|
|
INTEGER portVersion PACKED;
|
|
Handle grafVars PACKED_P;
|
|
INTEGER chExtra PACKED;
|
|
INTEGER pnLocHFrac PACKED;
|
|
Rect portRect LPACKED;
|
|
RgnHandle visRgn PACKED_P;
|
|
RgnHandle clipRgn PACKED_P;
|
|
PixPatHandle bkPixPat PACKED_P;
|
|
RGBColor rgbFgColor LPACKED;
|
|
RGBColor rgbBkColor LPACKED;
|
|
Point pnLoc LPACKED;
|
|
Point pnSize LPACKED;
|
|
INTEGER pnMode PACKED;
|
|
PixPatHandle pnPixPat PACKED_P;
|
|
PixPatHandle fillPixPat PACKED_P;
|
|
INTEGER pnVis PACKED;
|
|
INTEGER txFont PACKED;
|
|
Style txFace LPACKED;
|
|
Byte filler LPACKED;
|
|
INTEGER txMode PACKED;
|
|
INTEGER txSize PACKED;
|
|
Fixed spExtra PACKED;
|
|
LONGINT fgColor PACKED;
|
|
LONGINT bkColor PACKED;
|
|
INTEGER colrBit PACKED;
|
|
INTEGER patStretch PACKED;
|
|
Handle picSave PACKED_P;
|
|
Handle rgnSave PACKED_P;
|
|
Handle polySave PACKED_P;
|
|
CQDProcsPtr grafProcs PACKED_P;
|
|
} CGrafPort, *CGrafPtr;
|
|
|
|
typedef struct { CGrafPtr p PACKED_P; } HIDDEN_CGrafPtr;
|
|
|
|
typedef struct {
|
|
INTEGER crsrType PACKED;
|
|
PixMapHandle crsrMap PACKED_P;
|
|
Handle crsrData PACKED_P;
|
|
Handle crsrXData PACKED_P;
|
|
INTEGER crsrXValid PACKED;
|
|
Handle crsrXHandle PACKED_P;
|
|
Bits16 crsr1Data PACKED;
|
|
Bits16 crsrMask PACKED;
|
|
Point crsrHotSpot LPACKED;
|
|
LONGINT crsrXTable PACKED;
|
|
LONGINT crsrID PACKED;
|
|
} CCrsr, *CCrsrPtr;
|
|
typedef struct { CCrsrPtr p PACKED_P; } HIDDEN_CCrsrPtr;
|
|
typedef HIDDEN_CCrsrPtr *CCrsrHandle;
|
|
|
|
typedef struct {
|
|
uint16 red PACKED;
|
|
uint16 green PACKED;
|
|
uint16 blue PACKED;
|
|
int32 matchData PACKED;
|
|
} MatchRec;
|
|
|
|
typedef struct { HIDDEN_GrafPtr *p PACKED_P; } HIDDEN_GrafPtr_Ptr;
|
|
typedef struct { Byte *p PACKED_P; } HIDDEN_BytePtr;
|
|
|
|
#define thePort (STARH(STARH((HIDDEN_GrafPtr_Ptr *) (long) SYN68K_TO_US(a5))))
|
|
#define thePortX ((*STARH((HIDDEN_GrafPtr_Ptr *) (long) SYN68K_TO_US(a5))).p)
|
|
#define white (STARH((HIDDEN_BytePtr *)(long) SYN68K_TO_US(a5)) -8)
|
|
#define black (STARH((HIDDEN_BytePtr *)(long) SYN68K_TO_US(a5)) -16)
|
|
#define gray (STARH((HIDDEN_BytePtr *)(long) SYN68K_TO_US(a5)) -24)
|
|
#define ltGray (STARH((HIDDEN_BytePtr *)(long) SYN68K_TO_US(a5)) -32)
|
|
#define dkGray (STARH((HIDDEN_BytePtr *)(long) SYN68K_TO_US(a5)) -40)
|
|
#define arrowX (* (Cursor *) (STARH((HIDDEN_BytePtr *)(long) SYN68K_TO_US(a5))-108))
|
|
#define screenBitsX (* (BitMap *) (STARH((HIDDEN_BytePtr *)(long) SYN68K_TO_US(a5))-122))
|
|
#define randSeed CL(* (LONGINT *) (STARH((HIDDEN_BytePtr *)(long) SYN68K_TO_US(a5))-126))
|
|
#define randSeedX ((* (LONGINT *) (STARH((HIDDEN_BytePtr *)(long) SYN68K_TO_US(a5))-126)))
|
|
|
|
#if !defined (RndSeed_L)
|
|
extern HIDDEN_LONGINT RndSeed_L;
|
|
extern Byte HiliteMode; /* not really supported in ROMlib-V1.0 */
|
|
extern RGBColor HiliteRGB; /* not really supported in ROMlib-V1.0 */
|
|
extern HIDDEN_ProcPtr JInitCrsr_H;
|
|
|
|
extern HIDDEN_ProcPtr JHideCursor_H;
|
|
extern HIDDEN_ProcPtr JShowCursor_H;
|
|
extern HIDDEN_ProcPtr JShieldCursor_H;
|
|
extern HIDDEN_ProcPtr JSetCrsr_H;
|
|
extern HIDDEN_ProcPtr JCrsrObscure_H;
|
|
extern HIDDEN_ProcPtr JUnknown574_H;
|
|
|
|
extern HIDDEN_Ptr ScrnBase_H;
|
|
extern HIDDEN_ProcPtr JCrsrTask_H;
|
|
extern HIDDEN_Ptr Key1Trans_H;
|
|
extern HIDDEN_Ptr Key2Trans_H;
|
|
extern INTEGER ScrVRes;
|
|
extern INTEGER ScrHRes;
|
|
extern INTEGER ScreenRow;
|
|
extern Point MouseLocation;
|
|
extern Point MouseLocation2;
|
|
extern BOOLEAN CrsrVis;
|
|
extern Byte CrsrBusy;
|
|
extern INTEGER CrsrState;
|
|
extern LONGINT mousemask;
|
|
extern LONGINT mouseoffset;
|
|
extern Byte HiliteMode;
|
|
#endif
|
|
|
|
#define RndSeed (RndSeed_L.l)
|
|
#define JInitCrsr (JInitCrsr_H.p)
|
|
#define JHideCursor (JHideCursor_H.p)
|
|
#define JShowCursor (JShowCursor_H.p)
|
|
#define JShieldCursor (JShieldCursor_H.p)
|
|
#define JSetCrsr (JSetCrsr_H.p)
|
|
#define JCrsrObscure (JCrsrObscure_H.p)
|
|
#define JUnknown574 (JUnknown574_H.p)
|
|
#define JCrsrTask (JCrsrTask_H.p)
|
|
#define ScrnBase (ScrnBase_H.p)
|
|
#define Key1Trans (Key1Trans_H.p)
|
|
#define Key2Trans (Key2Trans_H.p)
|
|
|
|
extern trap void C_CopyBits (BitMap *src_bitmap, BitMap *dst_bitmap,
|
|
const Rect *src_rect, const Rect *dst_rect,
|
|
INTEGER mode, RgnHandle mask);
|
|
|
|
extern trap void C_ScrollRect( Rect *rp, INTEGER dh, INTEGER dv,
|
|
RgnHandle updatergn );
|
|
extern pascal trap void C_ForeColor( LONGINT c );
|
|
extern pascal trap void C_BackColor( LONGINT c );
|
|
extern pascal trap void C_ColorBit( INTEGER b );
|
|
extern pascal trap void C_SetCursor( Cursor *cp );
|
|
extern pascal trap void C_InitCursor( void );
|
|
extern pascal trap void C_HideCursor( void );
|
|
extern pascal trap void C_ShowCursor( void );
|
|
extern pascal trap void C_ObscureCursor( void );
|
|
extern pascal trap void C_ShieldCursor( Rect *rp, Point p );
|
|
extern pascal trap void C_InitGraf( Ptr gp );
|
|
extern pascal trap void C_SetPort( GrafPtr p );
|
|
extern pascal trap void C_InitPort( GrafPtr p );
|
|
extern pascal trap void C_OpenPort( GrafPtr p );
|
|
extern pascal trap void C_ClosePort( GrafPtr p );
|
|
extern pascal trap void C_GetPort( HIDDEN_GrafPtr *pp );
|
|
extern pascal trap void C_GrafDevice( INTEGER d );
|
|
extern pascal trap void C_SetPortBits( BitMap *bm );
|
|
extern pascal trap void C_PortSize( INTEGER w, INTEGER h );
|
|
extern pascal trap void C_MovePortTo( INTEGER lg, INTEGER tg );
|
|
extern pascal trap void C_SetOrigin( INTEGER h, INTEGER v );
|
|
extern pascal trap void C_SetClip( RgnHandle r );
|
|
extern pascal trap void C_GetClip( RgnHandle r );
|
|
extern pascal trap void C_ClipRect( Rect *r );
|
|
extern pascal trap void C_BackPat( Pattern pp );
|
|
extern pascal trap void C_SeedFill( Ptr srcp, Ptr dstp,
|
|
INTEGER srcr, INTEGER dstr, INTEGER height, INTEGER width,
|
|
INTEGER seedh, INTEGER seedv );
|
|
extern pascal trap void C_CalcMask( Ptr srcp, Ptr dstp,
|
|
INTEGER srcr, INTEGER dstr, INTEGER height, INTEGER width );
|
|
extern pascal trap void C_CopyMask( BitMap *srcbp,
|
|
BitMap *mskbp, BitMap *dstbp, Rect *srcrp, Rect *
|
|
mskrp, Rect *dstrp );
|
|
extern a0trap INTEGER *GetMaskTable( void );
|
|
extern pascal trap void C_OpColor( RGBColor *colorp );
|
|
extern pascal trap void C_RGBBackColor( RGBColor *colorp );
|
|
extern pascal trap void C_PenPixPat( PixPatHandle ph );
|
|
extern pascal trap void C_HiliteColor( RGBColor *colorp );
|
|
extern pascal trap void C_CharExtra( Fixed Extra );
|
|
extern pascal trap void C_BackPixPat( PixPatHandle ph );
|
|
extern pascal trap void C_RGBForeColor( RGBColor *colorp );
|
|
extern pascal trap void C_MakeRGBPat( PixPatHandle ph,
|
|
RGBColor *colorp );
|
|
extern pascal trap void C_DisposPixPat( PixPatHandle pph );
|
|
extern pascal trap INTEGER C_Random( void );
|
|
extern pascal trap BOOLEAN C_GetPixel( INTEGER h, INTEGER v );
|
|
extern pascal trap void C_StuffHex( register Ptr p, StringPtr s );
|
|
extern pascal trap void C_ScalePt( Point *pt, Rect *srcr, Rect *dstr );
|
|
extern pascal trap void C_MapPt( Point *pt, Rect *srcr, Rect *dstr );
|
|
extern pascal trap void C_MapRect( Rect *r, Rect *srcr, Rect *dstr );
|
|
extern pascal trap void C_MapRgn( RgnHandle rh, Rect *srcr, Rect *dstr );
|
|
extern pascal trap void C_MapPoly( PolyHandle poly, Rect *srcr,
|
|
Rect *dstr );
|
|
extern pascal trap void C_HidePen( void );
|
|
extern pascal trap void C_ShowPen( void );
|
|
extern pascal trap void C_GetPen( Point *ptp );
|
|
extern pascal trap void C_GetPenState( PenState *ps );
|
|
extern pascal trap void C_SetPenState( PenState *ps );
|
|
extern pascal trap void C_PenSize( INTEGER w, INTEGER h );
|
|
extern pascal trap void C_PenMode( INTEGER m );
|
|
extern pascal trap void C_PenPat( Pattern pp );
|
|
extern pascal trap void C_PenNormal( void );
|
|
extern pascal trap void C_MoveTo( INTEGER h, INTEGER v );
|
|
extern pascal trap void C_Move( INTEGER dh, INTEGER dv );
|
|
extern pascal trap void C_LineTo( INTEGER h, INTEGER v );
|
|
extern pascal trap void C_Line( INTEGER dh, INTEGER dv );
|
|
extern pascal trap void C_DrawPicture( PicHandle pic, Rect *destrp );
|
|
extern pascal trap PicHandle C_OpenPicture( Rect *pf );
|
|
extern pascal trap void C_ClosePicture( void );
|
|
extern pascal trap void C_PicComment( INTEGER kind, INTEGER size,
|
|
Handle hand );
|
|
extern pascal trap void C_ReadComment( INTEGER kind, INTEGER size,
|
|
Handle hand );
|
|
extern pascal trap void C_KillPicture( PicHandle pic );
|
|
extern pascal trap void C_AddPt( Point src, Point *dst );
|
|
extern pascal trap void C_SubPt( Point src, Point *dst );
|
|
extern pascal trap void C_SetPt( Point *pt, INTEGER h, INTEGER v );
|
|
extern pascal trap BOOLEAN C_EqualPt( Point p1, Point p2 );
|
|
extern pascal trap void C_LocalToGlobal( Point *pt );
|
|
extern pascal trap void C_GlobalToLocal( Point *pt );
|
|
extern pascal trap PolyHandle C_OpenPoly( void );
|
|
extern pascal trap void C_ClosePoly( void );
|
|
extern pascal trap void C_KillPoly( PolyHandle poly );
|
|
extern pascal trap void C_OffsetPoly( PolyHandle poly,
|
|
INTEGER dh, INTEGER dv );
|
|
extern pascal trap void C_SetRect( Rect *r, INTEGER left, INTEGER top,
|
|
INTEGER right, INTEGER bottom );
|
|
extern pascal trap void C_OffsetRect( Rect *r, INTEGER dh, INTEGER dv );
|
|
extern pascal trap void C_InsetRect( Rect *r, INTEGER dh, INTEGER dv );
|
|
|
|
|
|
|
|
|
|
extern pascal trap BOOLEAN C_EmptyRect( Rect *r );
|
|
extern pascal trap BOOLEAN C_SectRect (const Rect *s1, const Rect *s2, Rect *dest);
|
|
extern pascal trap void C_UnionRect( Rect *s1, Rect *s2, Rect *dest );
|
|
extern pascal trap BOOLEAN C_PtInRect( Point p, Rect *r );
|
|
extern pascal trap void C_Pt2Rect( Point p1, Point p2, Rect *dest );
|
|
extern pascal trap void C_PtToAngle( Rect *rp, Point p, INTEGER *angle );
|
|
extern pascal trap BOOLEAN C_EqualRect( const Rect *r1, const Rect *r2 );
|
|
extern pascal trap RgnHandle C_NewRgn( void );
|
|
extern pascal trap void C_OpenRgn( void );
|
|
extern pascal trap void C_CopyRgn( RgnHandle s, RgnHandle d );
|
|
extern pascal trap void C_CloseRgn( RgnHandle rh );
|
|
extern pascal trap void C_DisposeRgn( RgnHandle rh );
|
|
extern pascal trap void C_SetEmptyRgn( RgnHandle rh );
|
|
extern pascal trap void C_SetRectRgn( RgnHandle rh, INTEGER left,
|
|
INTEGER top, INTEGER right, INTEGER bottom );
|
|
extern pascal trap void C_RectRgn( RgnHandle rh, Rect *rect );
|
|
extern pascal trap void C_OffsetRgn( RgnHandle rh, INTEGER dh,
|
|
INTEGER dv );
|
|
extern pascal trap BOOLEAN C_PtInRgn( Point p, RgnHandle rh );
|
|
extern pascal trap void C_InsetRgn( RgnHandle rh, INTEGER dh, INTEGER dv );
|
|
extern pascal trap void C_SectRgn( RgnHandle s1, RgnHandle s2,
|
|
RgnHandle dest );
|
|
extern pascal trap void C_UnionRgn( RgnHandle s1, RgnHandle s2,
|
|
RgnHandle dest );
|
|
extern pascal trap void C_DiffRgn( RgnHandle s1, RgnHandle s2,
|
|
RgnHandle dest );
|
|
extern pascal trap void C_XorRgn( RgnHandle s1, RgnHandle s2,
|
|
RgnHandle dest );
|
|
extern pascal trap BOOLEAN C_RectInRgn( Rect *rp,
|
|
RgnHandle rh );
|
|
extern pascal trap BOOLEAN C_EqualRgn( RgnHandle r1, RgnHandle r2 );
|
|
extern pascal trap BOOLEAN C_EmptyRgn( RgnHandle rh );
|
|
extern void ROMlib_printrgn( RgnHandle h );
|
|
extern void ROMlib_printpairs( INTEGER *p, LONGINT n );
|
|
extern pascal trap void C_FrameRect( Rect *r );
|
|
extern pascal trap void C_PaintRect( Rect *r );
|
|
extern pascal trap void C_EraseRect( Rect *r );
|
|
extern pascal trap void C_InvertRect( Rect *r );
|
|
extern pascal trap void C_FillRect( Rect *r, Pattern pat );
|
|
extern pascal trap void C_FrameOval( Rect *r );
|
|
extern pascal trap void C_PaintOval( Rect *r );
|
|
extern pascal trap void C_EraseOval( Rect *r );
|
|
extern pascal trap void C_InvertOval( Rect *r );
|
|
extern pascal trap void C_FillOval( Rect *r, Pattern pat );
|
|
extern pascal trap void C_FrameRoundRect( Rect *r, INTEGER ow,
|
|
INTEGER oh );
|
|
extern pascal trap void C_PaintRoundRect( Rect *r, INTEGER ow,
|
|
INTEGER oh );
|
|
extern pascal trap void C_EraseRoundRect( Rect *r, INTEGER ow,
|
|
INTEGER oh );
|
|
extern pascal trap void C_InvertRoundRect( Rect *r, INTEGER ow,
|
|
INTEGER oh );
|
|
extern pascal trap void C_FillRoundRect( Rect *r, INTEGER ow,
|
|
INTEGER oh, Pattern pat );
|
|
extern pascal trap void C_FrameArc( Rect *r, INTEGER start,
|
|
INTEGER angle );
|
|
extern pascal trap void C_PaintArc( Rect *r, INTEGER start,
|
|
INTEGER angle );
|
|
extern pascal trap void C_EraseArc( Rect *r, INTEGER start,
|
|
INTEGER angle );
|
|
extern pascal trap void C_InvertArc( Rect *r, INTEGER start,
|
|
INTEGER angle );
|
|
extern pascal trap void C_FillArc( Rect *r, INTEGER start,
|
|
INTEGER angle, Pattern pat );
|
|
extern pascal trap void C_FrameRgn( RgnHandle rh );
|
|
extern pascal trap void C_PaintRgn( RgnHandle rh );
|
|
extern pascal trap void C_EraseRgn( RgnHandle rh );
|
|
extern pascal trap void C_InvertRgn( RgnHandle rh );
|
|
extern pascal trap void C_FillRgn( RgnHandle rh, Pattern pat );
|
|
extern pascal trap void C_FramePoly( PolyHandle poly );
|
|
extern pascal trap void C_PaintPoly( PolyHandle poly );
|
|
extern pascal trap void C_ErasePoly( PolyHandle poly );
|
|
extern pascal trap void C_InvertPoly( PolyHandle poly );
|
|
extern pascal trap void C_FillPoly( PolyHandle poly, Pattern pat );
|
|
extern pascal trap void C_SetStdProcs( QDProcs *procs );
|
|
extern pascal trap void C_StdArc( GrafVerb verb, Rect *r,
|
|
INTEGER starta, INTEGER arca );
|
|
|
|
extern pascal trap void C_StdBits (BitMap *srcbmp,
|
|
const Rect *srcrp, const Rect *dstrp,
|
|
INTEGER mode, RgnHandle mask);
|
|
extern void StdBitsPicSaveFlag (BitMap *srcbmp,
|
|
const Rect *srcrp, const Rect *dstrp,
|
|
INTEGER mode, RgnHandle mask, BOOLEAN savepic);
|
|
|
|
|
|
extern void ROMlib_printsegs( INTEGER *ip );
|
|
extern pascal trap void C_StdLine( Point p );
|
|
extern pascal trap void C_StdOval( GrafVerb v, Rect *rp );
|
|
extern pascal trap void C_StdComment( INTEGER kind, INTEGER size,
|
|
Handle hand );
|
|
extern pascal trap void C_StdGetPic( Ptr dp, INTEGER bc );
|
|
extern pascal trap void C_StdPutPic( Ptr sp, INTEGER bc );
|
|
extern pascal trap void C_StdPoly( GrafVerb verb, PolyHandle ph );
|
|
extern pascal trap void C_StdRRect( GrafVerb verb, Rect *r,
|
|
INTEGER width, INTEGER height );
|
|
extern pascal trap void C_StdRect( GrafVerb v, Rect *rp );
|
|
extern pascal trap void C_StdRgn( GrafVerb verb, RgnHandle rgn );
|
|
extern pascal trap void C_StdText( INTEGER n, Ptr textbufp,
|
|
Point num, Point den );
|
|
extern pascal trap INTEGER C_StdTxMeas( INTEGER n, Ptr p,
|
|
Point *nump, Point *denp, FontInfo *finfop );
|
|
extern INTEGER ROMlib_StdTxMeas( LONGINT n, Ptr p,
|
|
Point *nump, Point *denp, FontInfo *finfop );
|
|
extern pascal trap void C_MeasureText( INTEGER n, Ptr text,
|
|
Ptr chars );
|
|
extern pascal trap void C_TextFont( INTEGER f );
|
|
extern pascal trap void C_TextFace( INTEGER thef );
|
|
extern pascal trap void C_TextMode( INTEGER m );
|
|
extern pascal trap void C_TextSize( INTEGER s );
|
|
extern pascal trap void C_SpaceExtra( Fixed e );
|
|
extern pascal trap void C_DrawChar( CHAR thec );
|
|
extern pascal trap void C_DrawString( StringPtr s );
|
|
extern pascal trap void C_DrawText( Ptr tb, INTEGER fb, INTEGER bc );
|
|
extern pascal trap INTEGER C_CharWidth( CHAR thec );
|
|
extern pascal trap INTEGER C_StringWidth( StringPtr s );
|
|
extern pascal trap INTEGER C_TextWidth( Ptr tb, INTEGER fb, INTEGER bc );
|
|
extern pascal trap void C_GetFontInfo( FontInfo *ip );
|
|
|
|
extern pascal trap void C_GetCPixel( INTEGER h, INTEGER v, RGBColor *colorp );
|
|
extern pascal trap void C_SetCPixel( INTEGER h, INTEGER v,
|
|
RGBColor *colorp);
|
|
|
|
extern pascal trap void C_SeedCFill( BitMap *srcbp, BitMap *dstbp,
|
|
Rect *srcrp, Rect *dstrp, INTEGER seedh, INTEGER seedv,
|
|
ProcPtr matchprocp, LONGINT matchdata);
|
|
|
|
extern pascal trap void C_CalcCMask( BitMap *srcbp, BitMap *dstbp,
|
|
Rect *srcrp, Rect *dstrp, RGBColor *seedrgbp, ProcPtr matchprocp,
|
|
LONGINT matchdata);
|
|
extern pascal trap void C_IMVI_CopyDeepMask (
|
|
BitMap *srcBits,
|
|
BitMap *maskBits,
|
|
BitMap *dstBits,
|
|
Rect *srcRect,
|
|
Rect *maskRect,
|
|
Rect *dstRect,
|
|
INTEGER mode,
|
|
RgnHandle maskRgn);
|
|
|
|
#endif /* _QUICKDRAW_H_ */
|