1 #ifndef GRAPHICS_RASTPORT_H 2 #define GRAPHICS_RASTPORT_H 3 4 /* 5 graphics rastport definitions 6 7 Copyright © 2002 The MorphOS Development Team, All Rights Reserved. 8 */ 9 10 #ifndef EXEC_TYPES_H 11 # include <exec/types.h> 12 #endif 13 14 #ifndef GRAPHICS_GFX_H 15 # include <graphics/gfx.h> 16 #endif 17 18 #pragma pack(2) 19 20 21 struct AreaInfo 22 { 23 WORD *VctrTbl; 24 WORD *VctrPtr; 25 BYTE *FlagTbl; 26 BYTE *FlagPtr; 27 WORD Count; 28 WORD MaxCount; 29 WORD FirstX, FirstY; 30 }; 31 32 struct TmpRas 33 { 34 BYTE *RasPtr; 35 LONG Size; 36 }; 37 38 struct GelsInfo 39 { 40 BYTE sprRsrvd; 41 UBYTE Flags; 42 struct VSprite *gelHead, *gelTail; 43 WORD *nextLine; 44 WORD **lastColor; 45 struct collTable *collHandler; 46 WORD leftmost, rightmost, topmost, bottommost; 47 APTR firstBlissObj, lastBlissObj; 48 }; 49 50 struct RastPort 51 { 52 struct Layer *Layer; 53 struct BitMap *BitMap; 54 UWORD *AreaPtrn; 55 struct TmpRas *TmpRas; 56 struct AreaInfo *AreaInfo; 57 struct GelsInfo *GelsInfo; 58 UBYTE Mask; 59 BYTE FgPen; 60 BYTE BgPen; 61 BYTE AOlPen; 62 BYTE DrawMode; 63 BYTE AreaPtSz; 64 BYTE linpatcnt; 65 BYTE dummy; 66 UWORD Flags; 67 UWORD LinePtrn; 68 WORD cp_x, cp_y; 69 UBYTE minterms[8]; 70 WORD PenWidth; 71 WORD PenHeight; 72 struct TextFont *Font; 73 UBYTE AlgoStyle; 74 UBYTE TxFlags; 75 UWORD TxHeight; 76 UWORD TxWidth; 77 UWORD TxBaseline; 78 WORD TxSpacing; 79 APTR *RP_User; 80 ULONG longreserved[2]; 81 82 #ifndef GFX_RASTPORT_1_2 83 UWORD wordreserved[7]; 84 UBYTE reserved[8]; 85 #endif 86 }; 87 88 89 #define JAM1 0 90 #define JAM2 1 91 #define COMPLEMENT 2 92 #define INVERSVID 4 93 94 #define FRST_DOT 0x01 95 #define ONE_DOT 0x02 96 #define DBUFFER 0x04 97 98 #define AREAOUTLINE 0x08 99 #define NOCROSSFILL 0x20 100 101 102 #pragma pack() 103 104 #endif /* GRAPHICS_RASTPORT_H */