mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 13:29:19 +02:00
+ added the win16api bitmap functions, types and consts
git-svn-id: trunk@31701 -
This commit is contained in:
parent
34766b82d8
commit
bccdafba1b
@ -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.
|
||||||
|
@ -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}
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user