+ added the win16api bitmap functions, types and consts

git-svn-id: trunk@31701 -
This commit is contained in:
nickysn 2015-09-15 16:12:46 +00:00
parent 34766b82d8
commit bccdafba1b
3 changed files with 213 additions and 0 deletions

View File

@ -527,6 +527,10 @@ function GetRasterizerCaps(lpraststat: LPRASTERIZER_STATUS; cb: SmallInt): BOOL;
function GetRasterizerCaps(var raststat: RASTERIZER_STATUS; cb: SmallInt): BOOL; external 'GDI'; function GetRasterizerCaps(var raststat: RASTERIZER_STATUS; cb: SmallInt): BOOL; external 'GDI';
{$endif} {$endif}
{ Bitmap support }
function SetBitmapDimensionEx(hbm: HBITMAP; nX, nY: SmallInt; lpSize: LPSIZE): BOOL; external 'GDI';
function GetBitmapDimensionEx(hBitmap: HBITMAP; lpDimension: LPSIZE): BOOL; external 'GDI';
implementation implementation
end. end.

View File

@ -613,3 +613,60 @@ function GetTextMetrics(hdc: HDC; var tm: TEXTMETRIC): BOOL; external 'GDI';
function EnumFonts(hdc: HDC; lpszFace: LPCSTR; fntenmprc: OLDFONTENUMPROC; lParam: LPARAM): SmallInt; external 'GDI'; function EnumFonts(hdc: HDC; lpszFace: LPCSTR; fntenmprc: OLDFONTENUMPROC; lParam: LPARAM): SmallInt; external 'GDI';
function EnumFonts(hdc: HDC; lpszFace: LPCSTR; fntenmprc: TFarProc; lParam: LPARAM): SmallInt; external 'GDI'; function EnumFonts(hdc: HDC; lpszFace: LPCSTR; fntenmprc: TFarProc; lParam: LPARAM): SmallInt; external 'GDI';
{ Bitmap support }
function CreateBitmap(nWidth, nHeight: SmallInt; cbPlanes, cbBits: UINT; lpvBits: FarPointer): HBITMAP; external 'GDI';
function CreateBitmapIndirect(lpbm: LPBITMAP): HBITMAP; external 'GDI';
{$ifdef VAR_PARAMS_ARE_FAR}
function CreateBitmapIndirect(var bm: BITMAP): HBITMAP; external 'GDI';
{$endif}
function CreateCompatibleBitmap(hdc: HDC; nWidth, nHeight: SmallInt): HBITMAP; external 'GDI';
function CreateDiscardableBitmap(hdc: HDC; nWidth, nHeight: SmallInt): HBITMAP; external 'GDI';
function CreateDIBitmap(hdc: HDC; lpbmih: LPBITMAPINFOHEADER; dwInit: DWORD; lpvBits: FarPointer; lpbmi: LPBITMAPINFO; fnColorUse: UINT): HBITMAP; external 'GDI';
{$ifdef VAR_PARAMS_ARE_FAR}
function CreateDIBitmap(hdc: HDC; var bmih: BITMAPINFOHEADER; dwInit: DWORD; lpvBits: FarPointer; var bmi: BITMAPINFO; fnColorUse: UINT): HBITMAP; external 'GDI';
{$endif}
function LoadBitmap(hinst: HINST; lpszBitmap: LPCSTR): HBITMAP; external 'USER';
function BitBlt(hdcDest: HDC; nXDest, nYDest, nWidth, nHeight: SmallInt; hdcSrc: HDC; nXSrc, nYSrc: SmallInt; dwRop: DWORD): BOOL; external 'GDI';
function PatBlt(hdc: HDC; nLeftRect, nTopRect, nwidth, nheight: SmallInt; fdwRop: DWORD): BOOL; external 'GDI';
function StretchBlt(hdcDest: HDC; nXOriginDest, nYOriginDest, nWidthDest, nHeightDest: SmallInt; hdcSrc: HDC; nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc: SmallInt; fdwRop: DWORD): BOOL; external 'GDI';
function StretchDIBits(hdc: HDC; XDest, YDest, cxDest, cyDest, XSrc, YSrc, cxSrc, cySrc: SmallInt;
lpvBits: FarPointer; lpbmi: LPBITMAPINFO; fuColorUse: UINT; fdwRop: DWORD): SmallInt; external 'GDI';
{$ifdef VAR_PARAMS_ARE_FAR}
function StretchDIBits(hdc: HDC; XDest, YDest, cxDest, cyDest, XSrc, YSrc, cxSrc, cySrc: SmallInt;
lpvBits: FarPointer; var bmi: BITMAPINFO; fuColorUse: UINT; fdwRop: DWORD): SmallInt; external 'GDI';
{$endif}
function SetPixel(hdc: HDC; nXPos, nYPos: SmallInt; clrref: COLORREF): COLORREF; external 'GDI';
function GetPixel(hdc: HDC; nXPos, nYPos: SmallInt): COLORREF; external 'GDI';
function SetStretchBltMode(hdc: HDC; fnStretchMode: SmallInt): SmallInt; external 'GDI';
function GetStretchBltMode(hdc: HDC): SmallInt; external 'GDI';
function SetBitmapDimension(hbmp: HBITMAP; nWidth, nHeight: SmallInt): DWORD; external 'GDI';
function GetBitmapDimension(hbm: HBITMAP): DWORD; external 'GDI';
function SetROP2(hdc: HDC; fnDrawMode: SmallInt): SmallInt; external 'GDI';
function GetROP2(hdc: HDC): SmallInt; external 'GDI';
function SetBitmapBits(hbmp: HBITMAP; cBits: DWORD; lpvBits: FarPointer): LONG; external 'GDI';
function GetBitmapBits(hbm: HBITMAP; cbBuffer: LONG; lpvBits: FarPointer): LONG; external 'GDI';
function SetDIBits(hdc: HDC; hbmp: HBITMAP; uStartScan, cScanLines: UINT; lpvBits: FarPointer; lpbmi: LPBITMAPINFO; fuColorUse: UINT): SmallInt; external 'GDI';
function GetDIBits(hdc: HDC; hbmp: HBITMAP; nStartScan, cScanLines: UINT; lpvBits: FarPointer; lpbmi: LPBITMAPINFO; fuColorUse: UINT): SmallInt; external 'GDI';
{$ifdef VAR_PARAMS_ARE_FAR}
function SetDIBits(hdc: HDC; hbmp: HBITMAP; uStartScan, cScanLines: UINT; lpvBits: FarPointer; var bmi: BITMAPINFO; fuColorUse: UINT): SmallInt; external 'GDI';
function GetDIBits(hdc: HDC; hbmp: HBITMAP; nStartScan, cScanLines: UINT; lpvBits: FarPointer; var bmi: BITMAPINFO; fuColorUse: UINT): SmallInt; external 'GDI';
{$endif}
function SetDIBitsToDevice(hdc: HDC; XDest, YDest, cx, cy, XSrc, YSrc: SmallInt; uStartScan, cScanLines: UINT;
lpvBits: FarPointer; lpbmi: LPBITMAPINFO; fuColorUse: UINT): SmallInt; external 'GDI';
{$ifdef VAR_PARAMS_ARE_FAR}
function SetDIBitsToDevice(hdc: HDC; XDest, YDest, cx, cy, XSrc, YSrc: SmallInt; uStartScan, cScanLines: UINT;
lpvBits: FarPointer; var bmi: BITMAPINFO; fuColorUse: UINT): SmallInt; external 'GDI';
{$endif}

