mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 18:59:11 +02:00
+ added the win16api metafile functions
git-svn-id: trunk@31702 -
This commit is contained in:
parent
bccdafba1b
commit
45c75ae449
@ -531,6 +531,9 @@ function GetRasterizerCaps(var raststat: RASTERIZER_STATUS; cb: SmallInt): BOOL;
|
|||||||
function SetBitmapDimensionEx(hbm: HBITMAP; nX, nY: SmallInt; lpSize: LPSIZE): BOOL; external 'GDI';
|
function SetBitmapDimensionEx(hbm: HBITMAP; nX, nY: SmallInt; lpSize: LPSIZE): BOOL; external 'GDI';
|
||||||
function GetBitmapDimensionEx(hBitmap: HBITMAP; lpDimension: LPSIZE): BOOL; external 'GDI';
|
function GetBitmapDimensionEx(hBitmap: HBITMAP; lpDimension: LPSIZE): BOOL; external 'GDI';
|
||||||
|
|
||||||
|
{ Metafile support }
|
||||||
|
function SetMetaFileBitsBetter(hmf: HGLOBAL): HMETAFILE; external 'GDI';
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
@ -670,3 +670,25 @@ function SetDIBitsToDevice(hdc: HDC; XDest, YDest, cx, cy, XSrc, YSrc: SmallInt;
|
|||||||
function SetDIBitsToDevice(hdc: HDC; XDest, YDest, cx, cy, XSrc, YSrc: SmallInt; uStartScan, cScanLines: UINT;
|
function SetDIBitsToDevice(hdc: HDC; XDest, YDest, cx, cy, XSrc, YSrc: SmallInt; uStartScan, cScanLines: UINT;
|
||||||
lpvBits: FarPointer; var bmi: BITMAPINFO; fuColorUse: UINT): SmallInt; external 'GDI';
|
lpvBits: FarPointer; var bmi: BITMAPINFO; fuColorUse: UINT): SmallInt; external 'GDI';
|
||||||
{$endif}
|
{$endif}
|
||||||
|
|
||||||
|
{ Metafile support }
|
||||||
|
|
||||||
|
function CreateMetaFile(lpszFile: LPCSTR): HDC; external 'GDI';
|
||||||
|
function CloseMetaFile(hdc: HDC): HMETAFILE; external 'GDI';
|
||||||
|
|
||||||
|
function GetMetaFile(lpszFile: LPCSTR): HMETAFILE; external 'GDI';
|
||||||
|
function DeleteMetaFile(hmf: HMETAFILE): BOOL; external 'GDI';
|
||||||
|
function CopyMetaFile(hmfSrc: HMETAFILE; lpszFile: LPCSTR): HMETAFILE; external 'GDI';
|
||||||
|
|
||||||
|
function PlayMetaFile(hdc: HDC; hmf: HMETAFILE): BOOL; external 'GDI';
|
||||||
|
|
||||||
|
function GetMetaFileBits(hmf: HMETAFILE): HGLOBAL; external 'GDI';
|
||||||
|
function SetMetaFileBits(hmf: HGLOBAL): HMETAFILE; external 'GDI';
|
||||||
|
|
||||||
|
procedure PlayMetaFileRecord(hdc: HDC; lpht: LPHANDLETABLE; lpmr: LPMETARECORD; cHandles: UINT); external 'GDI';
|
||||||
|
{$ifdef VAR_PARAMS_ARE_FAR}
|
||||||
|
procedure PlayMetaFileRecord(hdc: HDC; var ht: HANDLETABLE; var mr: METARECORD; cHandles: UINT); external 'GDI';
|
||||||
|
{$endif}
|
||||||
|
|
||||||
|
function EnumMetaFile(hdc: HDC; hmf: HMETAFILE; mfenmprc: MFENUMPROC; lParam: LPARAM): BOOL; external 'GDI';
|
||||||
|
function EnumMetaFile(hdc: HDC; hmf: HMETAFILE; mfenmprc: TFarProc; lParam: LPARAM): BOOL; external 'GDI';
|
||||||
|
@ -1018,3 +1018,137 @@ const
|
|||||||
STRETCH_ANDSCANS = 1;
|
STRETCH_ANDSCANS = 1;
|
||||||
STRETCH_ORSCANS = 2;
|
STRETCH_ORSCANS = 2;
|
||||||
STRETCH_DELETESCANS = 3;
|
STRETCH_DELETESCANS = 3;
|
||||||
|
|
||||||
|
type
|
||||||
|
{ Metafile support }
|
||||||
|
HMETAFILE = THandle;
|
||||||
|
|
||||||
|
{ Clipboard Metafile Picture Structure }
|
||||||
|
PMETAFILEPICT = ^METAFILEPICT;
|
||||||
|
LPMETAFILEPICT = ^METAFILEPICT; far;
|
||||||
|
METAFILEPICT = record
|
||||||
|
mm: SmallInt;
|
||||||
|
xExt: SmallInt;
|
||||||
|
yExt: SmallInt;
|
||||||
|
hMF: HMETAFILE;
|
||||||
|
end;
|
||||||
|
TMetaFilePict = METAFILEPICT;
|
||||||
|
|
||||||
|
PMETAHEADER = ^METAHEADER;
|
||||||
|
LPMETAHEADER = ^METAHEADER; far;
|
||||||
|
METAHEADER = record
|
||||||
|
mtType: UINT;
|
||||||
|
mtHeaderSize: UINT;
|
||||||
|
mtVersion: UINT;
|
||||||
|
mtSize: DWORD;
|
||||||
|
mtNoObjects: UINT;
|
||||||
|
mtMaxRecord: DWORD;
|
||||||
|
mtNoParameters: UINT;
|
||||||
|
end;
|
||||||
|
TMetaHeader = METAHEADER;
|
||||||
|
|
||||||
|
PHANDLETABLE = ^HANDLETABLE;
|
||||||
|
LPHANDLETABLE = ^HANDLETABLE; far;
|
||||||
|
HANDLETABLE = record
|
||||||
|
objectHandle: array [0..0] of HGDIOBJ;
|
||||||
|
end;
|
||||||
|
THandleTable = HANDLETABLE;
|
||||||
|
|
||||||
|
PMETARECORD = ^METARECORD;
|
||||||
|
LPMETARECORD = ^METARECORD; far;
|
||||||
|
METARECORD = record
|
||||||
|
rdSize: DWORD;
|
||||||
|
rdFunction: UINT;
|
||||||
|
rdParm: array [0..0] of UINT;
|
||||||
|
end;
|
||||||
|
TMetaRecord = METARECORD;
|
||||||
|
|
||||||
|
const
|
||||||
|
{ Metafile Functions }
|
||||||
|
META_SETBKCOLOR = $0201;
|
||||||
|
META_SETBKMODE = $0102;
|
||||||
|
META_SETMAPMODE = $0103;
|
||||||
|
META_SETROP2 = $0104;
|
||||||
|
META_SETRELABS = $0105;
|
||||||
|
META_SETPOLYFILLMODE = $0106;
|
||||||
|
META_SETSTRETCHBLTMODE = $0107;
|
||||||
|
META_SETTEXTCHAREXTRA = $0108;
|
||||||
|
META_SETTEXTCOLOR = $0209;
|
||||||
|
META_SETTEXTJUSTIFICATION = $020A;
|
||||||
|
META_SETWINDOWORG = $020B;
|
||||||
|
META_SETWINDOWEXT = $020C;
|
||||||
|
META_SETVIEWPORTORG = $020D;
|
||||||
|
META_SETVIEWPORTEXT = $020E;
|
||||||
|
META_OFFSETWINDOWORG = $020F;
|
||||||
|
META_SCALEWINDOWEXT = $0410;
|
||||||
|
META_OFFSETVIEWPORTORG = $0211;
|
||||||
|
META_SCALEVIEWPORTEXT = $0412;
|
||||||
|
META_LINETO = $0213;
|
||||||
|
META_MOVETO = $0214;
|
||||||
|
META_EXCLUDECLIPRECT = $0415;
|
||||||
|
META_INTERSECTCLIPRECT = $0416;
|
||||||
|
META_ARC = $0817;
|
||||||
|
META_ELLIPSE = $0418;
|
||||||
|
META_FLOODFILL = $0419;
|
||||||
|
META_PIE = $081A;
|
||||||
|
META_RECTANGLE = $041B;
|
||||||
|
META_ROUNDRECT = $061C;
|
||||||
|
META_PATBLT = $061D;
|
||||||
|
META_SAVEDC = $001E;
|
||||||
|
META_SETPIXEL = $041F;
|
||||||
|
META_OFFSETCLIPRGN = $0220;
|
||||||
|
META_TEXTOUT = $0521;
|
||||||
|
META_BITBLT = $0922;
|
||||||
|
META_STRETCHBLT = $0B23;
|
||||||
|
META_POLYGON = $0324;
|
||||||
|
META_POLYLINE = $0325;
|
||||||
|
META_ESCAPE = $0626;
|
||||||
|
META_RESTOREDC = $0127;
|
||||||
|
META_FILLREGION = $0228;
|
||||||
|
META_FRAMEREGION = $0429;
|
||||||
|
META_INVERTREGION = $012A;
|
||||||
|
META_PAINTREGION = $012B;
|
||||||
|
META_SELECTCLIPREGION = $012C;
|
||||||
|
META_SELECTOBJECT = $012D;
|
||||||
|
META_SETTEXTALIGN = $012E;
|
||||||
|
META_DRAWTEXT = $062F;
|
||||||
|
|
||||||
|
META_CHORD = $0830;
|
||||||
|
META_SETMAPPERFLAGS = $0231;
|
||||||
|
META_EXTTEXTOUT = $0a32;
|
||||||
|
META_SETDIBTODEV = $0d33;
|
||||||
|
META_SELECTPALETTE = $0234;
|
||||||
|
META_REALIZEPALETTE = $0035;
|
||||||
|
META_ANIMATEPALETTE = $0436;
|
||||||
|
META_SETPALENTRIES = $0037;
|
||||||
|
META_POLYPOLYGON = $0538;
|
||||||
|
META_RESIZEPALETTE = $0139;
|
||||||
|
|
||||||
|
META_DIBBITBLT = $0940;
|
||||||
|
META_DIBSTRETCHBLT = $0b41;
|
||||||
|
META_DIBCREATEPATTERNBRUSH = $0142;
|
||||||
|
META_STRETCHDIB = $0f43;
|
||||||
|
|
||||||
|
META_EXTFLOODFILL = $0548;
|
||||||
|
|
||||||
|
META_RESETDC = $014C;
|
||||||
|
META_STARTDOC = $014D;
|
||||||
|
META_STARTPAGE = $004F;
|
||||||
|
META_ENDPAGE = $0050;
|
||||||
|
META_ABORTDOC = $0052;
|
||||||
|
META_ENDDOC = $005E;
|
||||||
|
|
||||||
|
META_DELETEOBJECT = $01f0;
|
||||||
|
|
||||||
|
META_CREATEPALETTE = $00f7;
|
||||||
|
META_CREATEBRUSH = $00F8;
|
||||||
|
META_CREATEPATTERNBRUSH = $01F9;
|
||||||
|
META_CREATEPENINDIRECT = $02FA;
|
||||||
|
META_CREATEFONTINDIRECT = $02FB;
|
||||||
|
META_CREATEBRUSHINDIRECT = $02FC;
|
||||||
|
META_CREATEBITMAPINDIRECT = $02FD;
|
||||||
|
META_CREATEBITMAP = $06FE;
|
||||||
|
META_CREATEREGION = $06FF;
|
||||||
|
|
||||||
|
type
|
||||||
|
MFENUMPROC = function(hdc: HDC; lpht: LPHANDLETABLE; lpmr: LPMETARECORD; cObj: SmallInt; lParam: LPARAM): SmallInt; far;
|
||||||
|
Loading…
Reference in New Issue
Block a user