⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wingdi.pas

📁 详细Windows API大全有关知识以及相关问题
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  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 + -