View File

@ -866,3 +866,155 @@ const
{ EnumFonts font type values } { EnumFonts font type values }
RASTER_FONTTYPE = $0001; RASTER_FONTTYPE = $0001;
DEVICE_FONTTYPE = $0002; DEVICE_FONTTYPE = $0002;
type
{ Bitmap support }
PBITMAP = ^BITMAP;
NPBITMAP = ^BITMAP; near;
LPBITMAP = ^BITMAP; far;
BITMAP = record
bmType: SmallInt;
bmWidth: SmallInt;
bmHeight: SmallInt;
bmWidthBytes: SmallInt;
bmPlanes: BYTE;
bmBitsPixel: BYTE;
bmBits: FarPointer;
end;
TBitmap = BITMAP;
{ Bitmap Header structures }
PRGBTRIPLE = ^RGBTRIPLE;
LPRGBTRIPLE = ^RGBTRIPLE; far;
RGBTRIPLE = record
rgbtBlue: BYTE;
rgbtGreen: BYTE;
rgbtRed: BYTE;
end;
TRGBTriple = RGBTRIPLE;
PRGBQUAD = ^RGBQUAD;
LPRGBQUAD = ^RGBQUAD; far;
RGBQUAD = record
rgbBlue: BYTE;
rgbGreen: BYTE;
rgbRed: BYTE;
rgbReserved: BYTE;
end;
TRGBQuad = RGBQUAD;
{ structures for defining DIBs }
PBITMAPCOREHEADER = ^BITMAPCOREHEADER;
LPBITMAPCOREHEADER = ^BITMAPCOREHEADER; far;
BITMAPCOREHEADER = record
bcSize: DWORD;
bcWidth: SmallInt;
bcHeight: SmallInt;
bcPlanes: WORD;
bcBitCount: WORD;
end;
TBitmapCoreHeader = BITMAPCOREHEADER;
PBITMAPINFOHEADER = ^BITMAPINFOHEADER;
LPBITMAPINFOHEADER = ^BITMAPINFOHEADER; far;
BITMAPINFOHEADER = record
biSize: DWORD;
biWidth: LONG;
biHeight: LONG;
biPlanes: WORD;
biBitCount: WORD;
biCompression: DWORD;
biSizeImage: DWORD;
biXPelsPerMeter: LONG;
biYPelsPerMeter: LONG;
biClrUsed: DWORD;
biClrImportant: DWORD;
end;
TBitmapInfoHeader = BITMAPINFOHEADER;
const
{ constants for the biCompression field }
BI_RGB = 0;
BI_RLE8 = 1;
BI_RLE4 = 2;
type
PBITMAPINFO = ^BITMAPINFO;
LPBITMAPINFO = ^BITMAPINFO; far;
BITMAPINFO = record
bmiHeader: BITMAPINFOHEADER;
bmiColors: array [0..0] of RGBQUAD;
end;
TBitmapInfo = BITMAPINFO;
PBITMAPCOREINFO = ^BITMAPCOREINFO;
LPBITMAPCOREINFO = ^BITMAPCOREINFO; far;
BITMAPCOREINFO = record
bmciHeader: BITMAPCOREHEADER;
bmciColors: array [0..0] of RGBTRIPLE;
end;
TBitmapCoreInfo = BITMAPCOREINFO;
PBITMAPFILEHEADER = ^BITMAPFILEHEADER;
LPBITMAPFILEHEADER = ^BITMAPFILEHEADER; far;
BITMAPFILEHEADER = record
bfType: UINT;
bfSize: DWORD;
bfReserved1: UINT;
bfReserved2: UINT;
bfOffBits: DWORD;
end;
TBitmapFileHeader = BITMAPFILEHEADER;
const
{ DIB color table identifiers }
DIB_RGB_COLORS = 0;
DIB_PAL_COLORS = 1;
{ constants for CreateDIBitmap }
CBM_INIT = $00000004;
{ Binary raster ops }
R2_BLACK = 1;
R2_NOTMERGEPEN = 2;
R2_MASKNOTPEN = 3;
R2_NOTCOPYPEN = 4;
R2_MASKPENNOT = 5;
R2_NOT = 6;
R2_XORPEN = 7;
R2_NOTMASKPEN = 8;
R2_MASKPEN = 9;
R2_NOTXORPEN = 10;
R2_NOP = 11;
R2_MERGENOTPEN = 12;
R2_COPYPEN = 13;
R2_MERGEPENNOT = 14;
R2_MERGEPEN = 15;
R2_WHITE = 16;
{ Ternary raster operations }
SRCCOPY = $00CC0020;
SRCPAINT = $00EE0086;
SRCAND = $008800C6;
SRCINVERT = $00660046;
SRCERASE = $00440328;
NOTSRCCOPY = $00330008;
NOTSRCERASE = $001100A6;
MERGECOPY = $00C000CA;
MERGEPAINT = $00BB0226;
PATCOPY = $00F00021;
PATPAINT = $00FB0A09;
PATINVERT = $005A0049;
DSTINVERT = $00550009;
BLACKNESS = $00000042;
WHITENESS = $00FF0062;
{ StretchBlt() Modes }
BLACKONWHITE = 1;
WHITEONBLACK = 2;
COLORONCOLOR = 3;
{ new StretchBlt() Modes (simpler names) }
STRETCH_ANDSCANS = 1;
STRETCH_ORSCANS = 2;
STRETCH_DELETESCANS = 3;