📄 wingdi.pas
字号:
PRgbTriple = ^TRgbTriple;
tagRGBTRIPLE = packed record
rgbtBlue: BYTE;
rgbtGreen: BYTE;
rgbtRed: BYTE;
end;
{$EXTERNALSYM tagRGBTRIPLE}
RGBTRIPLE = tagRGBTRIPLE;
{$EXTERNALSYM RGBTRIPLE}
TRgbTriple = RGBTRIPLE;
// #include <poppack.h>
PRgbQuad = ^TRgbQuad;
tagRGBQUAD = record
rgbBlue: BYTE;
rgbGreen: BYTE;
rgbRed: BYTE;
rgbReserved: BYTE;
end;
{$EXTERNALSYM tagRGBQUAD}
RGBQUAD = tagRGBQUAD;
{$EXTERNALSYM RGBQUAD}
LPRGBQUAD = ^RGBQUAD;
{$EXTERNALSYM LPRGBQUAD}
TRgbQuad = RGBQUAD;
// Image Color Matching color definitions
const
CS_ENABLE = $00000001;
{$EXTERNALSYM CS_ENABLE}
CS_DISABLE = $00000002;
{$EXTERNALSYM CS_DISABLE}
CS_DELETE_TRANSFORM = $00000003;
{$EXTERNALSYM CS_DELETE_TRANSFORM}
// Logcolorspace signature
LCS_SIGNATURE = 'PSOC';
{$EXTERNALSYM LCS_SIGNATURE}
// Logcolorspace lcsType values
LCS_sRGB = 'sRGB';
{$EXTERNALSYM LCS_sRGB}
LCS_WINDOWS_COLOR_SPACE = 'Win '; // Windows default color space
{$EXTERNALSYM LCS_WINDOWS_COLOR_SPACE}
type
LCSCSTYPE = LONG;
{$EXTERNALSYM LCSCSTYPE}
const
LCS_CALIBRATED_RGB = $00000000;
{$EXTERNALSYM LCS_CALIBRATED_RGB}
type
LCSGAMUTMATCH = LONG;
{$EXTERNALSYM LCSGAMUTMATCH }
const
LCS_GM_BUSINESS = $00000001;
{$EXTERNALSYM LCS_GM_BUSINESS}
LCS_GM_GRAPHICS = $00000002;
{$EXTERNALSYM LCS_GM_GRAPHICS}
LCS_GM_IMAGES = $00000004;
{$EXTERNALSYM LCS_GM_IMAGES}
LCS_GM_ABS_COLORIMETRIC = $00000008;
{$EXTERNALSYM LCS_GM_ABS_COLORIMETRIC}
// ICM Defines for results from CheckColorInGamut()
CM_OUT_OF_GAMUT = 255;
{$EXTERNALSYM CM_OUT_OF_GAMUT}
CM_IN_GAMUT = 0;
{$EXTERNALSYM CM_IN_GAMUT}
// UpdateICMRegKey Constants
ICM_ADDPROFILE = 1;
{$EXTERNALSYM ICM_ADDPROFILE}
ICM_DELETEPROFILE = 2;
{$EXTERNALSYM ICM_DELETEPROFILE}
ICM_QUERYPROFILE = 3;
{$EXTERNALSYM ICM_QUERYPROFILE}
ICM_SETDEFAULTPROFILE = 4;
{$EXTERNALSYM ICM_SETDEFAULTPROFILE}
ICM_REGISTERICMATCHER = 5;
{$EXTERNALSYM ICM_REGISTERICMATCHER}
ICM_UNREGISTERICMATCHER = 6;
{$EXTERNALSYM ICM_UNREGISTERICMATCHER}
ICM_QUERYMATCH = 7;
{$EXTERNALSYM ICM_QUERYMATCH}
// Macros to retrieve CMYK values from a COLORREF
function GetKValue(cmyk: COLORREF): BYTE;
{$EXTERNALSYM GetKValue}
function GetYValue(cmyk: COLORREF): BYTE;
{$EXTERNALSYM GetYValue}
function GetMValue(cmyk: COLORREF): BYTE;
{$EXTERNALSYM GetMValue}
function GetCValue(cmyk: COLORREF): BYTE;
{$EXTERNALSYM GetCValue}
function CMYK(c, m, y, k: BYTE): COLORREF;
{$EXTERNALSYM CMYK}
type
FXPT16DOT16 = Longint;
{$EXTERNALSYM FXPT16DOT16}
LPFXPT16DOT16 = ^FXPT16DOT16;
{$EXTERNALSYM LPFXPT16DOT16}
FXPT2DOT30 = Longint;
{$EXTERNALSYM FXPT2DOT30}
LPFXPT2DOT30 = ^FXPT2DOT30;
{$EXTERNALSYM LPFXPT2DOT30}
// ICM Color Definitions
// The following two structures are used for defining RGB's in terms of CIEXYZ.
PCieXyz = ^TCieXyz;
tagCIEXYZ = record
ciexyzX: FXPT2DOT30;
ciexyzY: FXPT2DOT30;
ciexyzZ: FXPT2DOT30;
end;
{$EXTERNALSYM tagCIEXYZ}
CIEXYZ = tagCIEXYZ;
{$EXTERNALSYM CIEXYZ}
LPCIEXYZ = ^CIEXYZ;
{$EXTERNALSYM LPCIEXYZ}
TCieXyz = CIEXYZ;
PCieXyzTriple = ^TCieXyzTriple;
tagCIEXYZTRIPLE = record
ciexyzRed: CIEXYZ;
ciexyzGreen: CIEXYZ;
ciexyzBlue: CIEXYZ;
end;
{$EXTERNALSYM tagCIEXYZTRIPLE}
CIEXYZTRIPLE = tagCIEXYZTRIPLE;
{$EXTERNALSYM CIEXYZTRIPLE}
LPCIEXYZTRIPLE = ^CIEXYZTRIPLE;
{$EXTERNALSYM LPCIEXYZTRIPLE}
TCieXyzTriple = CIEXYZTRIPLE;
// The next structures the logical color space. Unlike pens and brushes,
// but like palettes, there is only one way to create a LogColorSpace.
// A pointer to it must be passed, its elements can't be pushed as
// arguments.
PLogColorSpaceA = ^TLogColorSpaceA;
tagLOGCOLORSPACEA = record
lcsSignature: DWORD;
lcsVersion: DWORD;
lcsSize: DWORD;
lcsCSType: LCSCSTYPE;
lcsIntent: LCSGAMUTMATCH;
lcsEndpoints: CIEXYZTRIPLE;
lcsGammaRed: DWORD;
lcsGammaGreen: DWORD;
lcsGammaBlue: DWORD;
lcsFilename: array [0..MAX_PATH - 1] of CHAR;
end;
{$EXTERNALSYM tagLOGCOLORSPACEA}
LOGCOLORSPACEA = tagLOGCOLORSPACEA;
{$EXTERNALSYM LOGCOLORSPACEA}
LPLOGCOLORSPACEA = ^LOGCOLORSPACEA;
{$EXTERNALSYM LPLOGCOLORSPACEA}
TLogColorSpaceA = LOGCOLORSPACEA;
PLogColorSpaceW = ^TLogColorSpaceW;
tagLOGCOLORSPACEW = record
lcsSignature: DWORD;
lcsVersion: DWORD;
lcsSize: DWORD;
lcsCSType: LCSCSTYPE;
lcsIntent: LCSGAMUTMATCH;
lcsEndpoints: CIEXYZTRIPLE;
lcsGammaRed: DWORD;
lcsGammaGreen: DWORD;
lcsGammaBlue: DWORD;
lcsFilename: array [0..MAX_PATH - 1] of WCHAR;
end;
{$EXTERNALSYM tagLOGCOLORSPACEW}
LOGCOLORSPACEW = tagLOGCOLORSPACEW;
{$EXTERNALSYM LOGCOLORSPACEW}
LPLOGCOLORSPACEW = ^LOGCOLORSPACEW;
{$EXTERNALSYM LPLOGCOLORSPACEW}
TLogColorSpaceW = LOGCOLORSPACEW;
{$IFDEF UNICODE}
LOGCOLORSPACE = LOGCOLORSPACEW;
{$EXTERNALSYM LOGCOLORSPACE}
LPLOGCOLORSPACE = LPLOGCOLORSPACEW;
{$EXTERNALSYM LPLOGCOLORSPACE}
TLogColorSpace = TLogColorSpaceW;
PLogColorSpace = PLogColorSpaceW;
{$ELSE}
LOGCOLORSPACE = LOGCOLORSPACEA;
{$EXTERNALSYM LOGCOLORSPACE}
LPLOGCOLORSPACE = LPLOGCOLORSPACEA;
{$EXTERNALSYM LPLOGCOLORSPACE}
TLogColorSpace = TLogColorSpaceA;
PLogColorSpace = PLogColorSpaceA;
{$ENDIF}
// structures for defining DIBs
PBitmapCoreHeader = ^TBitmapCoreHeader;
tagBITMAPCOREHEADER = record
bcSize: DWORD;
bcWidth: WORD;
bcHeight: WORD;
bcPlanes: WORD;
bcBitCount: WORD;
end;
{$EXTERNALSYM tagBITMAPCOREHEADER}
BITMAPCOREHEADER = tagBITMAPCOREHEADER;
{$EXTERNALSYM BITMAPCOREHEADER}
LPBITMAPCOREHEADER = ^BITMAPCOREHEADER;
{$EXTERNALSYM LPBITMAPCOREHEADER}
TBitmapCoreHeader = BITMAPCOREHEADER;
PBitmapInfoHeader = ^TBitmapInfoHeader;
tagBITMAPINFOHEADER = record
biSize: DWORD;
biWidth: LONG;
biHeight: LONG;
biPlanes: WORD;
biBitCount: WORD;
biCompression: DWORD;
biSizeImage: DWORD;
biXPelsPerMeter: LONG;
biYPelsPerMeter: LONG;
biClrUsed: DWORD;
biClrImportant: DWORD;
end;
{$EXTERNALSYM tagBITMAPINFOHEADER}
BITMAPINFOHEADER = tagBITMAPINFOHEADER;
{$EXTERNALSYM BITMAPINFOHEADER}
LPBITMAPINFOHEADER = ^BITMAPINFOHEADER;
{$EXTERNALSYM LPBITMAPINFOHEADER}
TBitmapInfoHeader = BITMAPINFOHEADER;
PBitmapV4Header = ^TBitmapV4Header;
BITMAPV4HEADER = record
bV4Size: DWORD;
bV4Width: LONG;
bV4Height: LONG;
bV4Planes: WORD;
bV4BitCount: WORD;
bV4V4Compression: DWORD;
bV4SizeImage: DWORD;
bV4XPelsPerMeter: LONG;
bV4YPelsPerMeter: LONG;
bV4ClrUsed: DWORD;
bV4ClrImportant: DWORD;
bV4RedMask: DWORD;
bV4GreenMask: DWORD;
bV4BlueMask: DWORD;
bV4AlphaMask: DWORD;
bV4CSType: DWORD;
bV4Endpoints: CIEXYZTRIPLE;
bV4GammaRed: DWORD;
bV4GammaGreen: DWORD;
bV4GammaBlue: DWORD;
end;
{$EXTERNALSYM BITMAPV4HEADER}
LPBITMAPV4HEADER = ^BITMAPV4HEADER;
{$EXTERNALSYM LPBITMAPV4HEADER}
TBitmapV4Header = BITMAPV4HEADER;
PBitmapV5Header = ^TBitmapV5Header;
BITMAPV5HEADER = record
bV5Size: DWORD;
bV5Width: LONG;
bV5Height: LONG;
bV5Planes: WORD;
bV5BitCount: WORD;
bV5Compression: DWORD;
bV5SizeImage: DWORD;
bV5XPelsPerMeter: LONG;
bV5YPelsPerMeter: LONG;
bV5ClrUsed: DWORD;
bV5ClrImportant: DWORD;
bV5RedMask: DWORD;
bV5GreenMask: DWORD;
bV5BlueMask: DWORD;
bV5AlphaMask: DWORD;
bV5CSType: DWORD;
bV5Endpoints: CIEXYZTRIPLE;
bV5GammaRed: DWORD;
bV5GammaGreen: DWORD;
bV5GammaBlue: DWORD;
bV5Intent: DWORD;
bV5ProfileData: DWORD;
bV5ProfileSize: DWORD;
bV5Reserved: DWORD;
end;
{$EXTERNALSYM BITMAPV5HEADER}
LPBITMAPV5HEADER = ^BITMAPV5HEADER;
{$EXTERNALSYM LPBITMAPV5HEADER}
TBitmapV5Header = BITMAPV5HEADER;
// Values for bV5CSType
const
PROFILE_LINKED = 'LINK';
{$EXTERNALSYM PROFILE_LINKED}
PROFILE_EMBEDDED = 'MBED';
{$EXTERNALSYM PROFILE_EMBEDDED}
// constants for the biCompression field
BI_RGB = 0;
{$EXTERNALSYM BI_RGB}
BI_RLE8 = 1;
{$EXTERNALSYM BI_RLE8}
BI_RLE4 = 2;
{$EXTERNALSYM BI_RLE4}
BI_BITFIELDS = 3;
{$EXTERNALSYM BI_BITFIELDS}
BI_JPEG = 4;
{$EXTERNALSYM BI_JPEG}
BI_PNG = 5;
{$EXTERNALSYM BI_PNG}
type
PBitmapInfo = ^TBitmapInfo;
tagBITMAPINFO = record
bmiHeader: BITMAPINFOHEADER;
bmiColors: array [0..0] of RGBQUAD;
end;
{$EXTERNALSYM tagBITMAPINFO}
BITMAPINFO = tagBITMAPINFO;
{$EXTERNALSYM BITMAPINFO}
LPBITMAPINFO = ^BITMAPINFO;
{$EXTERNALSYM LPBITMAPINFO}
TBitmapInfo = BITMAPINFO;
PBitmapCoreInfo = ^TBitmapCoreInfo;
tagBITMAPCOREINFO = record
bmciHeader: BITMAPCOREHEADER;
bmciColors: array [0..0] of RGBTRIPLE;
end;
{$EXTERNALSYM tagBITMAPCOREINFO}
BITMAPCOREINFO = tagBITMAPCOREINFO;
{$EXTERNALSYM BITMAPCOREINFO}
LPBITMAPCOREINFO = ^BITMAPCOREINFO;
{$EXTERNALSYM LPBITMAPCOREINFO}
TBitmapCoreInfo = BITMAPCOREINFO;
// #include <pshpack2.h>
PBitmapFileHeader = ^TBitmapFileHeader;
tagBITMAPFILEHEADER = packed record
bfType: WORD;
bfSize: DWORD;
bfReserved1: WORD;
bfReserved2: WORD;
bfOffBits: DWORD;
end;
{$EXTERNALSYM tagBITMAPFILEHEADER}
BITMAPFILEHEADER = tagBITMAPFILEHEADER;
{$EXTERNALSYM BITMAPFILEHEADER}
LPBITMAPFILEHEADER = ^BITMAPFILEHEADER;
{$EXTERNALSYM BITMAPFILEHEADER}
TBitmapFileHeader = BITMAPFILEHEADER;
// #include <poppack.h>
function MAKEPOINTS(l: DWORD): POINTS;
{$EXTERNALSYM MAKEPOINTS}
type
PFontSignature = ^TFontSignature;
tagFONTSIGNATURE = record
fsUsb: array [0..3] of DWORD;
fsCsb: array [0..1] of DWORD;
end;
{$EXTERNALSYM tagFONTSIGNATURE}
FONTSIGNATURE = tagFONTSIGNATURE;
{$EXTERNALSYM FONTSIGNATURE}
LPFONTSIGNATURE = ^FONTSIGNATURE;
{$EXTERNALSYM LPFONTSIGNATURE}
TFontSignature = FONTSIGNATURE;
PCharSetInfo = ^TCharSetInfo;
tagCHARSETINFO = record
ciCharset: UINT;
ciACP: UINT;
fs: FONTSIGNATURE;
end;
{$EXTERNALSYM tagCHARSETINFO}
CHARSETINFO = tagCHARSETINFO;
{$EXTERNALSYM CHARSETINFO}
LPCHARSETINFO = ^CHARSETINFO;
{$EXTERNALSYM LPCHARSETINFO}
NPCHARSETINFO = ^CHARSETINFO;
{$EXTERNALSYM NPCHARSETINFO}
TCharSetInfo = CHARSETINFO;
const
TCI_SRCCHARSET = 1;
{$EXTERNALSYM TCI_SRCCHARSET}
TCI_SRCCODEPAGE = 2;
{$EXTERNALSYM TCI_SRCCODEPAGE}
TCI_SRCFONTSIG = 3;
{$EXTERNALSYM TCI_SRCFONTSIG}
type
PLocaleSignature = ^TLocaleSignature;
tagLOCALESIGNATURE = record
lsUsb: array [0..3] of DWORD;
lsCsbDefault: array [0..1] of DWORD;
lsCsbSupported: array [0..1] of DWORD;
end;
{$EXTERNALSYM tagLOCALESIGNATURE}
LOCALESIGNATURE = tagLOCALESIGNATURE;
{$EXTERNALSYM LOCALESIGNATURE}
LPLOCALESIGNATURE = ^LOCALESIGNATURE;
{$EXTERNALSYM LPLOCALESIGNATURE}
TLocaleSignature = LOCALESIGNATURE;
// Clipboard Metafile Picture Structure
PHandleTable = ^THandleTable;
tagHANDLETABLE = record
objectHandle: array [0..0] of HGDIOBJ;
end;
{$EXTERNALSYM tagHANDLETABLE}
HANDLETABLE = tagHANDLETABLE;
{$EXTERNALSYM HANDLETABLE}
LPHANDLETABLE = ^HANDLETABLE;
{$EXTERNALSYM LPHANDLETABLE}
THandleTable = HANDLETABLE;
PMetaRecord = ^TMetaRecord;
tagMETARECORD = record
rdSize: DWORD;
rdFunction: WORD;
rdParm: array [0..0] of WORD;
end;
{$EXTERNALSYM tagMETARECORD}
METARECORD = tagMETARECORD;
{$EXTERNALSYM METARECORD}
LPMETARECORD = ^METARECORD;
{$EXTERNALSYM LPMETARECORD}
TMetaRecord = METARECORD;
PMetaFilePict = ^TMetaFilePict;
tagMETAFILEPICT = record
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -