MODULE GDI32;
IMPORT SYSTEM, Kernel32, User32;
CONST
Transparent* = 1; Opaque* = 2;
PatCopy* = 0F00021H; PatInvert* = 05A0049H; DstInvert* = 0550009H;
SrcInvert* = 0660046H; SrcCopy* = 0CC0020H; SrcPaint* = 0EE0086H; SrcAnd* = 08800C6H; NotSrcCopy* = 0330008H;
HorzRes* = 8; VertRes* = 10; BitsPixel* = 12; LogPixelsX* = 88; LogPixelsY* = 90;
PhysicalWidth* = 110; PhysicalHeight* = 111; PhysicalOffsetX* = 112; PhysicalOffsetY* = 113;
R2NotCopyPen* = 4; R2Not* = 6; R2NotXOrPen* = 10; R2Nop* = 11; R2CopyPen* = 13;
PSSolid* = 0;
NullBrush* = 5; NullPen* = 8;
LFFaceSize* = 32; LFFullFaceSize* = 64;
FWThin* = 100; FWLight* = 300; FWNormal* = 400; FWMedium* = 500; FWBold* = 700;
RasterFontType* = 0; TrueTypeFontType* = 2;
BIRGB* = 0;
DIBRGBColors* = 0; DIBPalColors* = 1;
MMText* = 1; MMTwips* = 6;
TALeft* = {}; TABaseline* = {3, 4};
GGOMetrics* = 0; GGOBitmap* = 1; GGONative* = 2; GGOGray2Bitmap* = 4; GGOGray4Bitmap* = 5; GGOGray8Bitmap* = 6;
RgnAnd* = 1; RgnOr* = 2; RgnXOr* = 3; RgnDiff* = 4; RgnCopy* = 5;
NullRegion* = 1; SimpleRegion* = 2; ComplexRegion* = 3;
RDHRectangles* = 1;
TYPE
HGDIObj* = User32.HGDIObj;
HFont* = User32.HFont;
HBrush* = User32.HBrush;
HRgn* = User32.HRgn;
HBitmap* = User32.HBitmap;
HPen* = HGDIObj;
HMetafile* = HGDIObj;
HEnhMetafile* = HGDIObj;
ColorRef* = User32.ColorRef;
LogFont* = RECORD
lfHeight*, lfWidth*, lfEscapement*, lfOrientation*, lfWeight*: LONGINT;
lfItalic*, lfUnderline*, lfStrikeOut*: BOOLEAN;
lfCharSet*, lfOutPrecision*, lfClipPrecision*, lfQuality*, lfPitchAndFamily*: SHORTINT;
lfFaceName*: ARRAY LFFaceSize OF CHAR
END;
EnumLogFont* = RECORD
elfLogFont*: LogFont;
elfFullName*: ARRAY LFFullFaceSize OF CHAR;
elfStyle*: ARRAY LFFaceSize OF CHAR
END;
TextMetric* = RECORD
tmHeight*, tmAscent*, tmDescent*, tmInternalLeading*, tmExternalLeading*: LONGINT;
tmAveCharWidth*, tmMaxCharWidth*, tmWeight*, tmOverhang*: LONGINT;
tmDigitizedAspectX*, tmDigitizedAspectY*: LONGINT;
tmFirstChar*, tmLastChar*, tmDefaultChar*, tmBreakChar*: CHAR;
tmItalic*, tmUnderlined*, tmStruckOut*: BOOLEAN;
tmPitchAndFamily*, tmCharSet*: SHORTINT
END;
EnumFontFamProc* = PROCEDURE {WINAPI} (VAR lpelf: EnumLogFont; VAR lpntm: TextMetric; FontType: SET; lParam: User32.LParam): LONGINT;
EnumFontsProc* = PROCEDURE {WINAPI} (VAR lplf: LogFont; VAR lptm: TextMetric; dwType: SET; lpData: User32.LParam): LONGINT;
ABC* = RECORD
abcA*, abcB*, abcC*: LONGINT
END;
BitmapInfoHeader* = RECORD
biSize*, biWidth*, biHeight*: LONGINT;
biPlanes*, biBitCount*: INTEGER;
biCompression*, biSizeImage*: LONGINT;
biXPelsPerMeter*, biYPelsPerMeter*: LONGINT;
biClrUsed*, biClrImportant*: LONGINT
END;
BitmapInfo* = RECORD
bmiHeader*: BitmapInfoHeader;
END;
DocInfo* = RECORD
cbSize*: LONGINT;
lpszDocName*, lpszOutput*, lpszDatatype*: Kernel32.LPSTR;
fwType*: LONGINT
END;
PaletteEntry* = RECORD
peRed*, peGreen*, peBlue*, peFlags*: CHAR
END;
LogPalette* = RECORD
palVersion*, palNumEntries*: INTEGER;
palPalEntry*: ARRAY 1 OF PaletteEntry
END;
GlyphMetrics* = RECORD
gmBlackBoxX*, gmBlackBoxY*: LONGINT;
gmptGlyphOrigin*: User32.Point;
gmCellIncX*, gmCellIncY*: INTEGER
END;
Fixed* = RECORD
fract*, value*: INTEGER
END;
Mat2* = RECORD
eM11*, eM12*: Fixed;
eM21*, eM22*: Fixed
END;
RgnDataHeader* = RECORD
dwSize*, iType*, nCount*, nRgnSize*: LONGINT;
rcBound*: User32.Rect
END;
VAR
AddFontResource-: PROCEDURE {WINAPI} (VAR lpszFilename: ARRAY OF CHAR): LONGINT;
BitBlt-: PROCEDURE {WINAPI} (hdcDest: User32.HDC; nXDest, nYDest, nWidth, nHeight: LONGINT; hdcSrc: User32.HDC; nXSrc, nYSrc, dwRop: LONGINT): Kernel32.BOOL;
CloseEnhMetaFile-: PROCEDURE {WINAPI} (hdc: User32.HDC): HEnhMetafile;
CloseMetaFile-: PROCEDURE {WINAPI} (hdc: User32.HDC): HMetafile;
CreateBitmap-: PROCEDURE {WINAPI} (nWidth, nHeight, cPlanes, cBitsPerPixel: LONGINT; VAR lpvBits: ARRAY OF SYSTEM.BYTE): HBitmap;
CreateCompatibleBitmap-: PROCEDURE {WINAPI} (hdc: User32.HDC; nWidth, nHeight: LONGINT): HBitmap;
CreateCompatibleDC-: PROCEDURE {WINAPI} (hdc: User32.HDC): User32.HDC;
CreateDC-: PROCEDURE {WINAPI} (VAR lpszDriver, lpszDevice, lpszOuput: ARRAY OF CHAR; lpInitData: ANY): User32.HDC;
CreateDIBSection-: PROCEDURE {WINAPI} (hdc: User32.HDC; VAR lpbi: BitmapInfo; iUsage:LONGINT; VAR adr: LONGINT; hSection: LONGINT;
dwOffset: LONGINT):HBitmap;
CreateEnhMetaFile-: PROCEDURE {WINAPI} (VAR hdcRef: User32.HDC; VAR lpFilename: ARRAY OF CHAR; VAR lpRect: User32.Rect; VAR lpDescription: ARRAY OF CHAR): User32.HDC;
CreateFontIndirect-: PROCEDURE {WINAPI} (VAR lplf: LogFont): HFont;
CreateHatchBrush-: PROCEDURE {WINAPI} (fnStyle: LONGINT; clrref: ColorRef): HBrush;
CreateMetaFile-: PROCEDURE {WINAPI} (VAR lpszFile: ARRAY OF CHAR): User32.HDC;
CreatePatternBrush-: PROCEDURE {WINAPI} (hbmp: HBitmap): HBrush;
CreatePen-: PROCEDURE {WINAPI} (fnPenStyle, nWidth: LONGINT; crColor: ColorRef): HPen;
CreateSolidBrush-: PROCEDURE {WINAPI} (crColor: ColorRef): HBrush;
CreateRectRgn-: PROCEDURE {WINAPI} (nLeftRect, nTopRect, nRightRect, nBottomRect: LONGINT): HRgn;
CreateRectRgnIndirect-: PROCEDURE {WINAPI} (lprc: User32.Rect): HRgn;
DeleteDC-: PROCEDURE {WINAPI} (hdc: User32.HDC): Kernel32.BOOL;
DeleteObject-: PROCEDURE {WINAPI} (hObject: HGDIObj): Kernel32.BOOL;
DPtoLP-: PROCEDURE {WINAPI} (hdc: User32.HDC; VAR lpPoints: ARRAY OF User32.Point; nCount: LONGINT): Kernel32.BOOL;
Ellipse-: PROCEDURE {WINAPI} (hdc: User32.HDC; nLeftRect, nTopRect, nRightRect, nBottomRect: LONGINT): Kernel32.BOOL;
EndDoc-: PROCEDURE {WINAPI} (hdc: User32.HDC): LONGINT;
EndPage-: PROCEDURE {WINAPI} (hdc: User32.HDC): LONGINT;
EnumFontFamilies-: PROCEDURE {WINAPI} (hdc: User32.HDC; VAR lpszFamily: ARRAY OF CHAR; lpEnumFontFamProc: EnumFontFamProc; lParam: User32.LParam): LONGINT;
EnumFonts-: PROCEDURE {WINAPI} (hdc: User32.HDC; VAR lpFaceName: ARRAY OF CHAR; lpFontFunc: EnumFontsProc; lParam: User32.LParam): LONGINT;
ExtSelectClipRgn-: PROCEDURE {WINAPI} (hdc: User32.HDC; hrgn: HRgn; fnMode: LONGINT): LONGINT;
GdiFlush-: PROCEDURE {WINAPI} (): Kernel32.BOOL;
GetBitmapBits-: PROCEDURE {WINAPI} (hbmp: HBitmap; cbBuffer: LONGINT; lpvBits: Kernel32.ADDRESS): LONGINT;
GetCharABCWidths-: PROCEDURE {WINAPI} (hdc: User32.HDC; uFirstChar, uLastChar: LONGINT; VAR lpabc: ABC): Kernel32.BOOL;
GetCharWidth32-: PROCEDURE {WINAPI} (hdc: User32.HDC; iFirstChar, iLastChar: LONGINT; VAR lpBuffer: ARRAY OF LONGINT): Kernel32.BOOL;
GetClipBox-: PROCEDURE {WINAPI} (hdc: User32.HDC; VAR lprc: User32.Rect): LONGINT;
GetClipRgn-: PROCEDURE {WINAPI} (hdc: User32.HDC; hrgn: HRgn): LONGINT;
GetDeviceCaps-: PROCEDURE {WINAPI} (hdc: User32.HDC; nIndex: LONGINT): LONGINT;
GetDIBits-: PROCEDURE {WINAPI} (hdc: User32.HDC; hbmp: HBitmap; uStartScanLine, cScanLines: LONGINT; lpvBits: Kernel32.ADDRESS; VAR lpbi: BitmapInfo; uUsage: LONGINT): LONGINT;
GetGlyphOutline-: PROCEDURE {WINAPI} (hdc: User32.HDC; uChar, uFormat: LONGINT; lpgm: GlyphMetrics; cbBuffer: LONGINT; VAR lpvBuffer: ARRAY OF SYSTEM.BYTE; lpmat2: Mat2): LONGINT;
GetMapMode-: PROCEDURE {WINAPI} (hdc: User32.HDC): LONGINT;
GetNearestColor-: PROCEDURE {WINAPI} (hdc: User32.HDC; crColor: ColorRef): ColorRef;
GetRegionData-: PROCEDURE {WINAPI} (hRgn: HRgn; dwCount: LONGINT; VAR lpRgnData: RgnDataHeader): LONGINT;
GetStockObject-: PROCEDURE {WINAPI} (fnObject: LONGINT): HGDIObj;
GetSystemPaletteEntries-: PROCEDURE {WINAPI} (hdc: User32.HDC; iStartIndex, nEntries: LONGINT; VAR lppe: ARRAY OF PaletteEntry): LONGINT;
GetTextExtentPoint-: PROCEDURE {WINAPI} (hDC: User32.HDC; VAR lpString: ARRAY OF CHAR; cbString: LONGINT; VAR lpSize: User32.Size): Kernel32.BOOL;
GetTextMetrics-: PROCEDURE {WINAPI} (hDC: User32.HDC; VAR lptm: TextMetric): Kernel32.BOOL;
IntersectClipRect-: PROCEDURE {WINAPI} (hDC: User32.HDC; nLeftRect, nTopRect, nRightRect, nBottomRect: LONGINT): LONGINT;
LineTo-: PROCEDURE {WINAPI} (hdc: User32.HDC; nXEnd, nYEnd: LONGINT): Kernel32.BOOL;
LPtoDP-: PROCEDURE {WINAPI} (hdc: User32.HDC; VAR lpPoints: ARRAY OF User32.Point; nCount: LONGINT): Kernel32.BOOL;
MoveToEx-: PROCEDURE {WINAPI} (hdc: User32.HDC; X, Y: LONGINT; VAR lpPoint: User32.Rect): Kernel32.BOOL;
PatBlt-: PROCEDURE {WINAPI} (hdc: User32.HDC; nXLeft, nLeft, nWidth, nHeight, dwRop: LONGINT): Kernel32.BOOL;
PlayEnhMetaFile-: PROCEDURE {WINAPI} (hdc: User32.HDC; hemf: HEnhMetafile; lpRect: User32.Rect): Kernel32.BOOL;
PlayMetaFile-: PROCEDURE {WINAPI} (hdc: User32.HDC; hmf: HMetafile): Kernel32.BOOL;
Rectangle-: PROCEDURE {WINAPI} (hdc: User32.HDC; nLeftRect, nTopRect, nRightRect, nBottomRect: LONGINT): Kernel32.BOOL;
RemoveFontResource-: PROCEDURE {WINAPI} (VAR lpFileName: ARRAY OF CHAR): Kernel32.BOOL;
RestoreDC-: PROCEDURE {WINAPI} (hdc: User32.HDC; nSavedDC: LONGINT): Kernel32.BOOL;
SaveDC-: PROCEDURE {WINAPI} (hdc: User32.HDC): LONGINT;
SelectClipRgn-: PROCEDURE {WINAPI} (hdc: User32.HDC; hrgn: HRgn): LONGINT;
SelectObject-: PROCEDURE {WINAPI} (hdc: User32.HDC; hgdiobj: HGDIObj): HGDIObj;
SetBkColor-: PROCEDURE {WINAPI} (hdc: User32.HDC; crColor: ColorRef): ColorRef;
SetBkMode-: PROCEDURE {WINAPI} (hdc: User32.HDC; iBkMode: LONGINT): LONGINT;
SetBrushOrgEx-: PROCEDURE {WINAPI} (hdc: User32.HDC; nXOrg, nYOrg: LONGINT; VAR lppt: User32.Point): Kernel32.BOOL;
SetDIBitsToDevice-: PROCEDURE {WINAPI} (hdc: User32.HDC; XDest, YDest, dwWidth, dwHeight, XSrc, YSrc, uStartScan, cScanLines: LONGINT;
lpvBits: Kernel32.ADDRESS; VAR lpbmi: BitmapInfo; fuColorUse: LONGINT): LONGINT;
SetMapMode-: PROCEDURE {WINAPI} (hdc: User32.HDC; fnMapMode: LONGINT): LONGINT;
SetROP2-: PROCEDURE {WINAPI} (hdc: User32.HDC; fnDrawMode: LONGINT): LONGINT;
SetTextAlign-: PROCEDURE {WINAPI} (hdc: User32.HDC; fMode: SET): LONGINT;
SetTextColor-: PROCEDURE {WINAPI} (hdc: User32.HDC; crColor: ColorRef): ColorRef;
SetWindowExtEx-: PROCEDURE {WINAPI} (hdc: User32.HDC; nXExtent, nYExtent: LONGINT; VAR lpSize: User32.Size): Kernel32.BOOL;
SetWindowOrgEx-: PROCEDURE {WINAPI} (hdc: User32.HDC; X, Y: LONGINT; VAR lpPoint: User32.Point): Kernel32.BOOL;
StartDoc-: PROCEDURE {WINAPI} (hdc: User32.HDC; VAR lpdi: DocInfo): LONGINT;
StartPage-: PROCEDURE {WINAPI} (hdc: User32.HDC): LONGINT;
StretchBlt-: PROCEDURE {WINAPI} (hdc: User32.HDC; nXOriginDest, nYOriginDest, nWidthDest, nHeightDest: LONGINT;
hdcSrc: User32.HDC; nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc, dwRop: LONGINT): Kernel32.BOOL;
StretchDIBits-: PROCEDURE {WINAPI} (hdc: User32.HDC; XDest, YDest, nDestWidth, nDestHeight, XSrc, YSrc, nSrcWidth, nSrcHeight: LONGINT;
lpBits: Kernel32.ADDRESS; VAR lpBitsInfo: BitmapInfo; iUsage, dwRop: LONGINT): LONGINT;
TextOut-: PROCEDURE {WINAPI} (hdc: User32.HDC; nXStart, nYStart: LONGINT; VAR lpString: ARRAY OF CHAR; cbString: LONGINT): Kernel32.BOOL;
T-: ARRAY 256 OF CHAR;
PROCEDURE RGB*(red, green, blue: LONGINT): ColorRef;
BEGIN
RETURN red + ASH(green, 8) + ASH(blue, 16)
END RGB;
PROCEDURE Red*(col: ColorRef): LONGINT;
BEGIN
RETURN col MOD 256
END Red;
PROCEDURE Green*(col: ColorRef): LONGINT;
BEGIN
RETURN ASH(col, -8) MOD 256
END Green;
PROCEDURE Blue*(col: ColorRef): LONGINT;
BEGIN
RETURN ASH(col, -16) MOD 256
END Blue;
PROCEDURE GetProcAddress(hModule: LONGINT; VAR adr: LONGINT; procName: ARRAY OF CHAR);
BEGIN
Kernel32.GetProcAddress(hModule,procName,adr);
END GetProcAddress;
PROCEDURE Init;
VAR i, p, v, x: LONGINT;
mod: Kernel32.HMODULE; str: ARRAY 32 OF CHAR;
BEGIN
FOR i := 0 TO 255 DO
v := i; x := 0; p := 128;
WHILE v > 0 DO
x := x + p*(v MOD 2);
p := p DIV 2; v := v DIV 2
END;
T[i] := CHR(255-x)
END;
str := "GDI32.DLL";
mod := Kernel32.LoadLibrary(str);
GetProcAddress(mod,SYSTEM.VAL(LONGINT,AddFontResource ),"AddFontResourceA");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,BitBlt ),"BitBlt");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,CloseEnhMetaFile ),"CloseEnhMetaFile");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,CloseMetaFile ),"CloseMetaFile");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,CreateBitmap ),"CreateBitmap");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,CreateCompatibleBitmap ),"CreateCompatibleBitmap");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,CreateCompatibleDC ),"CreateCompatibleDC");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,CreateDC ),"CreateDCA");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,CreateDIBSection ),"CreateDIBSection");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,CreateEnhMetaFile ),"CreateEnhMetaFileA");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,CreateFontIndirect ),"CreateFontIndirectA");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,CreateHatchBrush ),"CreateHatchBrush");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,CreateMetaFile ),"CreateMetaFileA");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,CreatePatternBrush ),"CreatePatternBrush");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,CreatePen ),"CreatePen");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,CreateSolidBrush ),"CreateSolidBrush");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,CreateRectRgn ),"CreateRectRgn");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,CreateRectRgnIndirect ),"CreateRectRgnIndirect");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,DeleteDC ),"DeleteDC");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,DeleteObject ),"DeleteObject");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,DPtoLP ),"DPtoLP");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,Ellipse ),"Ellipse");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,EndDoc ),"EndDoc");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,EndPage ),"EndPage");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,EnumFontFamilies ),"EnumFontFamiliesA");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,EnumFonts ),"EnumFontsA");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,ExtSelectClipRgn ),"ExtSelectClipRgn");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,GdiFlush ),"GdiFlush");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,GetBitmapBits ),"GetBitmapBits");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,GetCharABCWidths ),"GetCharABCWidthsA");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,GetCharWidth32 ),"GetCharWidth32A");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,GetClipBox ),"GetClipBox");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,GetClipRgn ),"GetClipRgn");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,GetDeviceCaps ),"GetDeviceCaps");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,GetDIBits ),"GetDIBits");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,GetGlyphOutline ),"GetGlyphOutlineA");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,GetMapMode ),"GetMapMode");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,GetNearestColor ),"GetNearestColor");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,GetRegionData ),"GetRegionData");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,GetStockObject ),"GetStockObject");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,GetSystemPaletteEntries ),"GetSystemPaletteEntries");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,GetTextExtentPoint ),"GetTextExtentPointA");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,GetTextMetrics ),"GetTextMetricsA");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,IntersectClipRect ),"IntersectClipRect");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,LineTo ),"LineTo");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,LPtoDP ),"LPtoDP");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,MoveToEx ),"MoveToEx");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,PatBlt ),"PatBlt");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,PlayEnhMetaFile ),"PlayEnhMetaFile");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,PlayMetaFile ),"PlayMetaFile");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,Rectangle ),"Rectangle");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,RemoveFontResource ),"RemoveFontResourceA");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,RestoreDC ),"RestoreDC");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,SaveDC ),"SaveDC");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,SelectClipRgn ),"SelectClipRgn");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,SelectObject ),"SelectObject");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,SetBkColor ),"SetBkColor");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,SetBkMode ),"SetBkMode");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,SetBrushOrgEx ),"SetBrushOrgEx");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,SetDIBitsToDevice ),"SetDIBitsToDevice");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,SetMapMode ),"SetMapMode");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,SetROP2 ),"SetROP2");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,SetTextAlign ),"SetTextAlign");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,SetTextColor ),"SetTextColor");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,SetWindowExtEx ),"SetWindowExtEx");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,SetWindowOrgEx ),"SetWindowOrgEx");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,StartDoc ),"StartDocA");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,StartPage ),"StartPage");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,StretchBlt ),"StretchBlt");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,StretchDIBits ),"StretchDIBits");
GetProcAddress(mod,SYSTEM.VAL(LONGINT,TextOut ),"TextOutA");
END Init;
BEGIN
Init()
END GDI32.