ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

inteng.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 typedef ULONG HCLIP;
00004 
00005 #define ENUM_RECT_LIMIT   50
00006 
00007 typedef struct _RECT_ENUM
00008 {
00009   ULONG c;
00010   RECTL arcl[ENUM_RECT_LIMIT];
00011 } RECT_ENUM;
00012 
00013 typedef struct tagSPAN
00014 {
00015   LONG Y;
00016   LONG X;
00017   ULONG Width;
00018 } SPAN, *PSPAN;
00019 
00020 #define R3_OPINDEX_NOOP         0xAA
00021 
00022 #define R3_OPINDEX_BLACKNESS    0x00
00023 #define R3_OPINDEX_NOTSRCERASE  0x11
00024 #define R3_OPINDEX_NOTSRCCOPY   0x33
00025 #define R3_OPINDEX_SRCERASE     0x44
00026 #define R3_OPINDEX_DSTINVERT    0x55
00027 #define R3_OPINDEX_PATINVERT    0x5A
00028 #define R3_OPINDEX_SRCINVERT    0x66
00029 #define R3_OPINDEX_SRCAND       0x88
00030 #define R3_OPINDEX_MERGEPAINT   0xBB
00031 #define R3_OPINDEX_MERGECOPY    0xC0
00032 #define R3_OPINDEX_SRCCOPY      0xCC
00033 #define R3_OPINDEX_SRCPAINT     0xEE
00034 #define R3_OPINDEX_PATCOPY      0xF0
00035 #define R3_OPINDEX_PATPAINT     0xFB
00036 #define R3_OPINDEX_WHITENESS    0xFF
00037 
00038 #define ROP2_TO_MIX(Rop2) (((Rop2) << 8) | (Rop2))
00039 
00040 #define ROP4_FROM_INDEX(index) ((index) | ((index) << 8))
00041 
00042 #define ROP4_USES_SOURCE(Rop4)  (((((Rop4) & 0xCC00) >> 2) != ((Rop4) & 0x3300)) || ((((Rop4) & 0xCC) >> 2) != ((Rop4) & 0x33)))
00043 #define ROP4_USES_MASK(Rop4)    (((Rop4) & 0xFF00) != (((Rop4) & 0xff) << 8))
00044 #define ROP4_USES_DEST(Rop4)    (((((Rop4) & 0xAA) >> 1) != ((Rop4) & 0x55)) || ((((Rop4) & 0xAA00) >> 1) != ((Rop4) & 0x5500)))
00045 #define ROP4_USES_PATTERN(Rop4) (((((Rop4) & 0xF0) >> 4) != ((Rop4) & 0x0F)) || ((((Rop4) & 0xF000) >> 4) != ((Rop4) & 0x0F00)))
00046 
00047 #define IS_VALID_ROP4(rop) (((rop) & 0xFFFF0000) == 0)
00048 
00049 #define ROP4_FGND(Rop4)    ((Rop4) & 0x00FF)
00050 #define ROP4_BKGND(Rop4)    (((Rop4) & 0xFF00) >> 8)
00051 
00052 #define ROP4_NOOP (R3_OPINDEX_NOOP | (R3_OPINDEX_NOOP << 8))
00053 #define ROP4_MASK (R3_OPINDEX_SRCCOPY | (R3_OPINDEX_NOOP << 8))
00054 
00055 /* Definitions of IntEngXxx functions */
00056 
00057 BOOL APIENTRY
00058 IntEngLineTo(SURFOBJ *Surface,
00059              CLIPOBJ *Clip,
00060              BRUSHOBJ *Brush,
00061              LONG x1,
00062              LONG y1,
00063              LONG x2,
00064              LONG y2,
00065              RECTL *RectBounds,
00066              MIX mix);
00067 
00068 BOOL APIENTRY
00069 IntEngBitBlt(SURFOBJ *DestObj,
00070                SURFOBJ *SourceObj,
00071                SURFOBJ *Mask,
00072                CLIPOBJ *ClipRegion,
00073                XLATEOBJ *ColorTranslation,
00074                RECTL *DestRect,
00075                POINTL *SourcePoint,
00076                POINTL *MaskOrigin,
00077                BRUSHOBJ *Brush,
00078                POINTL *BrushOrigin,
00079                ROP4 Rop4);
00080 
00081 BOOL APIENTRY
00082 IntEngStretchBlt(SURFOBJ *DestObj,
00083                  SURFOBJ *SourceObj,
00084                  SURFOBJ *Mask,
00085                  CLIPOBJ *ClipRegion,
00086                  XLATEOBJ *ColorTranslation,
00087                  RECTL *DestRect,
00088                  RECTL *SourceRect,
00089                  POINTL *pMaskOrigin,
00090                  BRUSHOBJ *Brush,
00091                  POINTL *BrushOrigin,
00092                  ULONG Mode);
00093 
00094 BOOL APIENTRY
00095 IntEngGradientFill(SURFOBJ *psoDest,
00096                    CLIPOBJ *pco,
00097                    XLATEOBJ *pxlo,
00098                    TRIVERTEX *pVertex,
00099                    ULONG nVertex,
00100                    PVOID pMesh,
00101                    ULONG nMesh,
00102                    RECTL *prclExtents,
00103                    POINTL *pptlDitherOrg,
00104                    ULONG ulMode);
00105 
00106 BOOL APIENTRY
00107 IntEngPolyline(SURFOBJ *DestSurf,
00108                CLIPOBJ *Clip,
00109                BRUSHOBJ *Brush,
00110                CONST LPPOINT  pt,
00111                LONG dCount,
00112                MIX mix);
00113 
00114 CLIPOBJ* FASTCALL
00115 IntEngCreateClipRegion(ULONG count,
00116                        PRECTL pRect,
00117                        PRECTL rcBounds);
00118 
00119 VOID FASTCALL
00120 IntEngDeleteClipRegion(CLIPOBJ *ClipObj);
00121 
00122 
00123 BOOL FASTCALL
00124 IntEngTransparentBlt(SURFOBJ *Dest,
00125                      SURFOBJ *Source,
00126                      CLIPOBJ *Clip,
00127                      XLATEOBJ *ColorTranslation,
00128                      PRECTL DestRect,
00129                      PRECTL SourceRect,
00130                      ULONG iTransColor,
00131                      ULONG Reserved);
00132 
00133 BOOL APIENTRY
00134 IntEngPaint(IN SURFOBJ *Surface,
00135             IN CLIPOBJ *ClipRegion,
00136             IN BRUSHOBJ *Brush,
00137             IN POINTL *BrushOrigin,
00138             IN MIX Mix);
00139 
00140 ULONG APIENTRY
00141 IntEngSetPointerShape(
00142    IN SURFOBJ *pso,
00143    IN SURFOBJ *psoMask,
00144    IN SURFOBJ *psoColor,
00145    IN XLATEOBJ *pxlo,
00146    IN LONG xHot,
00147    IN LONG yHot,
00148    IN LONG x,
00149    IN LONG y,
00150    IN RECTL *prcl,
00151    IN FLONG fl);
00152 
00153 BOOL APIENTRY
00154 IntEngAlphaBlend(IN SURFOBJ *Dest,
00155                  IN SURFOBJ *Source,
00156                  IN CLIPOBJ *ClipRegion,
00157                  IN XLATEOBJ *ColorTranslation,
00158                  IN PRECTL DestRect,
00159                  IN PRECTL SourceRect,
00160                  IN BLENDOBJ *BlendObj);
00161 
00162 BOOL APIENTRY
00163 IntEngCopyBits(SURFOBJ *psoDest,
00164         SURFOBJ *psoSource,
00165         CLIPOBJ *pco,
00166         XLATEOBJ *pxlo,
00167         RECTL *prclDest,
00168         POINTL *ptlSource);

Generated on Sun May 27 2012 04:38:20 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.