home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / DC-POS24.LZX / pOS / IncPOS.lzx / pGFX / RastPort.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-03-18  |  3.0 KB  |  108 lines

  1. #ifndef __INC_POS_PGFX_RASTPORT_H
  2. #define __INC_POS_PGFX_RASTPORT_H
  3. /*******************************************************************
  4.  Includes Release 24
  5.  (C) Copyright 1995-1997 proDAD
  6.      All Rights Reserved
  7.  
  8.  $AUT Holger Burkarth
  9.  $DAT >>RastPort.h<<   01 Dec 1996    10:06:51 - (C) ProDAD
  10. *******************************************************************/
  11. #ifndef __INC_POS_PLAYER_RECT_H
  12. #include <pLayer/Rect.h>
  13. #endif
  14.  
  15.  
  16. /*----------------------------------
  17. -----------------------------------*/
  18. struct pOS_RastPort
  19. {
  20.   struct pOS_GfxLibrary *rp_Base;
  21.   ULONG                  rp_UserData[2];
  22.   struct pOS_Layer      *rp_Layer;
  23.   struct pOS_GfxMap     *rp_GfxMap;
  24.  
  25.   UWORD                  rp_Flags;      /* (enum pOS_RastPortFlags) */
  26.   struct pOS_Point       rp_CP;         /* Cursor-Position */
  27.  
  28.   struct pOS_TextFont   *rp_Font;
  29.   UWORD                  rp_AlgoStyle;  /* the algorithmically generated style */
  30.   UWORD                  rp_TxFlags;    /* text specific flags */
  31.   UWORD                  rp_TxHeight;   /* text height */
  32.   UWORD                  rp_TxWidth;    /* text nominal width */
  33.   UWORD                  rp_TxBaseline; /* text baseline */
  34.   SWORD                  rp_TxSpacing;  /* text spacing (per character) */
  35.  
  36.   SWORD                  rp_PatMoveX;   /* Pattern-Verschiebung */
  37.   SWORD                  rp_PatMoveY;
  38.  
  39.   UBYTE rp_Reserved[32];
  40. };
  41.  
  42.  
  43.  
  44.  
  45. /*----------------------------------
  46. -----------------------------------*/
  47. struct pOS_BltData
  48. {
  49.   ULONG btd_SrcX, btd_SrcY;
  50.   SLONG btd_DstX, btd_DstY;
  51.   ULONG btd_MskX, btd_MskY;
  52.   ULONG btd_Width,btd_Height;
  53. };
  54.  
  55.  
  56.  
  57.  
  58. /** pOS_SetDrMd() **/
  59. enum pOS_RastPortDrawMode
  60. {
  61.  DRMD_Jam1=       0x00, /* jam 1 color into raster */
  62.  DRMD_Jam2=       0x01, /* jam 2 colors into raster */
  63.  DRMD_Complement= 0x02, /* XOR bits into raster */
  64.  DRMD_Invers=     0x04, /* inverse video for drawing modes */
  65. };
  66.  
  67.  
  68. enum pOS_RastPortFlags
  69. {
  70.  RASTPORTF_FirstDot=    0x01, /* draw the first dot of this line */
  71.  RASTPORTF_OneDot=      0x02, /* use one dot mode for drawing lines */
  72.  RASTPORTF_DBuffer=     0x04, /* flag set when RastPorts are double-buffered */
  73.  RASTPORTF_AreaOutline= 0x08, /* used by areafiller */
  74.  RASTPORTF_NoCrossFill= 0x20, /* areafills have no crossovers */
  75. };
  76.  
  77.  
  78. enum pOS_BltStdMinterm
  79. {
  80.   BLTMINT_Copy  = 0xc0,
  81.   BLTMINT_Mask  = 0xe0,
  82. };
  83.  
  84.  
  85. /** pOS_ScrollRaster() **/
  86. enum pOS_ScrollRasterFlags
  87. {
  88.   SCLRSTF_Std      = 0x0002,    /* Standard => BPen ohne Damage */
  89.   SCLRSTF_Ignore   = 0x0000,    /* keine spezielle Aktion auslösen */
  90.   SCLRSTF_Damage   = 0x0001,    /* Alle freigewordenen Bereiche als Damage kennzeichnen. */
  91.   SCLRSTF_BPen     = 0x0002,    /* BPen verwenden */
  92.   SCLRSTF_Erase    = 0x0004,    /* Die freigewordenen Bereiche werden mit dem
  93.                                 ** BackFill-Hook gefüllt. Schließt BPen-Draw aus.
  94.                                 */
  95. };
  96.  
  97.  
  98.  
  99. /** pOS_PolyFill() **/
  100. enum pOS_PolyFillFlags
  101. {
  102.   POLYFILF_Std     = 0x0000,    /* */
  103.   POLYFILF_Erase   = 0x0002,    /* BackFill zum Zeichnen verwenden, sonst APen */
  104. };
  105.  
  106.  
  107. #endif
  108.