|
@@ -25,10 +25,29 @@ typedef ULONG (_System FNVMIENTRY) ( |
|
|
|
|
|
#define VMI_CMD_INITPROC 1 |
|
|
#define VMI_CMD_TERMPROC 3 |
|
|
#define VMI_CMD_QUERYMODES 5 |
|
|
#define VMI_CMD_SETMODE 6 |
|
|
#define VMI_CMD_PALETTE 7 |
|
|
#define VMI_CMD_BITBLT 8 |
|
|
#define VMI_CMD_LINE 9 |
|
|
#define VMI_CMD_REQUESTHW 14 |
|
|
#define VMI_CMD_QUERYCURRENTMODE 0x1001 |
|
|
|
|
|
#define QUERYMODE_NUM_MODES 0x01 |
|
|
#define QUERYMODE_MODE_DATA 0x02 |
|
|
|
|
|
typedef struct _HWPALETTEINFO { |
|
|
ULONG ulLength; /* Size of the HWPALETTEINFO data structure, in bytes. */ |
|
|
ULONG fFlags; /* Palette flag. */ |
|
|
ULONG ulStartIndex; /* Starting palette index. */ |
|
|
ULONG ulNumEntries; /* Number of palette slots to query or set. */ |
|
|
PRGB2 pRGBs; /* Pointer to the array of RGB values. */ |
|
|
} HWPALETTEINFO; |
|
|
typedef HWPALETTEINFO *PHWPALETTEINFO; |
|
|
|
|
|
#define PALETTE_GET 0x01 |
|
|
#define PALETTE_SET 0x02 |
|
|
|
|
|
typedef struct _BMAPINFO { |
|
|
ULONG ulLength; /* Length of the BMAPINFO data structure, in bytes. */ |
|
|
ULONG ulType; /* Description of the Blt. */ |
|
@@ -43,6 +62,44 @@ typedef BMAPINFO *PBMAPINFO; |
|
|
#define BMAP_VRAM 0 |
|
|
#define BMAP_MEMORY 1 |
|
|
|
|
|
typedef struct _LINEPACK { |
|
|
ULONG ulStyleStep; /* Value to be added to ulStyleValue. */ |
|
|
ULONG ulStyleValue; /* Style value at the current pel. */ |
|
|
ULONG ulFlags; /* Flags used for the LINEPACK data structure. */ |
|
|
struct _LINEPACK *plpkNext; /* Pointer to next LINEPACK data structure. */ |
|
|
ULONG ulAbsDeltaX; /* Clipped Bresenham Delta X, absolute. */ |
|
|
ULONG ulAbsDeltaY; /* Clipped Bresenham Delta Y, absolute. */ |
|
|
POINTL ptlClipStart; /* Pointer to location for device to perform Bresenham algorithm. */ |
|
|
POINTL ptlClipEnd; /* Ending location for Bresenham algorithm (see ptlClipStart). */ |
|
|
POINTL ptlStart; /* Pointer to starting location for line. */ |
|
|
POINTL ptlEnd; /* Ending location for line. */ |
|
|
LONG lClipStartError;/* Standard Bresenham error at the clipped start point. */ |
|
|
} LINEPACK; |
|
|
typedef LINEPACK *PLINEPACK; |
|
|
|
|
|
typedef struct _LINEINFO { |
|
|
ULONG ulLength; /* Length of LINEINFO data structure. */ |
|
|
ULONG ulType; /* Defines line type. */ |
|
|
ULONG ulStyleMask; /* A 32-bit style mask. */ |
|
|
ULONG cLines; /* Count of lines to be drawn. */ |
|
|
ULONG ulFGColor; /* Line Foreground color. */ |
|
|
ULONG ulBGColor; /* Line Background color. */ |
|
|
USHORT usForeROP; /* Line Foreground mix. */ |
|
|
USHORT usBackROP; /* Line Background mix. */ |
|
|
PBMAPINFO pDstBmapInfo; /* Pointer to destination surface bit map. */ |
|
|
PLINEPACK alpkLinePack; /* Pointer to LINEPACK data structure. */ |
|
|
PRECTL prclBounds; /* Pointer to bounding rect of a clipped line. */ |
|
|
} LINEINFO; |
|
|
typedef LINEINFO *PLINEINFO; |
|
|
|
|
|
#define LINE_DO_FIRST_PEL 0x02 |
|
|
#define LINE_DIR_Y_POSITIVE 0x04 |
|
|
#define LINE_HORIZONTAL 0x08 |
|
|
#define LINE_DIR_X_POSITIVE 0x20 |
|
|
#define LINE_VERTICAL 0x1000 |
|
|
#define LINE_DO_LAST_PEL 0x4000 |
|
|
#define LINE_SOLID 0x01 |
|
|
|
|
|
typedef struct _BLTRECT { |
|
|
ULONG ulXOrg; /* X origin of the destination Blt. */ |
|
|
ULONG ulYOrg; /* Y origin of the destination Blt. */ |
|
@@ -102,4 +159,13 @@ typedef HWREQIN *PHWREQIN; |
|
|
|
|
|
#define REQUEST_HW 0x01 |
|
|
|
|
|
/* |
|
|
BOOL GreDeath(HDC hdc, PVOID pInstance, LONG lFunction); |
|
|
LONG GreResurrection(HDC hdc, LONG cbVmem, PULONG pReserved, PVOID pInstance, LONG lFunction); |
|
|
*/ |
|
|
#define GreDeath(h) (BOOL)Gre32Entry3((ULONG)(h), 0, 0x40B7L) |
|
|
#define GreResurrection(h,n,r) (LONG)Gre32Entry5((ULONG)(h), (ULONG)(n), (ULONG)(r), 0, 0x40B8L) |
|
|
ULONG _System Gre32Entry3(ULONG, ULONG, ULONG); |
|
|
ULONG _System Gre32Entry5(ULONG, ULONG, ULONG, ULONG, ULONG); |
|
|
|
|
|
#endif /* my_gradd_h_ */ |