Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*
Copyright (c) 1994, Microsoft Corporation
Module Name:
ddirx.h
Abstract:
Defines and types for Rendering/CAD DDI Extension Interface.
*/
#define DDIRXFUNCS 0x8000
typedef LONG LONGFIX; typedef HANDLE DDIHANDLE;
/* Rendering-function header */
#define RX_CLIPINFO 0x0001
typedef struct _DDIRXHDR { ULONG flags; ULONG cCmd; DDIHANDLE hDDIrc; DDIHANDLE hMem; ULONG ulMemOffset; } DDIRXHDR;
/* Rendering-function header */
typedef struct _DDIRXCMD { USHORT idFunc; USHORT flags; ULONG cData; ULONG buffer[1]; } DDIRXCMD;
typedef struct _DDIRXCLIPINFO { ULONG flags; ULONG idClip; ULONG cClip; RECT rclClient; RECT rclClip[1]; } DDIRXCLIPINFO;
#define FRONT_BUFFER 0
#define BACK_BUFFER 1
#define RX_FLAT 0
#define RX_SMOOTH 1
#define RX_COLOR_INDEXED 0
#define RX_COLOR_RGBA 1
#define RX_DISABLE 0
#define RX_ENABLE_FASTEST 1
#define RX_ENABLE_NICEST 2
#define RX_LINEPAT 1
#define RX_FILLPAT 2
#define RX_ROP2 3
#define RX_GLCOMPAT 4
#define RX_WRITEBUFFER 5
#define RX_PLANEMASK 6
#define RX_ZMASK 7
#define RX_Z_ENABLE 8
#define RX_ALPHA_ENABLE 9
#define RX_LAST_PIXEL 10
#define RX_TEX_MAG 11
#define RX_TEX_MIN 12
#define RX_SRCBLEND 13
#define RX_DSTBLEND 14
#define RX_TEXBLEND 15
#define RX_COLORMODE 16
#define RX_PIXELMODE 17
#define RX_ZFUNC 18
#define RX_ALPHAREF 19
#define RX_ALPHAFUNC 20
#define RX_DITHER 21
#define RX_BLEND 22
#define RX_FILL 23
#define RX_TEXTURE 24
#define RX_FILLCOLOR 25
#define RX_FILLZ 26
#define RX_SOLIDCOLOR 27
#define RX_TRANSPCOLOR 28
#define RX_TRANSP_ENABLE 29
#define RX_FLOAT_ENABLE 30
#define RX_MASK_START 31
#define RX_AAPOINT_MODE 32
#define RX_AALINE_MODE 33
#define RX_AAPOLY_MODE 34
#define RX_SHADEMODE 35
#define RX_VERTEXTYPE 36
#define RX_SCANTYPE 37
typedef struct _COLORREFA { BYTE b; BYTE g; BYTE r; BYTE a; } COLORREFA;
typedef struct _COLORREFAFIX { LONGFIX b; LONGFIX g; LONGFIX r; LONGFIX a; } COLORREFAFIX;
typedef struct _PTFIX { LONGFIX x; LONGFIX y; } PTFIX;
typedef struct _PTFIXZ { LONGFIX x; LONGFIX y; ULONG z; } PTFIXZ;
typedef struct _PTFIXZTEX { LONGFIX x; LONGFIX y; ULONG z; LONGFIX s; LONGFIX t; FLOAT q; FLOAT w; } PTFIXZTEX;
typedef struct _COLORPTFIXZTEX { LONGFIX b; LONGFIX g; LONGFIX r; LONGFIX a; LONGFIX x; LONGFIX y; LONG z; LONGFIX s; LONGFIX t; FLOAT q; FLOAT w; } COLORPTFIXZTEX;
typedef struct _RXLINEPAT { USHORT repFactor; USHORT linePattern; } RXLINEPAT;
typedef struct _RXFILLPAT { ULONG fillPattern[32]; } RXFILLPAT;
typedef struct _RXBITBLT { ULONG pixType; DDIHANDLE hSrc; DDIHANDLE hDest; ULONG xSrc; ULONG ySrc; ULONG xDest; ULONG yDest; ULONG width; ULONG height; ULONG srcWidth; ULONG srcHeight; ULONG destWidth; ULONG destHeight; } RXBITBLT;
#define RX_COLOR_COMPONENT 1
#define RX_Z_COMPONENT 2
#define RX_FL_FILLCOLOR 0x0001
#define RX_FL_FILLZ 0x0002
// Comparison functions. Test passes if new pixel value meets the
// specified condition with the current pixel value.
#define RX_CMP_NEVER 0x0001
#define RX_CMP_LESS 0x0002
#define RX_CMP_EQUAL 0x0004
#define RX_CMP_LEQUAL 0x0008
#define RX_CMP_GREATER 0x0010
#define RX_CMP_NOTEQUAL 00x020
#define RX_CMP_GEQUAL 0x0040
#define RX_CMP_ALWAYS 0x0080
#define RX_CMP_ALLGL 0x00ff
// Primitive-drawing capability flags
#define RX_SCANPRIM 0x0001
#define RX_LINEPRIM 0x0002
#define RX_FILLPRIM 0x0004
#define RX_BITBLT 0x0008
// Z-buffer resource flags
#define RX_Z_PER_WINDOW 0x0001
#define RX_Z_PER_SCREEN 0x0002
// Mask capability flags
#define RX_MASK_MSB 0x0001
#define RX_MASK_LSB 0x0002
#define RX_MASK_PLANES 0x0004
// Blending flags
#define RX_BLND_ZERO 0x0001
#define RX_BLND_ONE 0x0002
#define RX_BLND_SRC_COLOR 0x0004
#define RX_BLND_INV_SRC_COLOR 0x0008
#define RX_BLND_SRC_ALPHA 0x0010
#define RX_BLND_INV_SRC_ALPHA 0x0020
#define RX_BLND_DST_ALPHA 0x0040
#define RX_BLND_INV_DST_ALPHA 0x0080
#define RX_BLND_DST_COLOR 0x0100
#define RX_BLND_INV_DST_COLOR 0x0200
#define RX_BLND_SRC_ALPHA_SAT 0x0400
#define RX_BLND_ALLGL 0x07ff
// Texture-mapping flags
#define RX_TEX_NEAREST 0x0001
#define RX_TEX_LINEAR 0x0002
#define RX_TEX_MIP_NEAREST 0x0004
#define RX_TEX_MIP_LINEAR 0x0008
#define RX_TEX_LINEAR_MIP_NEAREST 0x0010
#define RX_TEX_LINEAR_MIP_LINEAR 0x0020
// Texture blending flags
#define RX_TEX_DECAL 0x0001
#define RX_TEX_MODULATE 0x0002
// Raster/color capability flags
#define RX_RASTER_DITHER 0x0001
#define RX_RASTER_ROP2 0x0002
#define RX_RASTER_LINEPAT 0x0004
#define RX_RASTER_FILLPAT 0x0008
#define RX_RASTER_TRANSPARENCY 0x0010
typedef struct _RXCAPS { ULONG verMajor; ULONG verMinor; ULONG maskCaps; ULONG rasterCaps; ULONG drawCaps; ULONG aaCaps; ULONG cCaps; ULONG zCaps; ULONG zCmpCaps; ULONG srcBlendCaps; ULONG dstBlendCaps; ULONG alphaCmpCaps; ULONG texCaps; ULONG texFilterCaps; ULONG texBlendCaps; ULONG texMaxWidth; ULONG texMaxHeight; ULONG miscCaps; } RXCAPS;
#define RX_DEV_BITMAP 1
#define RX_MEM_BITMAP 2
typedef struct _RXSURFACEINFO { USHORT surfType; UCHAR cBytesPerPixel; UCHAR rDepth; UCHAR gDepth; UCHAR bDepth; UCHAR aDepth; UCHAR rBitShift; UCHAR gBitShift; UCHAR bBitShift; UCHAR aBitShift; UCHAR zBytesPerPixel; UCHAR zDepth; UCHAR zBitShift; VOID *pZBits; LONG zScanDelta; } RXSURFACEINFO;
typedef struct _RXSHAREMEM { HANDLE hSourceProcess; HANDLE hSource; DWORD dwOffset; DWORD dwSize; } RXSHAREMEM;
#define RX_SCAN_PIX 0x0001
#define RX_SCAN_COLOR 0x0002
#define RX_SCAN_COLORZ 0x0003
#define RX_SCAN_COLORZTEX 0x0004
#define RX_SCAN_DELTA 0x0001
#define RX_SCAN_MASK 0x0002
typedef struct _RXSCAN { USHORT x; USHORT y; USHORT flags; USHORT count; } RXSCAN;
#define FL_SCAN3D_DELTA 0x0001
#define FL_SCAN3D_PIX 0x0002
#define FL_SCAN3D_MASK 0x0004
typedef struct _RXSCANTEMPLATE { RXSCAN rxScan; COLORREFAFIX fixColor; PTFIXZTEX ptTex; } RXSCANTEMPLATE;
#define RX_RESOURCE_TEX 1
#define RX_MEMCACHE 1
#define RX_MEMDEV 2
#define RX_MEMANY 3
typedef struct _RXTEXTURE { ULONG level; ULONG width; ULONG height; ULONG border; } RXTEXTURE;
// Primitive types
#define RXPRIM_POINTS 1
#define RXPRIM_LINESTRIP 2
#define RXPRIM_TRISTRIP 3
#define RXPRIM_QUADSTRIP 4
#define RX_PTFIX 1
#define RX_PTFIXZ 2
#define RX_PTFIXZTEX 3
#define RX_INFO_CAPS 1
#define RX_INFO_SURFACE 2
#define DDIRX_GETINFO 1
#define DDIRX_CREATECONTEXT 2
#define DDIRX_DELETERESOURCE 3
#define DDIRX_MAPMEM 4
#define DDIRX_GETSURFACEHANDLE 5
#define DDIRX_SETSTATE 6
#define DDIRX_FILLRECT 7
#define DDIRX_BITBLT 8
#define DDIRX_POLYSCAN 9
#define DDIRX_ALLOCRESOURCE 10
#define DDIRX_LOADTEXTURE 11
#define DDIRX_PRIMSTRIP 12
|