Jump to content

BITBLTINFO: Difference between revisions

From EDM2
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
BitBlt information structure. BitBlt information structure, used for the GHI_CMD_BITBLT and VMI_CMD_BITBLT functions.  
BitBlt information structure. BitBlt information structure, used for the GHI_CMD_BITBLT and [[Video_Manager#VMI_CMD_BITBLT|VMI_CMD_BITBLT]] functions.  


==Type==
==Type==
   ULONG        ulLength;      /* Length of the BITBLTINFO data structure, in bytes. */
typedef struct _BITBLTINFO {
   ULONG        [[ulBltFlags]];    /* Flags for rendering of rasterized data. */
   ULONG        ulLength;      /* Length of the BITBLTINFO data structure, in bytes. */
   ULONG        cBlits;        /* Count of Blts to be performed. */
   ULONG        [[ulBltFlags]];    /* Flags for rendering of rasterized data. */
   ULONG        ulROP;          /* Raster operation. */
   ULONG        cBlits;        /* Count of Blts to be performed. */
   ULONG        ulMonoBackROP;  /* Background mix if B_APPLY_BACK_ROP is set. */
   ULONG        ulROP;          /* Raster operation. */
   ULONG        ulSrcFGColor;  /* Monochrome source Foreground color. */
   ULONG        ulMonoBackROP;  /* Background mix if B_APPLY_BACK_ROP is set. */
   ULONG        ulSrcBGColor;  /* Monochrome source Background color and transparent color. */
   ULONG        ulSrcFGColor;  /* Monochrome source Foreground colour. */
   ULONG        ulPatFGColor;  /* Monochrome pattern Foreground color. */
   ULONG        ulSrcBGColor;  /* Monochrome source Background colour and transparent colour. */
   ULONG        ulPatBGColor;  /* Monochrome pattern Background color. */
   ULONG        ulPatFGColor;  /* Monochrome pattern Foreground colour. */
   PBYTE        abColors;      /* Pointer to color translation table. */
   ULONG        ulPatBGColor;  /* Monochrome pattern Background colour. */
   PBMAPINFO    pSrcBmapInfo;  /* Pointer to source bit map (BMAPINFO) */
   PBYTE        abColors;      /* Pointer to colour translation table. */
   PBMAPINFO    pDstBmapInfo;  /* Pointer to destination bit map (BMAPINFO). */
   PBMAPINFO    pSrcBmapInfo;  /* Pointer to source bit map (BMAPINFO) */
   PBMAPINFO    pPatBmapInfo;  /* Pointer to pattern bit map (BMAPINFO). */
   PBMAPINFO    pDstBmapInfo;  /* Pointer to destination bit map (BMAPINFO). */
   PPOINTL      aptlSrcOrg;    /* Pointer to array of source origin POINTLs. */
   PBMAPINFO    pPatBmapInfo;  /* Pointer to pattern bit map (BMAPINFO). */
   PPOINTL      aptlPatOrg;    /* Pointer to array of pattern origin POINTLs. */
   PPOINTL      aptlSrcOrg;    /* Pointer to array of source origin POINTLs. */
   PBLTRECT      abrDst;        /* Pointer to array of Blt rects. */
   PPOINTL      aptlPatOrg;    /* Pointer to array of pattern origin POINTLs. */
   PRECTL        prclSrcBounds;  /* Pointer to source bounding rect of source Blts. */
   PBLTRECT      abrDst;        /* Pointer to array of Blt rects. */
   PRECTL        prclDstBounds;  /* Pointer to destination bounding rect of destination Blts. */
   PRECTL        prclSrcBounds;  /* Pointer to source bounding rect of source Blts. */
   PRECTL        prclDstBounds;  /* Pointer to destination bounding rect of destination Blts. */
} BITBLTINFO;


==C Declaration Method==
==C Declaration Method==
typedef
typedef BITBLTINFO *PBITBLTINFO;


== Example Code ==
==Fields==
<PRE>
;'''ulLength'''(ULONG): Length of the BITBLTINFO data structure, in bytes.
typedef struct _BITBLTINFO {
;'''ulBltFlags'''(ULONG): Flags for rendering of rasterized data.
  ULONG         ulLength;      /*  Length of the BITBLTINFO data structure, in bytes. */
:Miscellaneous flags used by the graphics engine for rendering of rasterized data:
  ULONG         ulBltFlags;    /*  Flags for rendering of rasterized data. */
:;BF_DEFAULT_STATE: Blt direction is left to right and top to bottom.
  ULONG         cBlits;        /*  Count of Blts to be performed. */
:;BF_DIR_X_NEGATIVE: Blt direction is towards X origin.
  ULONG         ulROP;          /*  Raster operation. */
:;BF_DIR_Y_NEGATIVE: Blt direction is towards Y origin.
  ULONG         ulMonoBackROP;  /*  Background mix if B_APPLY_BACK_ROP is set. */
:;BF_ROP_INCL_SRC: ROP includes a source bit map.
  ULONG         ulSrcFGColor;  /*  Monochrome source Foreground color. */
:;BF_ROP_INCL_PAT: ROP includes a pattern bit map.
  ULONG         ulSrcBGColor;  /*  Monochrome source Background color and transparent color. */
:;BF_SRC_TRANSPARENT: Source transparent involved. SRC will not change when SRC=BG_COLOR.
  ULONG         ulPatFGColor;  /*  Monochrome pattern Foreground color. */
:;BF_DST_TRANSPARENT: Destination transparent involved. DST will not change when DST=BG_COLOR.
  ULONG         ulPatBGColor;  /*  Monochrome pattern Background color. */
:;BF_PAT_TRANSPARENT: Pattern transparent involved. Pattern not involved when PAT=BG_COLOR.
  PBYTE         abColors;      /*  Pointer to color translation table. */
:;BF_PAT_SOLID: Pattern is solid; all Foreground color.
  PBMAPINFO     pSrcBmapInfo;  /*  Pointer to source bit map (BMAPINFO) */
:;BF_PAT_HOLLOW: Pattern is hollow (empty); no Foreground color.
  PBMAPINFO     pDstBmapInfo;  /*  Pointer to destination bit map (BMAPINFO). */
:;BF_APPLY_BACK_ROP: Treat ROP as Foreground mix and MonoBackROP as Background mix.
  PBMAPINFO     pPatBmapInfo;  /*  Pointer to pattern bit map (BMAPINFO). */
:;BF_SRC_MONOINVERT: Zero (0) bits are Foreground on monochrome SRC bit map.
  PPOINTL       aptlSrcOrg;    /*  Pointer to array of source origin POINTLs. */
:;BF_PAT_MONOINVERT: Zero (0) bits are Foreground on monochrome PAT bit map.
  PPOINTL       aptlPatOrg;    /*  Pointer to array of pattern origin POINTLs. */
:;BF_SR_BITS_EXTERNAL: Source bit map bits are in a nondevice-specific format.
  PBLTRECT     abrDst;        /*  Pointer to array of Blt rects. */
:;BF_LAST_BLT: Defines last blit in a banded BitBlit.
  PRECTL       prclSrcBounds;  /*  Pointer to source bounding rect of source Blts. */
:;BF_SRC_Y_FLIP: Source Y coordinates are inverted relative to device origin.
  PRECTL       prclDstBounds;  /*  Pointer to destination bounding rect of destination Blts. */
:'''cBlits'''(ULONG) Count of Blts to be performed.
} BITBLTINFO;
:'''ulROP'''(ULONG) Raster operation.
 
:'''ulMonoBackROP'''(ULONG) Background mix if B_APPLY_BACK_ROP is set.
typedef BITBLTINFO *PBITBLTINFO;
:'''ulSrcFGColor'''(ULONG) Monochrome source Foreground color.
</PRE>
:'''ulSrcBGColor'''(ULONG) Monochrome source Background color and transparent color.
:'''ulPatFGColor'''(ULONG) Monochrome pattern Foreground color.
:'''ulPatBGColor'''(ULONG) Monochrome pattern Background color.
:'''abColors'''(PBYTE) Pointer to color translation table.
:'''pSrcBmapInfo'''(PBMAPINFO) Pointer to source bit map ([[#BMAPINFO]])
:'''pDstBmapInfo'''([[#PBMAPINFO]]) Pointer to destination bit map (BMAPINFO).
:'''pPatBmapInfo'''(PBMAPINFO) Pointer to pattern bit map (BMAPINFO).
:'''aptlSrcOrg'''(PPOINTL) Pointer to array of source origin [[#POINTL]]s.
:'''aptlPatOrg'''(PPOINTL) Pointer to array of pattern origin POINTLs.
:'''abrDst'''([[#PBLTRECT]]) Pointer to array of Blt rects.
:'''prclSrcBounds'''(PRECTL) Pointer to source bounding rect of source Blts.
:'''prclDstBounds'''(PRECTL) Pointer to destination bounding rect of destination Blts.


[[Category:Data type]]
[[Category:Data type]]

Latest revision as of 21:03, 5 May 2025

BitBlt information structure. BitBlt information structure, used for the GHI_CMD_BITBLT and VMI_CMD_BITBLT functions.

Type

typedef struct _BITBLTINFO {
 ULONG         ulLength;       /* Length of the BITBLTINFO data structure, in bytes. */
 ULONG         ulBltFlags;     /* Flags for rendering of rasterized data. */
 ULONG         cBlits;         /* Count of Blts to be performed. */
 ULONG         ulROP;          /* Raster operation. */
 ULONG         ulMonoBackROP;  /* Background mix if B_APPLY_BACK_ROP is set. */
 ULONG         ulSrcFGColor;   /* Monochrome source Foreground colour. */
 ULONG         ulSrcBGColor;   /* Monochrome source Background colour and transparent colour. */
 ULONG         ulPatFGColor;   /* Monochrome pattern Foreground colour. */
 ULONG         ulPatBGColor;   /* Monochrome pattern Background colour. */
 PBYTE         abColors;       /* Pointer to colour translation table. */
 PBMAPINFO     pSrcBmapInfo;   /* Pointer to source bit map (BMAPINFO) */
 PBMAPINFO     pDstBmapInfo;   /* Pointer to destination bit map (BMAPINFO). */
 PBMAPINFO     pPatBmapInfo;   /* Pointer to pattern bit map (BMAPINFO). */
 PPOINTL       aptlSrcOrg;     /* Pointer to array of source origin POINTLs. */
 PPOINTL       aptlPatOrg;     /* Pointer to array of pattern origin POINTLs. */
 PBLTRECT      abrDst;         /* Pointer to array of Blt rects. */
 PRECTL        prclSrcBounds;  /* Pointer to source bounding rect of source Blts. */
 PRECTL        prclDstBounds;  /* Pointer to destination bounding rect of destination Blts. */
} BITBLTINFO;

C Declaration Method

typedef BITBLTINFO *PBITBLTINFO;

Fields

ulLength(ULONG)
Length of the BITBLTINFO data structure, in bytes.
ulBltFlags(ULONG)
Flags for rendering of rasterized data.
Miscellaneous flags used by the graphics engine for rendering of rasterized data:
BF_DEFAULT_STATE
Blt direction is left to right and top to bottom.
BF_DIR_X_NEGATIVE
Blt direction is towards X origin.
BF_DIR_Y_NEGATIVE
Blt direction is towards Y origin.
BF_ROP_INCL_SRC
ROP includes a source bit map.
BF_ROP_INCL_PAT
ROP includes a pattern bit map.
BF_SRC_TRANSPARENT
Source transparent involved. SRC will not change when SRC=BG_COLOR.
BF_DST_TRANSPARENT
Destination transparent involved. DST will not change when DST=BG_COLOR.
BF_PAT_TRANSPARENT
Pattern transparent involved. Pattern not involved when PAT=BG_COLOR.
BF_PAT_SOLID
Pattern is solid; all Foreground color.
BF_PAT_HOLLOW
Pattern is hollow (empty); no Foreground color.
BF_APPLY_BACK_ROP
Treat ROP as Foreground mix and MonoBackROP as Background mix.
BF_SRC_MONOINVERT
Zero (0) bits are Foreground on monochrome SRC bit map.
BF_PAT_MONOINVERT
Zero (0) bits are Foreground on monochrome PAT bit map.
BF_SR_BITS_EXTERNAL
Source bit map bits are in a nondevice-specific format.
BF_LAST_BLT
Defines last blit in a banded BitBlit.
BF_SRC_Y_FLIP
Source Y coordinates are inverted relative to device origin.
cBlits(ULONG) Count of Blts to be performed.
ulROP(ULONG) Raster operation.
ulMonoBackROP(ULONG) Background mix if B_APPLY_BACK_ROP is set.
ulSrcFGColor(ULONG) Monochrome source Foreground color.
ulSrcBGColor(ULONG) Monochrome source Background color and transparent color.
ulPatFGColor(ULONG) Monochrome pattern Foreground color.
ulPatBGColor(ULONG) Monochrome pattern Background color.
abColors(PBYTE) Pointer to color translation table.
pSrcBmapInfo(PBMAPINFO) Pointer to source bit map (#BMAPINFO)
pDstBmapInfo(#PBMAPINFO) Pointer to destination bit map (BMAPINFO).
pPatBmapInfo(PBMAPINFO) Pointer to pattern bit map (BMAPINFO).
aptlSrcOrg(PPOINTL) Pointer to array of source origin #POINTLs.
aptlPatOrg(PPOINTL) Pointer to array of pattern origin POINTLs.
abrDst(#PBLTRECT) Pointer to array of Blt rects.
prclSrcBounds(PRECTL) Pointer to source bounding rect of source Blts.
prclDstBounds(PRECTL) Pointer to destination bounding rect of destination Blts.