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 */