JwaWinGDI.pas
上传用户:davidchvip
上传日期:2009-07-28
资源大小:1749k
文件大小:424k
源码类别:

Windows编程

开发平台:

Delphi

  1. {$ELSE}
  2. function RectVisible; external gdi32 name 'RectVisible';
  3. {$ENDIF DYNAMIC_LINK}
  4. {$IFDEF DYNAMIC_LINK}
  5. var
  6.   _Rectangle: Pointer;
  7. function Rectangle;
  8. begin
  9.   GetProcedureAddress(_Rectangle, gdi32, 'Rectangle');
  10.   asm
  11.     mov esp, ebp
  12.     pop ebp
  13.     jmp [_Rectangle]
  14.   end;
  15. end;
  16. {$ELSE}
  17. function Rectangle; external gdi32 name 'Rectangle';
  18. {$ENDIF DYNAMIC_LINK}
  19. {$IFDEF DYNAMIC_LINK}
  20. var
  21.   _RestoreDC: Pointer;
  22. function RestoreDC;
  23. begin
  24.   GetProcedureAddress(_RestoreDC, gdi32, 'RestoreDC');
  25.   asm
  26.     mov esp, ebp
  27.     pop ebp
  28.     jmp [_RestoreDC]
  29.   end;
  30. end;
  31. {$ELSE}
  32. function RestoreDC; external gdi32 name 'RestoreDC';
  33. {$ENDIF DYNAMIC_LINK}
  34. {$IFDEF DYNAMIC_LINK}
  35. var
  36.   _ResetDCA: Pointer;
  37. function ResetDCA;
  38. begin
  39.   GetProcedureAddress(_ResetDCA, gdi32, 'ResetDCA');
  40.   asm
  41.     mov esp, ebp
  42.     pop ebp
  43.     jmp [_ResetDCA]
  44.   end;
  45. end;
  46. {$ELSE}
  47. function ResetDCA; external gdi32 name 'ResetDCA';
  48. {$ENDIF DYNAMIC_LINK}
  49. {$IFDEF DYNAMIC_LINK}
  50. var
  51.   _ResetDCW: Pointer;
  52. function ResetDCW;
  53. begin
  54.   GetProcedureAddress(_ResetDCW, gdi32, 'ResetDCW');
  55.   asm
  56.     mov esp, ebp
  57.     pop ebp
  58.     jmp [_ResetDCW]
  59.   end;
  60. end;
  61. {$ELSE}
  62. function ResetDCW; external gdi32 name 'ResetDCW';
  63. {$ENDIF DYNAMIC_LINK}
  64. {$IFDEF UNICODE}
  65. {$IFDEF DYNAMIC_LINK}
  66. var
  67.   _ResetDC: Pointer;
  68. function ResetDC;
  69. begin
  70.   GetProcedureAddress(_ResetDC, gdi32, 'ResetDCW');
  71.   asm
  72.     mov esp, ebp
  73.     pop ebp
  74.     jmp [_ResetDC]
  75.   end;
  76. end;
  77. {$ELSE}
  78. function ResetDC; external gdi32 name 'ResetDCW';
  79. {$ENDIF DYNAMIC_LINK}
  80. {$ELSE}
  81. {$IFDEF DYNAMIC_LINK}
  82. var
  83.   _ResetDC: Pointer;
  84. function ResetDC;
  85. begin
  86.   GetProcedureAddress(_ResetDC, gdi32, 'ResetDCA');
  87.   asm
  88.     mov esp, ebp
  89.     pop ebp
  90.     jmp [_ResetDC]
  91.   end;
  92. end;
  93. {$ELSE}
  94. function ResetDC; external gdi32 name 'ResetDCA';
  95. {$ENDIF DYNAMIC_LINK}
  96. {$ENDIF}
  97. {$IFDEF DYNAMIC_LINK}
  98. var
  99.   _RealizePalette: Pointer;
  100. function RealizePalette;
  101. begin
  102.   GetProcedureAddress(_RealizePalette, gdi32, 'RealizePalette');
  103.   asm
  104.     mov esp, ebp
  105.     pop ebp
  106.     jmp [_RealizePalette]
  107.   end;
  108. end;
  109. {$ELSE}
  110. function RealizePalette; external gdi32 name 'RealizePalette';
  111. {$ENDIF DYNAMIC_LINK}
  112. {$IFDEF DYNAMIC_LINK}
  113. var
  114.   _RemoveFontResourceA: Pointer;
  115. function RemoveFontResourceA;
  116. begin
  117.   GetProcedureAddress(_RemoveFontResourceA, gdi32, 'RemoveFontResourceA');
  118.   asm
  119.     mov esp, ebp
  120.     pop ebp
  121.     jmp [_RemoveFontResourceA]
  122.   end;
  123. end;
  124. {$ELSE}
  125. function RemoveFontResourceA; external gdi32 name 'RemoveFontResourceA';
  126. {$ENDIF DYNAMIC_LINK}
  127. {$IFDEF DYNAMIC_LINK}
  128. var
  129.   _RemoveFontResourceW: Pointer;
  130. function RemoveFontResourceW;
  131. begin
  132.   GetProcedureAddress(_RemoveFontResourceW, gdi32, 'RemoveFontResourceW');
  133.   asm
  134.     mov esp, ebp
  135.     pop ebp
  136.     jmp [_RemoveFontResourceW]
  137.   end;
  138. end;
  139. {$ELSE}
  140. function RemoveFontResourceW; external gdi32 name 'RemoveFontResourceW';
  141. {$ENDIF DYNAMIC_LINK}
  142. {$IFDEF UNICODE}
  143. {$IFDEF DYNAMIC_LINK}
  144. var
  145.   _RemoveFontResource: Pointer;
  146. function RemoveFontResource;
  147. begin
  148.   GetProcedureAddress(_RemoveFontResource, gdi32, 'RemoveFontResourceW');
  149.   asm
  150.     mov esp, ebp
  151.     pop ebp
  152.     jmp [_RemoveFontResource]
  153.   end;
  154. end;
  155. {$ELSE}
  156. function RemoveFontResource; external gdi32 name 'RemoveFontResourceW';
  157. {$ENDIF DYNAMIC_LINK}
  158. {$ELSE}
  159. {$IFDEF DYNAMIC_LINK}
  160. var
  161.   _RemoveFontResource: Pointer;
  162. function RemoveFontResource;
  163. begin
  164.   GetProcedureAddress(_RemoveFontResource, gdi32, 'RemoveFontResourceA');
  165.   asm
  166.     mov esp, ebp
  167.     pop ebp
  168.     jmp [_RemoveFontResource]
  169.   end;
  170. end;
  171. {$ELSE}
  172. function RemoveFontResource; external gdi32 name 'RemoveFontResourceA';
  173. {$ENDIF DYNAMIC_LINK}
  174. {$ENDIF}
  175. {$IFDEF DYNAMIC_LINK}
  176. var
  177.   _RoundRect: Pointer;
  178. function RoundRect;
  179. begin
  180.   GetProcedureAddress(_RoundRect, gdi32, 'RoundRect');
  181.   asm
  182.     mov esp, ebp
  183.     pop ebp
  184.     jmp [_RoundRect]
  185.   end;
  186. end;
  187. {$ELSE}
  188. function RoundRect; external gdi32 name 'RoundRect';
  189. {$ENDIF DYNAMIC_LINK}
  190. {$IFDEF DYNAMIC_LINK}
  191. var
  192.   _ResizePalette: Pointer;
  193. function ResizePalette;
  194. begin
  195.   GetProcedureAddress(_ResizePalette, gdi32, 'ResizePalette');
  196.   asm
  197.     mov esp, ebp
  198.     pop ebp
  199.     jmp [_ResizePalette]
  200.   end;
  201. end;
  202. {$ELSE}
  203. function ResizePalette; external gdi32 name 'ResizePalette';
  204. {$ENDIF DYNAMIC_LINK}
  205. {$IFDEF DYNAMIC_LINK}
  206. var
  207.   _SaveDC: Pointer;
  208. function SaveDC;
  209. begin
  210.   GetProcedureAddress(_SaveDC, gdi32, 'SaveDC');
  211.   asm
  212.     mov esp, ebp
  213.     pop ebp
  214.     jmp [_SaveDC]
  215.   end;
  216. end;
  217. {$ELSE}
  218. function SaveDC; external gdi32 name 'SaveDC';
  219. {$ENDIF DYNAMIC_LINK}
  220. {$IFDEF DYNAMIC_LINK}
  221. var
  222.   _SelectClipRgn: Pointer;
  223. function SelectClipRgn;
  224. begin
  225.   GetProcedureAddress(_SelectClipRgn, gdi32, 'SelectClipRgn');
  226.   asm
  227.     mov esp, ebp
  228.     pop ebp
  229.     jmp [_SelectClipRgn]
  230.   end;
  231. end;
  232. {$ELSE}
  233. function SelectClipRgn; external gdi32 name 'SelectClipRgn';
  234. {$ENDIF DYNAMIC_LINK}
  235. {$IFDEF DYNAMIC_LINK}
  236. var
  237.   _ExtSelectClipRgn: Pointer;
  238. function ExtSelectClipRgn;
  239. begin
  240.   GetProcedureAddress(_ExtSelectClipRgn, gdi32, 'ExtSelectClipRgn');
  241.   asm
  242.     mov esp, ebp
  243.     pop ebp
  244.     jmp [_ExtSelectClipRgn]
  245.   end;
  246. end;
  247. {$ELSE}
  248. function ExtSelectClipRgn; external gdi32 name 'ExtSelectClipRgn';
  249. {$ENDIF DYNAMIC_LINK}
  250. {$IFDEF DYNAMIC_LINK}
  251. var
  252.   _SetMetaRgn: Pointer;
  253. function SetMetaRgn;
  254. begin
  255.   GetProcedureAddress(_SetMetaRgn, gdi32, 'SetMetaRgn');
  256.   asm
  257.     mov esp, ebp
  258.     pop ebp
  259.     jmp [_SetMetaRgn]
  260.   end;
  261. end;
  262. {$ELSE}
  263. function SetMetaRgn; external gdi32 name 'SetMetaRgn';
  264. {$ENDIF DYNAMIC_LINK}
  265. {$IFDEF DYNAMIC_LINK}
  266. var
  267.   _SelectObject: Pointer;
  268. function SelectObject;
  269. begin
  270.   GetProcedureAddress(_SelectObject, gdi32, 'SelectObject');
  271.   asm
  272.     mov esp, ebp
  273.     pop ebp
  274.     jmp [_SelectObject]
  275.   end;
  276. end;
  277. {$ELSE}
  278. function SelectObject; external gdi32 name 'SelectObject';
  279. {$ENDIF DYNAMIC_LINK}
  280. {$IFDEF DYNAMIC_LINK}
  281. var
  282.   _SelectPalette: Pointer;
  283. function SelectPalette;
  284. begin
  285.   GetProcedureAddress(_SelectPalette, gdi32, 'SelectPalette');
  286.   asm
  287.     mov esp, ebp
  288.     pop ebp
  289.     jmp [_SelectPalette]
  290.   end;
  291. end;
  292. {$ELSE}
  293. function SelectPalette; external gdi32 name 'SelectPalette';
  294. {$ENDIF DYNAMIC_LINK}
  295. {$IFDEF DYNAMIC_LINK}
  296. var
  297.   _SetBkColor: Pointer;
  298. function SetBkColor;
  299. begin
  300.   GetProcedureAddress(_SetBkColor, gdi32, 'SetBkColor');
  301.   asm
  302.     mov esp, ebp
  303.     pop ebp
  304.     jmp [_SetBkColor]
  305.   end;
  306. end;
  307. {$ELSE}
  308. function SetBkColor; external gdi32 name 'SetBkColor';
  309. {$ENDIF DYNAMIC_LINK}
  310. {$IFDEF DYNAMIC_LINK}
  311. var
  312.   _SetDCBrushColor: Pointer;
  313. function SetDCBrushColor;
  314. begin
  315.   GetProcedureAddress(_SetDCBrushColor, gdi32, 'SetDCBrushColor');
  316.   asm
  317.     mov esp, ebp
  318.     pop ebp
  319.     jmp [_SetDCBrushColor]
  320.   end;
  321. end;
  322. {$ELSE}
  323. function SetDCBrushColor; external gdi32 name 'SetDCBrushColor';
  324. {$ENDIF DYNAMIC_LINK}
  325. {$IFDEF DYNAMIC_LINK}
  326. var
  327.   _SetDCPenColor: Pointer;
  328. function SetDCPenColor;
  329. begin
  330.   GetProcedureAddress(_SetDCPenColor, gdi32, 'SetDCPenColor');
  331.   asm
  332.     mov esp, ebp
  333.     pop ebp
  334.     jmp [_SetDCPenColor]
  335.   end;
  336. end;
  337. {$ELSE}
  338. function SetDCPenColor; external gdi32 name 'SetDCPenColor';
  339. {$ENDIF DYNAMIC_LINK}
  340. {$IFDEF DYNAMIC_LINK}
  341. var
  342.   _SetBkMode: Pointer;
  343. function SetBkMode;
  344. begin
  345.   GetProcedureAddress(_SetBkMode, gdi32, 'SetBkMode');
  346.   asm
  347.     mov esp, ebp
  348.     pop ebp
  349.     jmp [_SetBkMode]
  350.   end;
  351. end;
  352. {$ELSE}
  353. function SetBkMode; external gdi32 name 'SetBkMode';
  354. {$ENDIF DYNAMIC_LINK}
  355. {$IFDEF DYNAMIC_LINK}
  356. var
  357.   _SetBitmapBits: Pointer;
  358. function SetBitmapBits;
  359. begin
  360.   GetProcedureAddress(_SetBitmapBits, gdi32, 'SetBitmapBits');
  361.   asm
  362.     mov esp, ebp
  363.     pop ebp
  364.     jmp [_SetBitmapBits]
  365.   end;
  366. end;
  367. {$ELSE}
  368. function SetBitmapBits; external gdi32 name 'SetBitmapBits';
  369. {$ENDIF DYNAMIC_LINK}
  370. {$IFDEF DYNAMIC_LINK}
  371. var
  372.   _SetBoundsRect: Pointer;
  373. function SetBoundsRect;
  374. begin
  375.   GetProcedureAddress(_SetBoundsRect, gdi32, 'SetBoundsRect');
  376.   asm
  377.     mov esp, ebp
  378.     pop ebp
  379.     jmp [_SetBoundsRect]
  380.   end;
  381. end;
  382. {$ELSE}
  383. function SetBoundsRect; external gdi32 name 'SetBoundsRect';
  384. {$ENDIF DYNAMIC_LINK}
  385. {$IFDEF DYNAMIC_LINK}
  386. var
  387.   _SetDIBits: Pointer;
  388. function SetDIBits;
  389. begin
  390.   GetProcedureAddress(_SetDIBits, gdi32, 'SetDIBits');
  391.   asm
  392.     mov esp, ebp
  393.     pop ebp
  394.     jmp [_SetDIBits]
  395.   end;
  396. end;
  397. {$ELSE}
  398. function SetDIBits; external gdi32 name 'SetDIBits';
  399. {$ENDIF DYNAMIC_LINK}
  400. {$IFDEF DYNAMIC_LINK}
  401. var
  402.   _SetDIBitsToDevice: Pointer;
  403. function SetDIBitsToDevice;
  404. begin
  405.   GetProcedureAddress(_SetDIBitsToDevice, gdi32, 'SetDIBitsToDevice');
  406.   asm
  407.     mov esp, ebp
  408.     pop ebp
  409.     jmp [_SetDIBitsToDevice]
  410.   end;
  411. end;
  412. {$ELSE}
  413. function SetDIBitsToDevice; external gdi32 name 'SetDIBitsToDevice';
  414. {$ENDIF DYNAMIC_LINK}
  415. {$IFDEF DYNAMIC_LINK}
  416. var
  417.   _SetMapperFlags: Pointer;
  418. function SetMapperFlags;
  419. begin
  420.   GetProcedureAddress(_SetMapperFlags, gdi32, 'SetMapperFlags');
  421.   asm
  422.     mov esp, ebp
  423.     pop ebp
  424.     jmp [_SetMapperFlags]
  425.   end;
  426. end;
  427. {$ELSE}
  428. function SetMapperFlags; external gdi32 name 'SetMapperFlags';
  429. {$ENDIF DYNAMIC_LINK}
  430. {$IFDEF DYNAMIC_LINK}
  431. var
  432.   _SetGraphicsMode: Pointer;
  433. function SetGraphicsMode;
  434. begin
  435.   GetProcedureAddress(_SetGraphicsMode, gdi32, 'SetGraphicsMode');
  436.   asm
  437.     mov esp, ebp
  438.     pop ebp
  439.     jmp [_SetGraphicsMode]
  440.   end;
  441. end;
  442. {$ELSE}
  443. function SetGraphicsMode; external gdi32 name 'SetGraphicsMode';
  444. {$ENDIF DYNAMIC_LINK}
  445. {$IFDEF DYNAMIC_LINK}
  446. var
  447.   _SetMapMode: Pointer;
  448. function SetMapMode;
  449. begin
  450.   GetProcedureAddress(_SetMapMode, gdi32, 'SetMapMode');
  451.   asm
  452.     mov esp, ebp
  453.     pop ebp
  454.     jmp [_SetMapMode]
  455.   end;
  456. end;
  457. {$ELSE}
  458. function SetMapMode; external gdi32 name 'SetMapMode';
  459. {$ENDIF DYNAMIC_LINK}
  460. {$IFDEF DYNAMIC_LINK}
  461. var
  462.   _SetLayout: Pointer;
  463. function SetLayout;
  464. begin
  465.   GetProcedureAddress(_SetLayout, gdi32, 'SetLayout');
  466.   asm
  467.     mov esp, ebp
  468.     pop ebp
  469.     jmp [_SetLayout]
  470.   end;
  471. end;
  472. {$ELSE}
  473. function SetLayout; external gdi32 name 'SetLayout';
  474. {$ENDIF DYNAMIC_LINK}
  475. {$IFDEF DYNAMIC_LINK}
  476. var
  477.   _GetLayout: Pointer;
  478. function GetLayout;
  479. begin
  480.   GetProcedureAddress(_GetLayout, gdi32, 'GetLayout');
  481.   asm
  482.     mov esp, ebp
  483.     pop ebp
  484.     jmp [_GetLayout]
  485.   end;
  486. end;
  487. {$ELSE}
  488. function GetLayout; external gdi32 name 'GetLayout';
  489. {$ENDIF DYNAMIC_LINK}
  490. {$IFDEF DYNAMIC_LINK}
  491. var
  492.   _SetMetaFileBitsEx: Pointer;
  493. function SetMetaFileBitsEx;
  494. begin
  495.   GetProcedureAddress(_SetMetaFileBitsEx, gdi32, 'SetMetaFileBitsEx');
  496.   asm
  497.     mov esp, ebp
  498.     pop ebp
  499.     jmp [_SetMetaFileBitsEx]
  500.   end;
  501. end;
  502. {$ELSE}
  503. function SetMetaFileBitsEx; external gdi32 name 'SetMetaFileBitsEx';
  504. {$ENDIF DYNAMIC_LINK}
  505. {$IFDEF DYNAMIC_LINK}
  506. var
  507.   _SetPaletteEntries: Pointer;
  508. function SetPaletteEntries;
  509. begin
  510.   GetProcedureAddress(_SetPaletteEntries, gdi32, 'SetPaletteEntries');
  511.   asm
  512.     mov esp, ebp
  513.     pop ebp
  514.     jmp [_SetPaletteEntries]
  515.   end;
  516. end;
  517. {$ELSE}
  518. function SetPaletteEntries; external gdi32 name 'SetPaletteEntries';
  519. {$ENDIF DYNAMIC_LINK}
  520. {$IFDEF DYNAMIC_LINK}
  521. var
  522.   _SetPixel: Pointer;
  523. function SetPixel;
  524. begin
  525.   GetProcedureAddress(_SetPixel, gdi32, 'SetPixel');
  526.   asm
  527.     mov esp, ebp
  528.     pop ebp
  529.     jmp [_SetPixel]
  530.   end;
  531. end;
  532. {$ELSE}
  533. function SetPixel; external gdi32 name 'SetPixel';
  534. {$ENDIF DYNAMIC_LINK}
  535. {$IFDEF DYNAMIC_LINK}
  536. var
  537.   _SetPixelV: Pointer;
  538. function SetPixelV;
  539. begin
  540.   GetProcedureAddress(_SetPixelV, gdi32, 'SetPixelV');
  541.   asm
  542.     mov esp, ebp
  543.     pop ebp
  544.     jmp [_SetPixelV]
  545.   end;
  546. end;
  547. {$ELSE}
  548. function SetPixelV; external gdi32 name 'SetPixelV';
  549. {$ENDIF DYNAMIC_LINK}
  550. {$IFDEF DYNAMIC_LINK}
  551. var
  552.   _SetPixelFormat: Pointer;
  553. function SetPixelFormat;
  554. begin
  555.   GetProcedureAddress(_SetPixelFormat, gdi32, 'SetPixelFormat');
  556.   asm
  557.     mov esp, ebp
  558.     pop ebp
  559.     jmp [_SetPixelFormat]
  560.   end;
  561. end;
  562. {$ELSE}
  563. function SetPixelFormat; external gdi32 name 'SetPixelFormat';
  564. {$ENDIF DYNAMIC_LINK}
  565. {$IFDEF DYNAMIC_LINK}
  566. var
  567.   _SetPolyFillMode: Pointer;
  568. function SetPolyFillMode;
  569. begin
  570.   GetProcedureAddress(_SetPolyFillMode, gdi32, 'SetPolyFillMode');
  571.   asm
  572.     mov esp, ebp
  573.     pop ebp
  574.     jmp [_SetPolyFillMode]
  575.   end;
  576. end;
  577. {$ELSE}
  578. function SetPolyFillMode; external gdi32 name 'SetPolyFillMode';
  579. {$ENDIF DYNAMIC_LINK}
  580. {$IFDEF DYNAMIC_LINK}
  581. var
  582.   _StretchBlt: Pointer;
  583. function StretchBlt;
  584. begin
  585.   GetProcedureAddress(_StretchBlt, gdi32, 'StretchBlt');
  586.   asm
  587.     mov esp, ebp
  588.     pop ebp
  589.     jmp [_StretchBlt]
  590.   end;
  591. end;
  592. {$ELSE}
  593. function StretchBlt; external gdi32 name 'StretchBlt';
  594. {$ENDIF DYNAMIC_LINK}
  595. {$IFDEF DYNAMIC_LINK}
  596. var
  597.   _SetRectRgn: Pointer;
  598. function SetRectRgn;
  599. begin
  600.   GetProcedureAddress(_SetRectRgn, gdi32, 'SetRectRgn');
  601.   asm
  602.     mov esp, ebp
  603.     pop ebp
  604.     jmp [_SetRectRgn]
  605.   end;
  606. end;
  607. {$ELSE}
  608. function SetRectRgn; external gdi32 name 'SetRectRgn';
  609. {$ENDIF DYNAMIC_LINK}
  610. {$IFDEF DYNAMIC_LINK}
  611. var
  612.   _StretchDIBits: Pointer;
  613. function StretchDIBits;
  614. begin
  615.   GetProcedureAddress(_StretchDIBits, gdi32, 'StretchDIBits');
  616.   asm
  617.     mov esp, ebp
  618.     pop ebp
  619.     jmp [_StretchDIBits]
  620.   end;
  621. end;
  622. {$ELSE}
  623. function StretchDIBits; external gdi32 name 'StretchDIBits';
  624. {$ENDIF DYNAMIC_LINK}
  625. {$IFDEF DYNAMIC_LINK}
  626. var
  627.   _SetROP2: Pointer;
  628. function SetROP2;
  629. begin
  630.   GetProcedureAddress(_SetROP2, gdi32, 'SetROP2');
  631.   asm
  632.     mov esp, ebp
  633.     pop ebp
  634.     jmp [_SetROP2]
  635.   end;
  636. end;
  637. {$ELSE}
  638. function SetROP2; external gdi32 name 'SetROP2';
  639. {$ENDIF DYNAMIC_LINK}
  640. {$IFDEF DYNAMIC_LINK}
  641. var
  642.   _SetStretchBltMode: Pointer;
  643. function SetStretchBltMode;
  644. begin
  645.   GetProcedureAddress(_SetStretchBltMode, gdi32, 'SetStretchBltMode');
  646.   asm
  647.     mov esp, ebp
  648.     pop ebp
  649.     jmp [_SetStretchBltMode]
  650.   end;
  651. end;
  652. {$ELSE}
  653. function SetStretchBltMode; external gdi32 name 'SetStretchBltMode';
  654. {$ENDIF DYNAMIC_LINK}
  655. {$IFDEF DYNAMIC_LINK}
  656. var
  657.   _SetSystemPaletteUse: Pointer;
  658. function SetSystemPaletteUse;
  659. begin
  660.   GetProcedureAddress(_SetSystemPaletteUse, gdi32, 'SetSystemPaletteUse');
  661.   asm
  662.     mov esp, ebp
  663.     pop ebp
  664.     jmp [_SetSystemPaletteUse]
  665.   end;
  666. end;
  667. {$ELSE}
  668. function SetSystemPaletteUse; external gdi32 name 'SetSystemPaletteUse';
  669. {$ENDIF DYNAMIC_LINK}
  670. {$IFDEF DYNAMIC_LINK}
  671. var
  672.   _SetTextCharacterExtra: Pointer;
  673. function SetTextCharacterExtra;
  674. begin
  675.   GetProcedureAddress(_SetTextCharacterExtra, gdi32, 'SetTextCharacterExtra');
  676.   asm
  677.     mov esp, ebp
  678.     pop ebp
  679.     jmp [_SetTextCharacterExtra]
  680.   end;
  681. end;
  682. {$ELSE}
  683. function SetTextCharacterExtra; external gdi32 name 'SetTextCharacterExtra';
  684. {$ENDIF DYNAMIC_LINK}
  685. {$IFDEF DYNAMIC_LINK}
  686. var
  687.   _SetTextColor: Pointer;
  688. function SetTextColor;
  689. begin
  690.   GetProcedureAddress(_SetTextColor, gdi32, 'SetTextColor');
  691.   asm
  692.     mov esp, ebp
  693.     pop ebp
  694.     jmp [_SetTextColor]
  695.   end;
  696. end;
  697. {$ELSE}
  698. function SetTextColor; external gdi32 name 'SetTextColor';
  699. {$ENDIF DYNAMIC_LINK}
  700. {$IFDEF DYNAMIC_LINK}
  701. var
  702.   _SetTextAlign: Pointer;
  703. function SetTextAlign;
  704. begin
  705.   GetProcedureAddress(_SetTextAlign, gdi32, 'SetTextAlign');
  706.   asm
  707.     mov esp, ebp
  708.     pop ebp
  709.     jmp [_SetTextAlign]
  710.   end;
  711. end;
  712. {$ELSE}
  713. function SetTextAlign; external gdi32 name 'SetTextAlign';
  714. {$ENDIF DYNAMIC_LINK}
  715. {$IFDEF DYNAMIC_LINK}
  716. var
  717.   _SetTextJustification: Pointer;
  718. function SetTextJustification;
  719. begin
  720.   GetProcedureAddress(_SetTextJustification, gdi32, 'SetTextJustification');
  721.   asm
  722.     mov esp, ebp
  723.     pop ebp
  724.     jmp [_SetTextJustification]
  725.   end;
  726. end;
  727. {$ELSE}
  728. function SetTextJustification; external gdi32 name 'SetTextJustification';
  729. {$ENDIF DYNAMIC_LINK}
  730. {$IFDEF DYNAMIC_LINK}
  731. var
  732.   _UpdateColors: Pointer;
  733. function UpdateColors;
  734. begin
  735.   GetProcedureAddress(_UpdateColors, gdi32, 'UpdateColors');
  736.   asm
  737.     mov esp, ebp
  738.     pop ebp
  739.     jmp [_UpdateColors]
  740.   end;
  741. end;
  742. {$ELSE}
  743. function UpdateColors; external gdi32 name 'UpdateColors';
  744. {$ENDIF DYNAMIC_LINK}
  745. {$IFDEF DYNAMIC_LINK}
  746. var
  747.   _AlphaBlend: Pointer;
  748. function AlphaBlend;
  749. begin
  750.   GetProcedureAddress(_AlphaBlend, msimg32, 'AlphaBlend');
  751.   asm
  752.     mov esp, ebp
  753.     pop ebp
  754.     jmp [_AlphaBlend]
  755.   end;
  756. end;
  757. {$ELSE}
  758. function AlphaBlend; external msimg32 name 'AlphaBlend';
  759. {$ENDIF DYNAMIC_LINK}
  760. {$IFDEF DYNAMIC_LINK}
  761. var
  762.   _TransparentBlt: Pointer;
  763. function TransparentBlt;
  764. begin
  765.   GetProcedureAddress(_TransparentBlt, msimg32, 'TransparentBlt');
  766.   asm
  767.     mov esp, ebp
  768.     pop ebp
  769.     jmp [_TransparentBlt]
  770.   end;
  771. end;
  772. {$ELSE}
  773. function TransparentBlt; external msimg32 name 'TransparentBlt';
  774. {$ENDIF DYNAMIC_LINK}
  775. {$IFDEF DYNAMIC_LINK}
  776. var
  777.   _GradientFill: Pointer;
  778. function GradientFill;
  779. begin
  780.   GetProcedureAddress(_GradientFill, msimg32, 'GradientFill');
  781.   asm
  782.     mov esp, ebp
  783.     pop ebp
  784.     jmp [_GradientFill]
  785.   end;
  786. end;
  787. {$ELSE}
  788. function GradientFill; external msimg32 name 'GradientFill';
  789. {$ENDIF DYNAMIC_LINK}
  790. {$IFDEF DYNAMIC_LINK}
  791. var
  792.   _PlayMetaFileRecord: Pointer;
  793. function PlayMetaFileRecord;
  794. begin
  795.   GetProcedureAddress(_PlayMetaFileRecord, gdi32, 'PlayMetaFileRecord');
  796.   asm
  797.     mov esp, ebp
  798.     pop ebp
  799.     jmp [_PlayMetaFileRecord]
  800.   end;
  801. end;
  802. {$ELSE}
  803. function PlayMetaFileRecord; external gdi32 name 'PlayMetaFileRecord';
  804. {$ENDIF DYNAMIC_LINK}
  805. {$IFDEF DYNAMIC_LINK}
  806. var
  807.   _EnumMetaFile: Pointer;
  808. function EnumMetaFile;
  809. begin
  810.   GetProcedureAddress(_EnumMetaFile, gdi32, 'EnumMetaFile');
  811.   asm
  812.     mov esp, ebp
  813.     pop ebp
  814.     jmp [_EnumMetaFile]
  815.   end;
  816. end;
  817. {$ELSE}
  818. function EnumMetaFile; external gdi32 name 'EnumMetaFile';
  819. {$ENDIF DYNAMIC_LINK}
  820. {$IFDEF DYNAMIC_LINK}
  821. var
  822.   _CloseEnhMetaFile: Pointer;
  823. function CloseEnhMetaFile;
  824. begin
  825.   GetProcedureAddress(_CloseEnhMetaFile, gdi32, 'CloseEnhMetaFile');
  826.   asm
  827.     mov esp, ebp
  828.     pop ebp
  829.     jmp [_CloseEnhMetaFile]
  830.   end;
  831. end;
  832. {$ELSE}
  833. function CloseEnhMetaFile; external gdi32 name 'CloseEnhMetaFile';
  834. {$ENDIF DYNAMIC_LINK}
  835. {$IFDEF DYNAMIC_LINK}
  836. var
  837.   _CopyEnhMetaFileA: Pointer;
  838. function CopyEnhMetaFileA;
  839. begin
  840.   GetProcedureAddress(_CopyEnhMetaFileA, gdi32, 'CopyEnhMetaFileA');
  841.   asm
  842.     mov esp, ebp
  843.     pop ebp
  844.     jmp [_CopyEnhMetaFileA]
  845.   end;
  846. end;
  847. {$ELSE}
  848. function CopyEnhMetaFileA; external gdi32 name 'CopyEnhMetaFileA';
  849. {$ENDIF DYNAMIC_LINK}
  850. {$IFDEF DYNAMIC_LINK}
  851. var
  852.   _CopyEnhMetaFileW: Pointer;
  853. function CopyEnhMetaFileW;
  854. begin
  855.   GetProcedureAddress(_CopyEnhMetaFileW, gdi32, 'CopyEnhMetaFileW');
  856.   asm
  857.     mov esp, ebp
  858.     pop ebp
  859.     jmp [_CopyEnhMetaFileW]
  860.   end;
  861. end;
  862. {$ELSE}
  863. function CopyEnhMetaFileW; external gdi32 name 'CopyEnhMetaFileW';
  864. {$ENDIF DYNAMIC_LINK}
  865. {$IFDEF UNICODE}
  866. {$IFDEF DYNAMIC_LINK}
  867. var
  868.   _CopyEnhMetaFile: Pointer;
  869. function CopyEnhMetaFile;
  870. begin
  871.   GetProcedureAddress(_CopyEnhMetaFile, gdi32, 'CopyEnhMetaFileW');
  872.   asm
  873.     mov esp, ebp
  874.     pop ebp
  875.     jmp [_CopyEnhMetaFile]
  876.   end;
  877. end;
  878. {$ELSE}
  879. function CopyEnhMetaFile; external gdi32 name 'CopyEnhMetaFileW';
  880. {$ENDIF DYNAMIC_LINK}
  881. {$ELSE}
  882. {$IFDEF DYNAMIC_LINK}
  883. var
  884.   _CopyEnhMetaFile: Pointer;
  885. function CopyEnhMetaFile;
  886. begin
  887.   GetProcedureAddress(_CopyEnhMetaFile, gdi32, 'CopyEnhMetaFileA');
  888.   asm
  889.     mov esp, ebp
  890.     pop ebp
  891.     jmp [_CopyEnhMetaFile]
  892.   end;
  893. end;
  894. {$ELSE}
  895. function CopyEnhMetaFile; external gdi32 name 'CopyEnhMetaFileA';
  896. {$ENDIF DYNAMIC_LINK}
  897. {$ENDIF}
  898. {$IFDEF DYNAMIC_LINK}
  899. var
  900.   _CreateEnhMetaFileA: Pointer;
  901. function CreateEnhMetaFileA;
  902. begin
  903.   GetProcedureAddress(_CreateEnhMetaFileA, gdi32, 'CreateEnhMetaFileA');
  904.   asm
  905.     mov esp, ebp
  906.     pop ebp
  907.     jmp [_CreateEnhMetaFileA]
  908.   end;
  909. end;
  910. {$ELSE}
  911. function CreateEnhMetaFileA; external gdi32 name 'CreateEnhMetaFileA';
  912. {$ENDIF DYNAMIC_LINK}
  913. {$IFDEF DYNAMIC_LINK}
  914. var
  915.   _CreateEnhMetaFileW: Pointer;
  916. function CreateEnhMetaFileW;
  917. begin
  918.   GetProcedureAddress(_CreateEnhMetaFileW, gdi32, 'CreateEnhMetaFileW');
  919.   asm
  920.     mov esp, ebp
  921.     pop ebp
  922.     jmp [_CreateEnhMetaFileW]
  923.   end;
  924. end;
  925. {$ELSE}
  926. function CreateEnhMetaFileW; external gdi32 name 'CreateEnhMetaFileW';
  927. {$ENDIF DYNAMIC_LINK}
  928. {$IFDEF UNICODE}
  929. {$IFDEF DYNAMIC_LINK}
  930. var
  931.   _CreateEnhMetaFile: Pointer;
  932. function CreateEnhMetaFile;
  933. begin
  934.   GetProcedureAddress(_CreateEnhMetaFile, gdi32, 'CreateEnhMetaFileW');
  935.   asm
  936.     mov esp, ebp
  937.     pop ebp
  938.     jmp [_CreateEnhMetaFile]
  939.   end;
  940. end;
  941. {$ELSE}
  942. function CreateEnhMetaFile; external gdi32 name 'CreateEnhMetaFileW';
  943. {$ENDIF DYNAMIC_LINK}
  944. {$ELSE}
  945. {$IFDEF DYNAMIC_LINK}
  946. var
  947.   _CreateEnhMetaFile: Pointer;
  948. function CreateEnhMetaFile;
  949. begin
  950.   GetProcedureAddress(_CreateEnhMetaFile, gdi32, 'CreateEnhMetaFileA');
  951.   asm
  952.     mov esp, ebp
  953.     pop ebp
  954.     jmp [_CreateEnhMetaFile]
  955.   end;
  956. end;
  957. {$ELSE}
  958. function CreateEnhMetaFile; external gdi32 name 'CreateEnhMetaFileA';
  959. {$ENDIF DYNAMIC_LINK}
  960. {$ENDIF}
  961. {$IFDEF DYNAMIC_LINK}
  962. var
  963.   _DeleteEnhMetaFile: Pointer;
  964. function DeleteEnhMetaFile;
  965. begin
  966.   GetProcedureAddress(_DeleteEnhMetaFile, gdi32, 'DeleteEnhMetaFile');
  967.   asm
  968.     mov esp, ebp
  969.     pop ebp
  970.     jmp [_DeleteEnhMetaFile]
  971.   end;
  972. end;
  973. {$ELSE}
  974. function DeleteEnhMetaFile; external gdi32 name 'DeleteEnhMetaFile';
  975. {$ENDIF DYNAMIC_LINK}
  976. {$IFDEF DYNAMIC_LINK}
  977. var
  978.   _EnumEnhMetaFile: Pointer;
  979. function EnumEnhMetaFile;
  980. begin
  981.   GetProcedureAddress(_EnumEnhMetaFile, gdi32, 'EnumEnhMetaFile');
  982.   asm
  983.     mov esp, ebp
  984.     pop ebp
  985.     jmp [_EnumEnhMetaFile]
  986.   end;
  987. end;
  988. {$ELSE}
  989. function EnumEnhMetaFile; external gdi32 name 'EnumEnhMetaFile';
  990. {$ENDIF DYNAMIC_LINK}
  991. {$IFDEF DYNAMIC_LINK}
  992. var
  993.   _GetEnhMetaFileA: Pointer;
  994. function GetEnhMetaFileA;
  995. begin
  996.   GetProcedureAddress(_GetEnhMetaFileA, gdi32, 'GetEnhMetaFileA');
  997.   asm
  998.     mov esp, ebp
  999.     pop ebp
  1000.     jmp [_GetEnhMetaFileA]
  1001.   end;
  1002. end;
  1003. {$ELSE}
  1004. function GetEnhMetaFileA; external gdi32 name 'GetEnhMetaFileA';
  1005. {$ENDIF DYNAMIC_LINK}
  1006. {$IFDEF DYNAMIC_LINK}
  1007. var
  1008.   _GetEnhMetaFileW: Pointer;
  1009. function GetEnhMetaFileW;
  1010. begin
  1011.   GetProcedureAddress(_GetEnhMetaFileW, gdi32, 'GetEnhMetaFileW');
  1012.   asm
  1013.     mov esp, ebp
  1014.     pop ebp
  1015.     jmp [_GetEnhMetaFileW]
  1016.   end;
  1017. end;
  1018. {$ELSE}
  1019. function GetEnhMetaFileW; external gdi32 name 'GetEnhMetaFileW';
  1020. {$ENDIF DYNAMIC_LINK}
  1021. {$IFDEF UNICODE}
  1022. {$IFDEF DYNAMIC_LINK}
  1023. var
  1024.   _GetEnhMetaFile: Pointer;
  1025. function GetEnhMetaFile;
  1026. begin
  1027.   GetProcedureAddress(_GetEnhMetaFile, gdi32, 'GetEnhMetaFileW');
  1028.   asm
  1029.     mov esp, ebp
  1030.     pop ebp
  1031.     jmp [_GetEnhMetaFile]
  1032.   end;
  1033. end;
  1034. {$ELSE}
  1035. function GetEnhMetaFile; external gdi32 name 'GetEnhMetaFileW';
  1036. {$ENDIF DYNAMIC_LINK}
  1037. {$ELSE}
  1038. {$IFDEF DYNAMIC_LINK}
  1039. var
  1040.   _GetEnhMetaFile: Pointer;
  1041. function GetEnhMetaFile;
  1042. begin
  1043.   GetProcedureAddress(_GetEnhMetaFile, gdi32, 'GetEnhMetaFileA');
  1044.   asm
  1045.     mov esp, ebp
  1046.     pop ebp
  1047.     jmp [_GetEnhMetaFile]
  1048.   end;
  1049. end;
  1050. {$ELSE}
  1051. function GetEnhMetaFile; external gdi32 name 'GetEnhMetaFileA';
  1052. {$ENDIF DYNAMIC_LINK}
  1053. {$ENDIF}
  1054. {$IFDEF DYNAMIC_LINK}
  1055. var
  1056.   _GetEnhMetaFileBits: Pointer;
  1057. function GetEnhMetaFileBits;
  1058. begin
  1059.   GetProcedureAddress(_GetEnhMetaFileBits, gdi32, 'GetEnhMetaFileBits');
  1060.   asm
  1061.     mov esp, ebp
  1062.     pop ebp
  1063.     jmp [_GetEnhMetaFileBits]
  1064.   end;
  1065. end;
  1066. {$ELSE}
  1067. function GetEnhMetaFileBits; external gdi32 name 'GetEnhMetaFileBits';
  1068. {$ENDIF DYNAMIC_LINK}
  1069. {$IFDEF DYNAMIC_LINK}
  1070. var
  1071.   _GetEnhMetaFileDescriptionA: Pointer;
  1072. function GetEnhMetaFileDescriptionA;
  1073. begin
  1074.   GetProcedureAddress(_GetEnhMetaFileDescriptionA, gdi32, 'GetEnhMetaFileDescriptionA');
  1075.   asm
  1076.     mov esp, ebp
  1077.     pop ebp
  1078.     jmp [_GetEnhMetaFileDescriptionA]
  1079.   end;
  1080. end;
  1081. {$ELSE}
  1082. function GetEnhMetaFileDescriptionA; external gdi32 name 'GetEnhMetaFileDescriptionA';
  1083. {$ENDIF DYNAMIC_LINK}
  1084. {$IFDEF DYNAMIC_LINK}
  1085. var
  1086.   _GetEnhMetaFileDescriptionW: Pointer;
  1087. function GetEnhMetaFileDescriptionW;
  1088. begin
  1089.   GetProcedureAddress(_GetEnhMetaFileDescriptionW, gdi32, 'GetEnhMetaFileDescriptionW');
  1090.   asm
  1091.     mov esp, ebp
  1092.     pop ebp
  1093.     jmp [_GetEnhMetaFileDescriptionW]
  1094.   end;
  1095. end;
  1096. {$ELSE}
  1097. function GetEnhMetaFileDescriptionW; external gdi32 name 'GetEnhMetaFileDescriptionW';
  1098. {$ENDIF DYNAMIC_LINK}
  1099. {$IFDEF UNICODE}
  1100. {$IFDEF DYNAMIC_LINK}
  1101. var
  1102.   _GetEnhMetaFileDescription: Pointer;
  1103. function GetEnhMetaFileDescription;
  1104. begin
  1105.   GetProcedureAddress(_GetEnhMetaFileDescription, gdi32, 'GetEnhMetaFileDescriptionW');
  1106.   asm
  1107.     mov esp, ebp
  1108.     pop ebp
  1109.     jmp [_GetEnhMetaFileDescription]
  1110.   end;
  1111. end;
  1112. {$ELSE}
  1113. function GetEnhMetaFileDescription; external gdi32 name 'GetEnhMetaFileDescriptionW';
  1114. {$ENDIF DYNAMIC_LINK}
  1115. {$ELSE}
  1116. {$IFDEF DYNAMIC_LINK}
  1117. var
  1118.   _GetEnhMetaFileDescription: Pointer;
  1119. function GetEnhMetaFileDescription;
  1120. begin
  1121.   GetProcedureAddress(_GetEnhMetaFileDescription, gdi32, 'GetEnhMetaFileDescriptionA');
  1122.   asm
  1123.     mov esp, ebp
  1124.     pop ebp
  1125.     jmp [_GetEnhMetaFileDescription]
  1126.   end;
  1127. end;
  1128. {$ELSE}
  1129. function GetEnhMetaFileDescription; external gdi32 name 'GetEnhMetaFileDescriptionA';
  1130. {$ENDIF DYNAMIC_LINK}
  1131. {$ENDIF}
  1132. {$IFDEF DYNAMIC_LINK}
  1133. var
  1134.   _GetEnhMetaFileHeader: Pointer;
  1135. function GetEnhMetaFileHeader;
  1136. begin
  1137.   GetProcedureAddress(_GetEnhMetaFileHeader, gdi32, 'GetEnhMetaFileHeader');
  1138.   asm
  1139.     mov esp, ebp
  1140.     pop ebp
  1141.     jmp [_GetEnhMetaFileHeader]
  1142.   end;
  1143. end;
  1144. {$ELSE}
  1145. function GetEnhMetaFileHeader; external gdi32 name 'GetEnhMetaFileHeader';
  1146. {$ENDIF DYNAMIC_LINK}
  1147. {$IFDEF DYNAMIC_LINK}
  1148. var
  1149.   _GetEnhMetaFilePaletteEntries: Pointer;
  1150. function GetEnhMetaFilePaletteEntries;
  1151. begin
  1152.   GetProcedureAddress(_GetEnhMetaFilePaletteEntries, gdi32, 'GetEnhMetaFilePaletteEntries');
  1153.   asm
  1154.     mov esp, ebp
  1155.     pop ebp
  1156.     jmp [_GetEnhMetaFilePaletteEntries]
  1157.   end;
  1158. end;
  1159. {$ELSE}
  1160. function GetEnhMetaFilePaletteEntries; external gdi32 name 'GetEnhMetaFilePaletteEntries';
  1161. {$ENDIF DYNAMIC_LINK}
  1162. {$IFDEF DYNAMIC_LINK}
  1163. var
  1164.   _GetEnhMetaFilePixelFormat: Pointer;
  1165. function GetEnhMetaFilePixelFormat;
  1166. begin
  1167.   GetProcedureAddress(_GetEnhMetaFilePixelFormat, gdi32, 'GetEnhMetaFilePixelFormat');
  1168.   asm
  1169.     mov esp, ebp
  1170.     pop ebp
  1171.     jmp [_GetEnhMetaFilePixelFormat]
  1172.   end;
  1173. end;
  1174. {$ELSE}
  1175. function GetEnhMetaFilePixelFormat; external gdi32 name 'GetEnhMetaFilePixelFormat';
  1176. {$ENDIF DYNAMIC_LINK}
  1177. {$IFDEF DYNAMIC_LINK}
  1178. var
  1179.   _GetWinMetaFileBits: Pointer;
  1180. function GetWinMetaFileBits;
  1181. begin
  1182.   GetProcedureAddress(_GetWinMetaFileBits, gdi32, 'GetWinMetaFileBits');
  1183.   asm
  1184.     mov esp, ebp
  1185.     pop ebp
  1186.     jmp [_GetWinMetaFileBits]
  1187.   end;
  1188. end;
  1189. {$ELSE}
  1190. function GetWinMetaFileBits; external gdi32 name 'GetWinMetaFileBits';
  1191. {$ENDIF DYNAMIC_LINK}
  1192. {$IFDEF DYNAMIC_LINK}
  1193. var
  1194.   _PlayEnhMetaFile: Pointer;
  1195. function PlayEnhMetaFile;
  1196. begin
  1197.   GetProcedureAddress(_PlayEnhMetaFile, gdi32, 'PlayEnhMetaFile');
  1198.   asm
  1199.     mov esp, ebp
  1200.     pop ebp
  1201.     jmp [_PlayEnhMetaFile]
  1202.   end;
  1203. end;
  1204. {$ELSE}
  1205. function PlayEnhMetaFile; external gdi32 name 'PlayEnhMetaFile';
  1206. {$ENDIF DYNAMIC_LINK}
  1207. {$IFDEF DYNAMIC_LINK}
  1208. var
  1209.   _PlayEnhMetaFileRecord: Pointer;
  1210. function PlayEnhMetaFileRecord;
  1211. begin
  1212.   GetProcedureAddress(_PlayEnhMetaFileRecord, gdi32, 'PlayEnhMetaFileRecord');
  1213.   asm
  1214.     mov esp, ebp
  1215.     pop ebp
  1216.     jmp [_PlayEnhMetaFileRecord]
  1217.   end;
  1218. end;
  1219. {$ELSE}
  1220. function PlayEnhMetaFileRecord; external gdi32 name 'PlayEnhMetaFileRecord';
  1221. {$ENDIF DYNAMIC_LINK}
  1222. {$IFDEF DYNAMIC_LINK}
  1223. var
  1224.   _SetEnhMetaFileBits: Pointer;
  1225. function SetEnhMetaFileBits;
  1226. begin
  1227.   GetProcedureAddress(_SetEnhMetaFileBits, gdi32, 'SetEnhMetaFileBits');
  1228.   asm
  1229.     mov esp, ebp
  1230.     pop ebp
  1231.     jmp [_SetEnhMetaFileBits]
  1232.   end;
  1233. end;
  1234. {$ELSE}
  1235. function SetEnhMetaFileBits; external gdi32 name 'SetEnhMetaFileBits';
  1236. {$ENDIF DYNAMIC_LINK}
  1237. {$IFDEF DYNAMIC_LINK}
  1238. var
  1239.   _SetWinMetaFileBits: Pointer;
  1240. function SetWinMetaFileBits;
  1241. begin
  1242.   GetProcedureAddress(_SetWinMetaFileBits, gdi32, 'SetWinMetaFileBits');
  1243.   asm
  1244.     mov esp, ebp
  1245.     pop ebp
  1246.     jmp [_SetWinMetaFileBits]
  1247.   end;
  1248. end;
  1249. {$ELSE}
  1250. function SetWinMetaFileBits; external gdi32 name 'SetWinMetaFileBits';
  1251. {$ENDIF DYNAMIC_LINK}
  1252. {$IFDEF DYNAMIC_LINK}
  1253. var
  1254.   _GdiComment: Pointer;
  1255. function GdiComment;
  1256. begin
  1257.   GetProcedureAddress(_GdiComment, gdi32, 'GdiComment');
  1258.   asm
  1259.     mov esp, ebp
  1260.     pop ebp
  1261.     jmp [_GdiComment]
  1262.   end;
  1263. end;
  1264. {$ELSE}
  1265. function GdiComment; external gdi32 name 'GdiComment';
  1266. {$ENDIF DYNAMIC_LINK}
  1267. {$IFDEF DYNAMIC_LINK}
  1268. var
  1269.   _GetTextMetricsA: Pointer;
  1270. function GetTextMetricsA;
  1271. begin
  1272.   GetProcedureAddress(_GetTextMetricsA, gdi32, 'GetTextMetricsA');
  1273.   asm
  1274.     mov esp, ebp
  1275.     pop ebp
  1276.     jmp [_GetTextMetricsA]
  1277.   end;
  1278. end;
  1279. {$ELSE}
  1280. function GetTextMetricsA; external gdi32 name 'GetTextMetricsA';
  1281. {$ENDIF DYNAMIC_LINK}
  1282. {$IFDEF DYNAMIC_LINK}
  1283. var
  1284.   _GetTextMetricsW: Pointer;
  1285. function GetTextMetricsW;
  1286. begin
  1287.   GetProcedureAddress(_GetTextMetricsW, gdi32, 'GetTextMetricsW');
  1288.   asm
  1289.     mov esp, ebp
  1290.     pop ebp
  1291.     jmp [_GetTextMetricsW]
  1292.   end;
  1293. end;
  1294. {$ELSE}
  1295. function GetTextMetricsW; external gdi32 name 'GetTextMetricsW';
  1296. {$ENDIF DYNAMIC_LINK}
  1297. {$IFDEF UNICODE}
  1298. {$IFDEF DYNAMIC_LINK}
  1299. var
  1300.   _GetTextMetrics: Pointer;
  1301. function GetTextMetrics;
  1302. begin
  1303.   GetProcedureAddress(_GetTextMetrics, gdi32, 'GetTextMetricsW');
  1304.   asm
  1305.     mov esp, ebp
  1306.     pop ebp
  1307.     jmp [_GetTextMetrics]
  1308.   end;
  1309. end;
  1310. {$ELSE}
  1311. function GetTextMetrics; external gdi32 name 'GetTextMetricsW';
  1312. {$ENDIF DYNAMIC_LINK}
  1313. {$ELSE}
  1314. {$IFDEF DYNAMIC_LINK}
  1315. var
  1316.   _GetTextMetrics: Pointer;
  1317. function GetTextMetrics;
  1318. begin
  1319.   GetProcedureAddress(_GetTextMetrics, gdi32, 'GetTextMetricsA');
  1320.   asm
  1321.     mov esp, ebp
  1322.     pop ebp
  1323.     jmp [_GetTextMetrics]
  1324.   end;
  1325. end;
  1326. {$ELSE}
  1327. function GetTextMetrics; external gdi32 name 'GetTextMetricsA';
  1328. {$ENDIF DYNAMIC_LINK}
  1329. {$ENDIF}
  1330. {$IFDEF DYNAMIC_LINK}
  1331. var
  1332.   _AngleArc: Pointer;
  1333. function AngleArc;
  1334. begin
  1335.   GetProcedureAddress(_AngleArc, gdi32, 'AngleArc');
  1336.   asm
  1337.     mov esp, ebp
  1338.     pop ebp
  1339.     jmp [_AngleArc]
  1340.   end;
  1341. end;
  1342. {$ELSE}
  1343. function AngleArc; external gdi32 name 'AngleArc';
  1344. {$ENDIF DYNAMIC_LINK}
  1345. {$IFDEF DYNAMIC_LINK}
  1346. var
  1347.   _PolyPolyline: Pointer;
  1348. function PolyPolyline;
  1349. begin
  1350.   GetProcedureAddress(_PolyPolyline, gdi32, 'PolyPolyline');
  1351.   asm
  1352.     mov esp, ebp
  1353.     pop ebp
  1354.     jmp [_PolyPolyline]
  1355.   end;
  1356. end;
  1357. {$ELSE}
  1358. function PolyPolyline; external gdi32 name 'PolyPolyline';
  1359. {$ENDIF DYNAMIC_LINK}
  1360. {$IFDEF DYNAMIC_LINK}
  1361. var
  1362.   _GetWorldTransform: Pointer;
  1363. function GetWorldTransform;
  1364. begin
  1365.   GetProcedureAddress(_GetWorldTransform, gdi32, 'GetWorldTransform');
  1366.   asm
  1367.     mov esp, ebp
  1368.     pop ebp
  1369.     jmp [_GetWorldTransform]
  1370.   end;
  1371. end;
  1372. {$ELSE}
  1373. function GetWorldTransform; external gdi32 name 'GetWorldTransform';
  1374. {$ENDIF DYNAMIC_LINK}
  1375. {$IFDEF DYNAMIC_LINK}
  1376. var
  1377.   _SetWorldTransform: Pointer;
  1378. function SetWorldTransform;
  1379. begin
  1380.   GetProcedureAddress(_SetWorldTransform, gdi32, 'SetWorldTransform');
  1381.   asm
  1382.     mov esp, ebp
  1383.     pop ebp
  1384.     jmp [_SetWorldTransform]
  1385.   end;
  1386. end;
  1387. {$ELSE}
  1388. function SetWorldTransform; external gdi32 name 'SetWorldTransform';
  1389. {$ENDIF DYNAMIC_LINK}
  1390. {$IFDEF DYNAMIC_LINK}
  1391. var
  1392.   _ModifyWorldTransform: Pointer;
  1393. function ModifyWorldTransform;
  1394. begin
  1395.   GetProcedureAddress(_ModifyWorldTransform, gdi32, 'ModifyWorldTransform');
  1396.   asm
  1397.     mov esp, ebp
  1398.     pop ebp
  1399.     jmp [_ModifyWorldTransform]
  1400.   end;
  1401. end;
  1402. {$ELSE}
  1403. function ModifyWorldTransform; external gdi32 name 'ModifyWorldTransform';
  1404. {$ENDIF DYNAMIC_LINK}
  1405. {$IFDEF DYNAMIC_LINK}
  1406. var
  1407.   _CombineTransform: Pointer;
  1408. function CombineTransform;
  1409. begin
  1410.   GetProcedureAddress(_CombineTransform, gdi32, 'CombineTransform');
  1411.   asm
  1412.     mov esp, ebp
  1413.     pop ebp
  1414.     jmp [_CombineTransform]
  1415.   end;
  1416. end;
  1417. {$ELSE}
  1418. function CombineTransform; external gdi32 name 'CombineTransform';
  1419. {$ENDIF DYNAMIC_LINK}
  1420. {$IFDEF DYNAMIC_LINK}
  1421. var
  1422.   _CreateDIBSection: Pointer;
  1423. function CreateDIBSection;
  1424. begin
  1425.   GetProcedureAddress(_CreateDIBSection, gdi32, 'CreateDIBSection');
  1426.   asm
  1427.     mov esp, ebp
  1428.     pop ebp
  1429.     jmp [_CreateDIBSection]
  1430.   end;
  1431. end;
  1432. {$ELSE}
  1433. function CreateDIBSection; external gdi32 name 'CreateDIBSection';
  1434. {$ENDIF DYNAMIC_LINK}
  1435. {$IFDEF DYNAMIC_LINK}
  1436. var
  1437.   _GetDIBColorTable: Pointer;
  1438. function GetDIBColorTable;
  1439. begin
  1440.   GetProcedureAddress(_GetDIBColorTable, gdi32, 'GetDIBColorTable');
  1441.   asm
  1442.     mov esp, ebp
  1443.     pop ebp
  1444.     jmp [_GetDIBColorTable]
  1445.   end;
  1446. end;
  1447. {$ELSE}
  1448. function GetDIBColorTable; external gdi32 name 'GetDIBColorTable';
  1449. {$ENDIF DYNAMIC_LINK}
  1450. {$IFDEF DYNAMIC_LINK}
  1451. var
  1452.   _SetDIBColorTable: Pointer;
  1453. function SetDIBColorTable;
  1454. begin
  1455.   GetProcedureAddress(_SetDIBColorTable, gdi32, 'SetDIBColorTable');
  1456.   asm
  1457.     mov esp, ebp
  1458.     pop ebp
  1459.     jmp [_SetDIBColorTable]
  1460.   end;
  1461. end;
  1462. {$ELSE}
  1463. function SetDIBColorTable; external gdi32 name 'SetDIBColorTable';
  1464. {$ENDIF DYNAMIC_LINK}
  1465. {$IFDEF DYNAMIC_LINK}
  1466. var
  1467.   _SetColorAdjustment: Pointer;
  1468. function SetColorAdjustment;
  1469. begin
  1470.   GetProcedureAddress(_SetColorAdjustment, gdi32, 'SetColorAdjustment');
  1471.   asm
  1472.     mov esp, ebp
  1473.     pop ebp
  1474.     jmp [_SetColorAdjustment]
  1475.   end;
  1476. end;
  1477. {$ELSE}
  1478. function SetColorAdjustment; external gdi32 name 'SetColorAdjustment';
  1479. {$ENDIF DYNAMIC_LINK}
  1480. {$IFDEF DYNAMIC_LINK}
  1481. var
  1482.   _GetColorAdjustment: Pointer;
  1483. function GetColorAdjustment;
  1484. begin
  1485.   GetProcedureAddress(_GetColorAdjustment, gdi32, 'GetColorAdjustment');
  1486.   asm
  1487.     mov esp, ebp
  1488.     pop ebp
  1489.     jmp [_GetColorAdjustment]
  1490.   end;
  1491. end;
  1492. {$ELSE}
  1493. function GetColorAdjustment; external gdi32 name 'GetColorAdjustment';
  1494. {$ENDIF DYNAMIC_LINK}
  1495. {$IFDEF DYNAMIC_LINK}
  1496. var
  1497.   _CreateHalftonePalette: Pointer;
  1498. function CreateHalftonePalette;
  1499. begin
  1500.   GetProcedureAddress(_CreateHalftonePalette, gdi32, 'CreateHalftonePalette');
  1501.   asm
  1502.     mov esp, ebp
  1503.     pop ebp
  1504.     jmp [_CreateHalftonePalette]
  1505.   end;
  1506. end;
  1507. {$ELSE}
  1508. function CreateHalftonePalette; external gdi32 name 'CreateHalftonePalette';
  1509. {$ENDIF DYNAMIC_LINK}
  1510. {$IFDEF DYNAMIC_LINK}
  1511. var
  1512.   _StartDocA: Pointer;
  1513. function StartDocA;
  1514. begin
  1515.   GetProcedureAddress(_StartDocA, gdi32, 'StartDocA');
  1516.   asm
  1517.     mov esp, ebp
  1518.     pop ebp
  1519.     jmp [_StartDocA]
  1520.   end;
  1521. end;
  1522. {$ELSE}
  1523. function StartDocA; external gdi32 name 'StartDocA';
  1524. {$ENDIF DYNAMIC_LINK}
  1525. {$IFDEF DYNAMIC_LINK}
  1526. var
  1527.   _StartDocW: Pointer;
  1528. function StartDocW;
  1529. begin
  1530.   GetProcedureAddress(_StartDocW, gdi32, 'StartDocW');
  1531.   asm
  1532.     mov esp, ebp
  1533.     pop ebp
  1534.     jmp [_StartDocW]
  1535.   end;
  1536. end;
  1537. {$ELSE}
  1538. function StartDocW; external gdi32 name 'StartDocW';
  1539. {$ENDIF DYNAMIC_LINK}
  1540. {$IFDEF UNICODE}
  1541. {$IFDEF DYNAMIC_LINK}
  1542. var
  1543.   _StartDoc: Pointer;
  1544. function StartDoc;
  1545. begin
  1546.   GetProcedureAddress(_StartDoc, gdi32, 'StartDocW');
  1547.   asm
  1548.     mov esp, ebp
  1549.     pop ebp
  1550.     jmp [_StartDoc]
  1551.   end;
  1552. end;
  1553. {$ELSE}
  1554. function StartDoc; external gdi32 name 'StartDocW';
  1555. {$ENDIF DYNAMIC_LINK}
  1556. {$ELSE}
  1557. {$IFDEF DYNAMIC_LINK}
  1558. var
  1559.   __StartDoc: Pointer;
  1560. function StartDoc;
  1561. begin
  1562.   GetProcedureAddress(__StartDoc, gdi32, 'StartDocA');
  1563.   asm
  1564.     mov esp, ebp
  1565.     pop ebp
  1566.     jmp [__StartDoc]
  1567.   end;
  1568. end;
  1569. {$ELSE}
  1570. function StartDoc; external gdi32 name 'StartDocA';
  1571. {$ENDIF DYNAMIC_LINK}
  1572. {$ENDIF}
  1573. {$IFDEF DYNAMIC_LINK}
  1574. var
  1575.   __EndDoc: Pointer;
  1576. function EndDoc;
  1577. begin
  1578.   GetProcedureAddress(__EndDoc, gdi32, 'EndDoc');
  1579.   asm
  1580.     mov esp, ebp
  1581.     pop ebp
  1582.     jmp [__EndDoc]
  1583.   end;
  1584. end;
  1585. {$ELSE}
  1586. function EndDoc; external gdi32 name 'EndDoc';
  1587. {$ENDIF DYNAMIC_LINK}
  1588. {$IFDEF DYNAMIC_LINK}
  1589. var
  1590.   _StartPage: Pointer;
  1591. function StartPage;
  1592. begin
  1593.   GetProcedureAddress(_StartPage, gdi32, 'StartPage');
  1594.   asm
  1595.     mov esp, ebp
  1596.     pop ebp
  1597.     jmp [_StartPage]
  1598.   end;
  1599. end;
  1600. {$ELSE}
  1601. function StartPage; external gdi32 name 'StartPage';
  1602. {$ENDIF DYNAMIC_LINK}
  1603. {$IFDEF DYNAMIC_LINK}
  1604. var
  1605.   _EndPage: Pointer;
  1606. function EndPage;
  1607. begin
  1608.   GetProcedureAddress(_EndPage, gdi32, 'EndPage');
  1609.   asm
  1610.     mov esp, ebp
  1611.     pop ebp
  1612.     jmp [_EndPage]
  1613.   end;
  1614. end;
  1615. {$ELSE}
  1616. function EndPage; external gdi32 name 'EndPage';
  1617. {$ENDIF DYNAMIC_LINK}
  1618. {$IFDEF DYNAMIC_LINK}
  1619. var
  1620.   __AbortDoc: Pointer;
  1621. function AbortDoc;
  1622. begin
  1623.   GetProcedureAddress(__AbortDoc, gdi32, 'AbortDoc');
  1624.   asm
  1625.     mov esp, ebp
  1626.     pop ebp
  1627.     jmp [__AbortDoc]
  1628.   end;
  1629. end;
  1630. {$ELSE}
  1631. function AbortDoc; external gdi32 name 'AbortDoc';
  1632. {$ENDIF DYNAMIC_LINK}
  1633. {$IFDEF DYNAMIC_LINK}
  1634. var
  1635.   _SetAbortProc: Pointer;
  1636. function SetAbortProc;
  1637. begin
  1638.   GetProcedureAddress(_SetAbortProc, gdi32, 'SetAbortProc');
  1639.   asm
  1640.     mov esp, ebp
  1641.     pop ebp
  1642.     jmp [_SetAbortProc]
  1643.   end;
  1644. end;
  1645. {$ELSE}
  1646. function SetAbortProc; external gdi32 name 'SetAbortProc';
  1647. {$ENDIF DYNAMIC_LINK}
  1648. {$IFDEF DYNAMIC_LINK}
  1649. var
  1650.   _AbortPath: Pointer;
  1651. function AbortPath;
  1652. begin
  1653.   GetProcedureAddress(_AbortPath, gdi32, 'AbortPath');
  1654.   asm
  1655.     mov esp, ebp
  1656.     pop ebp
  1657.     jmp [_AbortPath]
  1658.   end;
  1659. end;
  1660. {$ELSE}
  1661. function AbortPath; external gdi32 name 'AbortPath';
  1662. {$ENDIF DYNAMIC_LINK}
  1663. {$IFDEF DYNAMIC_LINK}
  1664. var
  1665.   _ArcTo: Pointer;
  1666. function ArcTo;
  1667. begin
  1668.   GetProcedureAddress(_ArcTo, gdi32, 'ArcTo');
  1669.   asm
  1670.     mov esp, ebp
  1671.     pop ebp
  1672.     jmp [_ArcTo]
  1673.   end;
  1674. end;
  1675. {$ELSE}
  1676. function ArcTo; external gdi32 name 'ArcTo';
  1677. {$ENDIF DYNAMIC_LINK}
  1678. {$IFDEF DYNAMIC_LINK}
  1679. var
  1680.   _BeginPath: Pointer;
  1681. function BeginPath;
  1682. begin
  1683.   GetProcedureAddress(_BeginPath, gdi32, 'BeginPath');
  1684.   asm
  1685.     mov esp, ebp
  1686.     pop ebp
  1687.     jmp [_BeginPath]
  1688.   end;
  1689. end;
  1690. {$ELSE}
  1691. function BeginPath; external gdi32 name 'BeginPath';
  1692. {$ENDIF DYNAMIC_LINK}
  1693. {$IFDEF DYNAMIC_LINK}
  1694. var
  1695.   _CloseFigure: Pointer;
  1696. function CloseFigure;
  1697. begin
  1698.   GetProcedureAddress(_CloseFigure, gdi32, 'CloseFigure');
  1699.   asm
  1700.     mov esp, ebp
  1701.     pop ebp
  1702.     jmp [_CloseFigure]
  1703.   end;
  1704. end;
  1705. {$ELSE}
  1706. function CloseFigure; external gdi32 name 'CloseFigure';
  1707. {$ENDIF DYNAMIC_LINK}
  1708. {$IFDEF DYNAMIC_LINK}
  1709. var
  1710.   _EndPath: Pointer;
  1711. function EndPath;
  1712. begin
  1713.   GetProcedureAddress(_EndPath, gdi32, 'EndPath');
  1714.   asm
  1715.     mov esp, ebp
  1716.     pop ebp
  1717.     jmp [_EndPath]
  1718.   end;
  1719. end;
  1720. {$ELSE}
  1721. function EndPath; external gdi32 name 'EndPath';
  1722. {$ENDIF DYNAMIC_LINK}
  1723. {$IFDEF DYNAMIC_LINK}
  1724. var
  1725.   _FillPath: Pointer;
  1726. function FillPath;
  1727. begin
  1728.   GetProcedureAddress(_FillPath, gdi32, 'FillPath');
  1729.   asm
  1730.     mov esp, ebp
  1731.     pop ebp
  1732.     jmp [_FillPath]
  1733.   end;
  1734. end;
  1735. {$ELSE}
  1736. function FillPath; external gdi32 name 'FillPath';
  1737. {$ENDIF DYNAMIC_LINK}
  1738. {$IFDEF DYNAMIC_LINK}
  1739. var
  1740.   _FlattenPath: Pointer;
  1741. function FlattenPath;
  1742. begin
  1743.   GetProcedureAddress(_FlattenPath, gdi32, 'FlattenPath');
  1744.   asm
  1745.     mov esp, ebp
  1746.     pop ebp
  1747.     jmp [_FlattenPath]
  1748.   end;
  1749. end;
  1750. {$ELSE}
  1751. function FlattenPath; external gdi32 name 'FlattenPath';
  1752. {$ENDIF DYNAMIC_LINK}
  1753. {$IFDEF DYNAMIC_LINK}
  1754. var
  1755.   _GetPath: Pointer;
  1756. function GetPath;
  1757. begin
  1758.   GetProcedureAddress(_GetPath, gdi32, 'GetPath');
  1759.   asm
  1760.     mov esp, ebp
  1761.     pop ebp
  1762.     jmp [_GetPath]
  1763.   end;
  1764. end;
  1765. {$ELSE}
  1766. function GetPath; external gdi32 name 'GetPath';
  1767. {$ENDIF DYNAMIC_LINK}
  1768. {$IFDEF DYNAMIC_LINK}
  1769. var
  1770.   _PathToRegion: Pointer;
  1771. function PathToRegion;
  1772. begin
  1773.   GetProcedureAddress(_PathToRegion, gdi32, 'PathToRegion');
  1774.   asm
  1775.     mov esp, ebp
  1776.     pop ebp
  1777.     jmp [_PathToRegion]
  1778.   end;
  1779. end;
  1780. {$ELSE}
  1781. function PathToRegion; external gdi32 name 'PathToRegion';
  1782. {$ENDIF DYNAMIC_LINK}
  1783. {$IFDEF DYNAMIC_LINK}
  1784. var
  1785.   _PolyDraw: Pointer;
  1786. function PolyDraw;
  1787. begin
  1788.   GetProcedureAddress(_PolyDraw, gdi32, 'PolyDraw');
  1789.   asm
  1790.     mov esp, ebp
  1791.     pop ebp
  1792.     jmp [_PolyDraw]
  1793.   end;
  1794. end;
  1795. {$ELSE}
  1796. function PolyDraw; external gdi32 name 'PolyDraw';
  1797. {$ENDIF DYNAMIC_LINK}
  1798. {$IFDEF DYNAMIC_LINK}
  1799. var
  1800.   _SelectClipPath: Pointer;
  1801. function SelectClipPath;
  1802. begin
  1803.   GetProcedureAddress(_SelectClipPath, gdi32, 'SelectClipPath');
  1804.   asm
  1805.     mov esp, ebp
  1806.     pop ebp
  1807.     jmp [_SelectClipPath]
  1808.   end;
  1809. end;
  1810. {$ELSE}
  1811. function SelectClipPath; external gdi32 name 'SelectClipPath';
  1812. {$ENDIF DYNAMIC_LINK}
  1813. {$IFDEF DYNAMIC_LINK}
  1814. var
  1815.   _SetArcDirection: Pointer;
  1816. function SetArcDirection;
  1817. begin
  1818.   GetProcedureAddress(_SetArcDirection, gdi32, 'SetArcDirection');
  1819.   asm
  1820.     mov esp, ebp
  1821.     pop ebp
  1822.     jmp [_SetArcDirection]
  1823.   end;
  1824. end;
  1825. {$ELSE}
  1826. function SetArcDirection; external gdi32 name 'SetArcDirection';
  1827. {$ENDIF DYNAMIC_LINK}
  1828. {$IFDEF DYNAMIC_LINK}
  1829. var
  1830.   _SetMiterLimit: Pointer;
  1831. function SetMiterLimit;
  1832. begin
  1833.   GetProcedureAddress(_SetMiterLimit, gdi32, 'SetMiterLimit');
  1834.   asm
  1835.     mov esp, ebp
  1836.     pop ebp
  1837.     jmp [_SetMiterLimit]
  1838.   end;
  1839. end;
  1840. {$ELSE}
  1841. function SetMiterLimit; external gdi32 name 'SetMiterLimit';
  1842. {$ENDIF DYNAMIC_LINK}
  1843. {$IFDEF DYNAMIC_LINK}
  1844. var
  1845.   _StrokeAndFillPath: Pointer;
  1846. function StrokeAndFillPath;
  1847. begin
  1848.   GetProcedureAddress(_StrokeAndFillPath, gdi32, 'StrokeAndFillPath');
  1849.   asm
  1850.     mov esp, ebp
  1851.     pop ebp
  1852.     jmp [_StrokeAndFillPath]
  1853.   end;
  1854. end;
  1855. {$ELSE}
  1856. function StrokeAndFillPath; external gdi32 name 'StrokeAndFillPath';
  1857. {$ENDIF DYNAMIC_LINK}
  1858. {$IFDEF DYNAMIC_LINK}
  1859. var
  1860.   _StrokePath: Pointer;
  1861. function StrokePath;
  1862. begin
  1863.   GetProcedureAddress(_StrokePath, gdi32, 'StrokePath');
  1864.   asm
  1865.     mov esp, ebp
  1866.     pop ebp
  1867.     jmp [_StrokePath]
  1868.   end;
  1869. end;
  1870. {$ELSE}
  1871. function StrokePath; external gdi32 name 'StrokePath';
  1872. {$ENDIF DYNAMIC_LINK}
  1873. {$IFDEF DYNAMIC_LINK}
  1874. var
  1875.   _WidenPath: Pointer;
  1876. function WidenPath;
  1877. begin
  1878.   GetProcedureAddress(_WidenPath, gdi32, 'WidenPath');
  1879.   asm
  1880.     mov esp, ebp
  1881.     pop ebp
  1882.     jmp [_WidenPath]
  1883.   end;
  1884. end;
  1885. {$ELSE}
  1886. function WidenPath; external gdi32 name 'WidenPath';
  1887. {$ENDIF DYNAMIC_LINK}
  1888. {$IFDEF DYNAMIC_LINK}
  1889. var
  1890.   _ExtCreatePen: Pointer;
  1891. function ExtCreatePen;
  1892. begin
  1893.   GetProcedureAddress(_ExtCreatePen, gdi32, 'ExtCreatePen');
  1894.   asm
  1895.     mov esp, ebp
  1896.     pop ebp
  1897.     jmp [_ExtCreatePen]
  1898.   end;
  1899. end;
  1900. {$ELSE}
  1901. function ExtCreatePen; external gdi32 name 'ExtCreatePen';
  1902. {$ENDIF DYNAMIC_LINK}
  1903. {$IFDEF DYNAMIC_LINK}
  1904. var
  1905.   _GetMiterLimit: Pointer;
  1906. function GetMiterLimit;
  1907. begin
  1908.   GetProcedureAddress(_GetMiterLimit, gdi32, 'GetMiterLimit');
  1909.   asm
  1910.     mov esp, ebp
  1911.     pop ebp
  1912.     jmp [_GetMiterLimit]
  1913.   end;
  1914. end;
  1915. {$ELSE}
  1916. function GetMiterLimit; external gdi32 name 'GetMiterLimit';
  1917. {$ENDIF DYNAMIC_LINK}
  1918. {$IFDEF DYNAMIC_LINK}
  1919. var
  1920.   _GetArcDirection: Pointer;
  1921. function GetArcDirection;
  1922. begin
  1923.   GetProcedureAddress(_GetArcDirection, gdi32, 'GetArcDirection');
  1924.   asm
  1925.     mov esp, ebp
  1926.     pop ebp
  1927.     jmp [_GetArcDirection]
  1928.   end;
  1929. end;
  1930. {$ELSE}
  1931. function GetArcDirection; external gdi32 name 'GetArcDirection';
  1932. {$ENDIF DYNAMIC_LINK}
  1933. {$IFDEF DYNAMIC_LINK}
  1934. var
  1935.   _GetObjectA: Pointer;
  1936. function GetObjectA;
  1937. begin
  1938.   GetProcedureAddress(_GetObjectA, gdi32, 'GetObjectA');
  1939.   asm
  1940.     mov esp, ebp
  1941.     pop ebp
  1942.     jmp [_GetObjectA]
  1943.   end;
  1944. end;
  1945. {$ELSE}
  1946. function GetObjectA; external gdi32 name 'GetObjectA';
  1947. {$ENDIF DYNAMIC_LINK}
  1948. {$IFDEF DYNAMIC_LINK}
  1949. var
  1950.   _GetObjectW: Pointer;
  1951. function GetObjectW;
  1952. begin
  1953.   GetProcedureAddress(_GetObjectW, gdi32, 'GetObjectW');
  1954.   asm
  1955.     mov esp, ebp
  1956.     pop ebp
  1957.     jmp [_GetObjectW]
  1958.   end;
  1959. end;
  1960. {$ELSE}
  1961. function GetObjectW; external gdi32 name 'GetObjectW';
  1962. {$ENDIF DYNAMIC_LINK}
  1963. {$IFDEF UNICODE}
  1964. {$IFDEF DYNAMIC_LINK}
  1965. var
  1966.   _GetObject: Pointer;
  1967. function GetObject;
  1968. begin
  1969.   GetProcedureAddress(_GetObject, gdi32, 'GetObjectW');
  1970.   asm
  1971.     mov esp, ebp
  1972.     pop ebp
  1973.     jmp [_GetObject]
  1974.   end;
  1975. end;
  1976. {$ELSE}
  1977. function GetObject; external gdi32 name 'GetObjectW';
  1978. {$ENDIF DYNAMIC_LINK}
  1979. {$ELSE}
  1980. {$IFDEF DYNAMIC_LINK}
  1981. var
  1982.   _GetObject: Pointer;
  1983. function GetObject;
  1984. begin
  1985.   GetProcedureAddress(_GetObject, gdi32, 'GetObjectA');
  1986.   asm
  1987.     mov esp, ebp
  1988.     pop ebp
  1989.     jmp [_GetObject]
  1990.   end;
  1991. end;
  1992. {$ELSE}
  1993. function GetObject; external gdi32 name 'GetObjectA';
  1994. {$ENDIF DYNAMIC_LINK}
  1995. {$ENDIF}
  1996. {$IFDEF DYNAMIC_LINK}
  1997. var
  1998.   _MoveToEx: Pointer;
  1999. function MoveToEx;
  2000. begin
  2001.   GetProcedureAddress(_MoveToEx, gdi32, 'MoveToEx');
  2002.   asm
  2003.     mov esp, ebp
  2004.     pop ebp
  2005.     jmp [_MoveToEx]
  2006.   end;
  2007. end;
  2008. {$ELSE}
  2009. function MoveToEx; external gdi32 name 'MoveToEx';
  2010. {$ENDIF DYNAMIC_LINK}
  2011. {$IFDEF DYNAMIC_LINK}
  2012. var
  2013.   _TextOutA: Pointer;
  2014. function TextOutA;
  2015. begin
  2016.   GetProcedureAddress(_TextOutA, gdi32, 'TextOutA');
  2017.   asm
  2018.     mov esp, ebp
  2019.     pop ebp
  2020.     jmp [_TextOutA]
  2021.   end;
  2022. end;
  2023. {$ELSE}
  2024. function TextOutA; external gdi32 name 'TextOutA';
  2025. {$ENDIF DYNAMIC_LINK}
  2026. {$IFDEF DYNAMIC_LINK}
  2027. var
  2028.   _TextOutW: Pointer;
  2029. function TextOutW;
  2030. begin
  2031.   GetProcedureAddress(_TextOutW, gdi32, 'TextOutW');
  2032.   asm
  2033.     mov esp, ebp
  2034.     pop ebp
  2035.     jmp [_TextOutW]
  2036.   end;
  2037. end;
  2038. {$ELSE}
  2039. function TextOutW; external gdi32 name 'TextOutW';
  2040. {$ENDIF DYNAMIC_LINK}
  2041. {$IFDEF UNICODE}
  2042. {$IFDEF DYNAMIC_LINK}
  2043. var
  2044.   _TextOut: Pointer;
  2045. function TextOut;
  2046. begin
  2047.   GetProcedureAddress(_TextOut, gdi32, 'TextOutW');
  2048.   asm
  2049.     mov esp, ebp
  2050.     pop ebp
  2051.     jmp [_TextOut]
  2052.   end;
  2053. end;
  2054. {$ELSE}
  2055. function TextOut; external gdi32 name 'TextOutW';
  2056. {$ENDIF DYNAMIC_LINK}
  2057. {$ELSE}
  2058. {$IFDEF DYNAMIC_LINK}
  2059. var
  2060.   _TextOut: Pointer;
  2061. function TextOut;
  2062. begin
  2063.   GetProcedureAddress(_TextOut, gdi32, 'TextOutA');
  2064.   asm
  2065.     mov esp, ebp
  2066.     pop ebp
  2067.     jmp [_TextOut]
  2068.   end;
  2069. end;
  2070. {$ELSE}
  2071. function TextOut; external gdi32 name 'TextOutA';
  2072. {$ENDIF DYNAMIC_LINK}
  2073. {$ENDIF}
  2074. {$IFDEF DYNAMIC_LINK}
  2075. var
  2076.   _ExtTextOutA: Pointer;
  2077. function ExtTextOutA;
  2078. begin
  2079.   GetProcedureAddress(_ExtTextOutA, gdi32, 'ExtTextOutA');
  2080.   asm
  2081.     mov esp, ebp
  2082.     pop ebp
  2083.     jmp [_ExtTextOutA]
  2084.   end;
  2085. end;
  2086. {$ELSE}
  2087. function ExtTextOutA; external gdi32 name 'ExtTextOutA';
  2088. {$ENDIF DYNAMIC_LINK}
  2089. {$IFDEF DYNAMIC_LINK}
  2090. var
  2091.   _ExtTextOutW: Pointer;
  2092. function ExtTextOutW;
  2093. begin
  2094.   GetProcedureAddress(_ExtTextOutW, gdi32, 'ExtTextOutW');
  2095.   asm
  2096.     mov esp, ebp
  2097.     pop ebp
  2098.     jmp [_ExtTextOutW]
  2099.   end;
  2100. end;
  2101. {$ELSE}
  2102. function ExtTextOutW; external gdi32 name 'ExtTextOutW';
  2103. {$ENDIF DYNAMIC_LINK}
  2104. {$IFDEF UNICODE}
  2105. {$IFDEF DYNAMIC_LINK}
  2106. var
  2107.   _ExtTextOut: Pointer;
  2108. function ExtTextOut;
  2109. begin
  2110.   GetProcedureAddress(_ExtTextOut, gdi32, 'ExtTextOutW');
  2111.   asm
  2112.     mov esp, ebp
  2113.     pop ebp
  2114.     jmp [_ExtTextOut]
  2115.   end;
  2116. end;
  2117. {$ELSE}
  2118. function ExtTextOut; external gdi32 name 'ExtTextOutW';
  2119. {$ENDIF DYNAMIC_LINK}
  2120. {$ELSE}
  2121. {$IFDEF DYNAMIC_LINK}
  2122. var
  2123.   _ExtTextOut: Pointer;
  2124. function ExtTextOut;
  2125. begin
  2126.   GetProcedureAddress(_ExtTextOut, gdi32, 'ExtTextOutA');
  2127.   asm
  2128.     mov esp, ebp
  2129.     pop ebp
  2130.     jmp [_ExtTextOut]
  2131.   end;
  2132. end;
  2133. {$ELSE}
  2134. function ExtTextOut; external gdi32 name 'ExtTextOutA';
  2135. {$ENDIF DYNAMIC_LINK}
  2136. {$ENDIF}
  2137. {$IFDEF DYNAMIC_LINK}
  2138. var
  2139.   _PolyTextOutA: Pointer;
  2140. function PolyTextOutA;
  2141. begin
  2142.   GetProcedureAddress(_PolyTextOutA, gdi32, 'PolyTextOutA');
  2143.   asm
  2144.     mov esp, ebp
  2145.     pop ebp
  2146.     jmp [_PolyTextOutA]
  2147.   end;
  2148. end;
  2149. {$ELSE}
  2150. function PolyTextOutA; external gdi32 name 'PolyTextOutA';
  2151. {$ENDIF DYNAMIC_LINK}
  2152. {$IFDEF DYNAMIC_LINK}
  2153. var
  2154.   _PolyTextOutW: Pointer;
  2155. function PolyTextOutW;
  2156. begin
  2157.   GetProcedureAddress(_PolyTextOutW, gdi32, 'PolyTextOutW');
  2158.   asm
  2159.     mov esp, ebp
  2160.     pop ebp
  2161.     jmp [_PolyTextOutW]
  2162.   end;
  2163. end;
  2164. {$ELSE}
  2165. function PolyTextOutW; external gdi32 name 'PolyTextOutW';
  2166. {$ENDIF DYNAMIC_LINK}
  2167. {$IFDEF UNICODE}
  2168. {$IFDEF DYNAMIC_LINK}
  2169. var
  2170.   _PolyTextOut: Pointer;
  2171. function PolyTextOut;
  2172. begin
  2173.   GetProcedureAddress(_PolyTextOut, gdi32, 'PolyTextOutW');
  2174.   asm
  2175.     mov esp, ebp
  2176.     pop ebp
  2177.     jmp [_PolyTextOut]
  2178.   end;
  2179. end;
  2180. {$ELSE}
  2181. function PolyTextOut; external gdi32 name 'PolyTextOutW';
  2182. {$ENDIF DYNAMIC_LINK}
  2183. {$ELSE}
  2184. {$IFDEF DYNAMIC_LINK}
  2185. var
  2186.   _PolyTextOut: Pointer;
  2187. function PolyTextOut;
  2188. begin
  2189.   GetProcedureAddress(_PolyTextOut, gdi32, 'PolyTextOutA');
  2190.   asm
  2191.     mov esp, ebp
  2192.     pop ebp
  2193.     jmp [_PolyTextOut]
  2194.   end;
  2195. end;
  2196. {$ELSE}
  2197. function PolyTextOut; external gdi32 name 'PolyTextOutA';
  2198. {$ENDIF DYNAMIC_LINK}
  2199. {$ENDIF}
  2200. {$IFDEF DYNAMIC_LINK}
  2201. var
  2202.   _CreatePolygonRgn: Pointer;
  2203. function CreatePolygonRgn;
  2204. begin
  2205.   GetProcedureAddress(_CreatePolygonRgn, gdi32, 'CreatePolygonRgn');
  2206.   asm
  2207.     mov esp, ebp
  2208.     pop ebp
  2209.     jmp [_CreatePolygonRgn]
  2210.   end;
  2211. end;
  2212. {$ELSE}
  2213. function CreatePolygonRgn; external gdi32 name 'CreatePolygonRgn';
  2214. {$ENDIF DYNAMIC_LINK}
  2215. {$IFDEF DYNAMIC_LINK}
  2216. var
  2217.   _DPtoLP: Pointer;
  2218. function DPtoLP;
  2219. begin
  2220.   GetProcedureAddress(_DPtoLP, gdi32, 'DPtoLP');
  2221.   asm
  2222.     mov esp, ebp
  2223.     pop ebp
  2224.     jmp [_DPtoLP]
  2225.   end;
  2226. end;
  2227. {$ELSE}
  2228. function DPtoLP; external gdi32 name 'DPtoLP';
  2229. {$ENDIF DYNAMIC_LINK}
  2230. {$IFDEF DYNAMIC_LINK}
  2231. var
  2232.   _LPtoDP: Pointer;
  2233. function LPtoDP;
  2234. begin
  2235.   GetProcedureAddress(_LPtoDP, gdi32, 'LPtoDP');
  2236.   asm
  2237.     mov esp, ebp
  2238.     pop ebp
  2239.     jmp [_LPtoDP]
  2240.   end;
  2241. end;
  2242. {$ELSE}
  2243. function LPtoDP; external gdi32 name 'LPtoDP';
  2244. {$ENDIF DYNAMIC_LINK}
  2245. {$IFDEF DYNAMIC_LINK}
  2246. var
  2247.   _Polygon: Pointer;
  2248. function Polygon;
  2249. begin
  2250.   GetProcedureAddress(_Polygon, gdi32, 'Polygon');
  2251.   asm
  2252.     mov esp, ebp
  2253.     pop ebp
  2254.     jmp [_Polygon]
  2255.   end;
  2256. end;
  2257. {$ELSE}
  2258. function Polygon; external gdi32 name 'Polygon';
  2259. {$ENDIF DYNAMIC_LINK}
  2260. {$IFDEF DYNAMIC_LINK}
  2261. var
  2262.   _Polyline: Pointer;
  2263. function Polyline;
  2264. begin
  2265.   GetProcedureAddress(_Polyline, gdi32, 'Polyline');
  2266.   asm
  2267.     mov esp, ebp
  2268.     pop ebp
  2269.     jmp [_Polyline]
  2270.   end;
  2271. end;
  2272. {$ELSE}
  2273. function Polyline; external gdi32 name 'Polyline';
  2274. {$ENDIF DYNAMIC_LINK}
  2275. {$IFDEF DYNAMIC_LINK}
  2276. var
  2277.   _PolyBezier: Pointer;
  2278. function PolyBezier;
  2279. begin
  2280.   GetProcedureAddress(_PolyBezier, gdi32, 'PolyBezier');
  2281.   asm
  2282.     mov esp, ebp
  2283.     pop ebp
  2284.     jmp [_PolyBezier]
  2285.   end;
  2286. end;
  2287. {$ELSE}
  2288. function PolyBezier; external gdi32 name 'PolyBezier';
  2289. {$ENDIF DYNAMIC_LINK}
  2290. {$IFDEF DYNAMIC_LINK}
  2291. var
  2292.   _PolyBezierTo: Pointer;
  2293. function PolyBezierTo;
  2294. begin
  2295.   GetProcedureAddress(_PolyBezierTo, gdi32, 'PolyBezierTo');
  2296.   asm
  2297.     mov esp, ebp
  2298.     pop ebp
  2299.     jmp [_PolyBezierTo]
  2300.   end;
  2301. end;
  2302. {$ELSE}
  2303. function PolyBezierTo; external gdi32 name 'PolyBezierTo';
  2304. {$ENDIF DYNAMIC_LINK}
  2305. {$IFDEF DYNAMIC_LINK}
  2306. var
  2307.   _PolylineTo: Pointer;
  2308. function PolylineTo;
  2309. begin
  2310.   GetProcedureAddress(_PolylineTo, gdi32, 'PolylineTo');
  2311.   asm
  2312.     mov esp, ebp
  2313.     pop ebp
  2314.     jmp [_PolylineTo]
  2315.   end;
  2316. end;
  2317. {$ELSE}
  2318. function PolylineTo; external gdi32 name 'PolylineTo';
  2319. {$ENDIF DYNAMIC_LINK}
  2320. {$IFDEF DYNAMIC_LINK}
  2321. var
  2322.   _SetViewportExtEx: Pointer;
  2323. function SetViewportExtEx;
  2324. begin
  2325.   GetProcedureAddress(_SetViewportExtEx, gdi32, 'SetViewportExtEx');
  2326.   asm
  2327.     mov esp, ebp
  2328.     pop ebp
  2329.     jmp [_SetViewportExtEx]
  2330.   end;
  2331. end;
  2332. {$ELSE}
  2333. function SetViewportExtEx; external gdi32 name 'SetViewportExtEx';
  2334. {$ENDIF DYNAMIC_LINK}
  2335. {$IFDEF DYNAMIC_LINK}
  2336. var
  2337.   _SetViewportOrgEx: Pointer;
  2338. function SetViewportOrgEx;
  2339. begin
  2340.   GetProcedureAddress(_SetViewportOrgEx, gdi32, 'SetViewportOrgEx');
  2341.   asm
  2342.     mov esp, ebp
  2343.     pop ebp
  2344.     jmp [_SetViewportOrgEx]
  2345.   end;
  2346. end;
  2347. {$ELSE}
  2348. function SetViewportOrgEx; external gdi32 name 'SetViewportOrgEx';
  2349. {$ENDIF DYNAMIC_LINK}
  2350. {$IFDEF DYNAMIC_LINK}
  2351. var
  2352.   _SetWindowExtEx: Pointer;
  2353. function SetWindowExtEx;
  2354. begin
  2355.   GetProcedureAddress(_SetWindowExtEx, gdi32, 'SetWindowExtEx');
  2356.   asm
  2357.     mov esp, ebp
  2358.     pop ebp
  2359.     jmp [_SetWindowExtEx]
  2360.   end;
  2361. end;
  2362. {$ELSE}
  2363. function SetWindowExtEx; external gdi32 name 'SetWindowExtEx';
  2364. {$ENDIF DYNAMIC_LINK}
  2365. {$IFDEF DYNAMIC_LINK}
  2366. var
  2367.   _SetWindowOrgEx: Pointer;
  2368. function SetWindowOrgEx;
  2369. begin
  2370.   GetProcedureAddress(_SetWindowOrgEx, gdi32, 'SetWindowOrgEx');
  2371.   asm
  2372.     mov esp, ebp
  2373.     pop ebp
  2374.     jmp [_SetWindowOrgEx]
  2375.   end;
  2376. end;
  2377. {$ELSE}
  2378. function SetWindowOrgEx; external gdi32 name 'SetWindowOrgEx';
  2379. {$ENDIF DYNAMIC_LINK}
  2380. {$IFDEF DYNAMIC_LINK}
  2381. var
  2382.   _OffsetViewportOrgEx: Pointer;
  2383. function OffsetViewportOrgEx;
  2384. begin
  2385.   GetProcedureAddress(_OffsetViewportOrgEx, gdi32, 'OffsetViewportOrgEx');
  2386.   asm
  2387.     mov esp, ebp
  2388.     pop ebp
  2389.     jmp [_OffsetViewportOrgEx]
  2390.   end;
  2391. end;
  2392. {$ELSE}
  2393. function OffsetViewportOrgEx; external gdi32 name 'OffsetViewportOrgEx';
  2394. {$ENDIF DYNAMIC_LINK}
  2395. {$IFDEF DYNAMIC_LINK}
  2396. var
  2397.   _OffsetWindowOrgEx: Pointer;
  2398. function OffsetWindowOrgEx;
  2399. begin
  2400.   GetProcedureAddress(_OffsetWindowOrgEx, gdi32, 'OffsetWindowOrgEx');
  2401.   asm
  2402.     mov esp, ebp
  2403.     pop ebp
  2404.     jmp [_OffsetWindowOrgEx]
  2405.   end;
  2406. end;
  2407. {$ELSE}
  2408. function OffsetWindowOrgEx; external gdi32 name 'OffsetWindowOrgEx';
  2409. {$ENDIF DYNAMIC_LINK}
  2410. {$IFDEF DYNAMIC_LINK}
  2411. var
  2412.   _ScaleViewportExtEx: Pointer;
  2413. function ScaleViewportExtEx;
  2414. begin
  2415.   GetProcedureAddress(_ScaleViewportExtEx, gdi32, 'ScaleViewportExtEx');
  2416.   asm
  2417.     mov esp, ebp
  2418.     pop ebp
  2419.     jmp [_ScaleViewportExtEx]
  2420.   end;
  2421. end;
  2422. {$ELSE}
  2423. function ScaleViewportExtEx; external gdi32 name 'ScaleViewportExtEx';
  2424. {$ENDIF DYNAMIC_LINK}
  2425. {$IFDEF DYNAMIC_LINK}
  2426. var
  2427.   _ScaleWindowExtEx: Pointer;
  2428. function ScaleWindowExtEx;
  2429. begin
  2430.   GetProcedureAddress(_ScaleWindowExtEx, gdi32, 'ScaleWindowExtEx');
  2431.   asm
  2432.     mov esp, ebp
  2433.     pop ebp
  2434.     jmp [_ScaleWindowExtEx]
  2435.   end;
  2436. end;
  2437. {$ELSE}
  2438. function ScaleWindowExtEx; external gdi32 name 'ScaleWindowExtEx';
  2439. {$ENDIF DYNAMIC_LINK}
  2440. {$IFDEF DYNAMIC_LINK}
  2441. var
  2442.   _SetBitmapDimensionEx: Pointer;
  2443. function SetBitmapDimensionEx;
  2444. begin
  2445.   GetProcedureAddress(_SetBitmapDimensionEx, gdi32, 'SetBitmapDimensionEx');
  2446.   asm
  2447.     mov esp, ebp
  2448.     pop ebp
  2449.     jmp [_SetBitmapDimensionEx]
  2450.   end;
  2451. end;
  2452. {$ELSE}
  2453. function SetBitmapDimensionEx; external gdi32 name 'SetBitmapDimensionEx';
  2454. {$ENDIF DYNAMIC_LINK}
  2455. {$IFDEF DYNAMIC_LINK}
  2456. var
  2457.   _SetBrushOrgEx: Pointer;
  2458. function SetBrushOrgEx;
  2459. begin
  2460.   GetProcedureAddress(_SetBrushOrgEx, gdi32, 'SetBrushOrgEx');
  2461.   asm
  2462.     mov esp, ebp
  2463.     pop ebp
  2464.     jmp [_SetBrushOrgEx]
  2465.   end;
  2466. end;
  2467. {$ELSE}
  2468. function SetBrushOrgEx; external gdi32 name 'SetBrushOrgEx';
  2469. {$ENDIF DYNAMIC_LINK}
  2470. {$IFDEF DYNAMIC_LINK}
  2471. var
  2472.   _GetTextFaceA: Pointer;
  2473. function GetTextFaceA;
  2474. begin
  2475.   GetProcedureAddress(_GetTextFaceA, gdi32, 'GetTextFaceA');
  2476.   asm
  2477.     mov esp, ebp
  2478.     pop ebp
  2479.     jmp [_GetTextFaceA]
  2480.   end;
  2481. end;
  2482. {$ELSE}
  2483. function GetTextFaceA; external gdi32 name 'GetTextFaceA';
  2484. {$ENDIF DYNAMIC_LINK}
  2485. {$IFDEF DYNAMIC_LINK}
  2486. var
  2487.   _GetTextFaceW: Pointer;
  2488. function GetTextFaceW;
  2489. begin
  2490.   GetProcedureAddress(_GetTextFaceW, gdi32, 'GetTextFaceW');
  2491.   asm
  2492.     mov esp, ebp
  2493.     pop ebp
  2494.     jmp [_GetTextFaceW]
  2495.   end;
  2496. end;
  2497. {$ELSE}
  2498. function GetTextFaceW; external gdi32 name 'GetTextFaceW';
  2499. {$ENDIF DYNAMIC_LINK}
  2500. {$IFDEF UNICODE}
  2501. {$IFDEF DYNAMIC_LINK}
  2502. var
  2503.   _GetTextFace: Pointer;
  2504. function GetTextFace;
  2505. begin
  2506.   GetProcedureAddress(_GetTextFace, gdi32, 'GetTextFaceW');
  2507.   asm
  2508.     mov esp, ebp
  2509.     pop ebp
  2510.     jmp [_GetTextFace]
  2511.   end;
  2512. end;
  2513. {$ELSE}
  2514. function GetTextFace; external gdi32 name 'GetTextFaceW';
  2515. {$ENDIF DYNAMIC_LINK}
  2516. {$ELSE}
  2517. {$IFDEF DYNAMIC_LINK}
  2518. var
  2519.   _GetTextFace: Pointer;
  2520. function GetTextFace;
  2521. begin
  2522.   GetProcedureAddress(_GetTextFace, gdi32, 'GetTextFaceA');
  2523.   asm
  2524.     mov esp, ebp
  2525.     pop ebp
  2526.     jmp [_GetTextFace]
  2527.   end;
  2528. end;
  2529. {$ELSE}
  2530. function GetTextFace; external gdi32 name 'GetTextFaceA';
  2531. {$ENDIF DYNAMIC_LINK}
  2532. {$ENDIF}
  2533. {$IFDEF DYNAMIC_LINK}
  2534. var
  2535.   _GetKerningPairsA: Pointer;
  2536. function GetKerningPairsA;
  2537. begin
  2538.   GetProcedureAddress(_GetKerningPairsA, gdi32, 'GetKerningPairsA');
  2539.   asm
  2540.     mov esp, ebp
  2541.     pop ebp
  2542.     jmp [_GetKerningPairsA]
  2543.   end;
  2544. end;
  2545. {$ELSE}
  2546. function GetKerningPairsA; external gdi32 name 'GetKerningPairsA';
  2547. {$ENDIF DYNAMIC_LINK}
  2548. {$IFDEF DYNAMIC_LINK}
  2549. var
  2550.   _GetKerningPairsW: Pointer;
  2551. function GetKerningPairsW;
  2552. begin
  2553.   GetProcedureAddress(_GetKerningPairsW, gdi32, 'GetKerningPairsW');
  2554.   asm
  2555.     mov esp, ebp
  2556.     pop ebp
  2557.     jmp [_GetKerningPairsW]
  2558.   end;
  2559. end;
  2560. {$ELSE}
  2561. function GetKerningPairsW; external gdi32 name 'GetKerningPairsW';
  2562. {$ENDIF DYNAMIC_LINK}
  2563. {$IFDEF UNICODE}
  2564. {$IFDEF DYNAMIC_LINK}
  2565. var
  2566.   _GetKerningPairs: Pointer;
  2567. function GetKerningPairs;
  2568. begin
  2569.   GetProcedureAddress(_GetKerningPairs, gdi32, 'GetKerningPairsW');
  2570.   asm
  2571.     mov esp, ebp
  2572.     pop ebp
  2573.     jmp [_GetKerningPairs]
  2574.   end;
  2575. end;
  2576. {$ELSE}
  2577. function GetKerningPairs; external gdi32 name 'GetKerningPairsW';
  2578. {$ENDIF DYNAMIC_LINK}
  2579. {$ELSE}
  2580. {$IFDEF DYNAMIC_LINK}
  2581. var
  2582.   _GetKerningPairs: Pointer;
  2583. function GetKerningPairs;
  2584. begin
  2585.   GetProcedureAddress(_GetKerningPairs, gdi32, 'GetKerningPairsA');
  2586.   asm
  2587.     mov esp, ebp
  2588.     pop ebp
  2589.     jmp [_GetKerningPairs]
  2590.   end;
  2591. end;
  2592. {$ELSE}
  2593. function GetKerningPairs; external gdi32 name 'GetKerningPairsA';
  2594. {$ENDIF DYNAMIC_LINK}
  2595. {$ENDIF}
  2596. {$IFDEF DYNAMIC_LINK}
  2597. var
  2598.   _GetDCOrgEx: Pointer;
  2599. function GetDCOrgEx;
  2600. begin
  2601.   GetProcedureAddress(_GetDCOrgEx, gdi32, 'GetDCOrgEx');
  2602.   asm
  2603.     mov esp, ebp
  2604.     pop ebp
  2605.     jmp [_GetDCOrgEx]
  2606.   end;
  2607. end;
  2608. {$ELSE}
  2609. function GetDCOrgEx; external gdi32 name 'GetDCOrgEx';
  2610. {$ENDIF DYNAMIC_LINK}
  2611. {$IFDEF DYNAMIC_LINK}
  2612. var
  2613.   _FixBrushOrgEx: Pointer;
  2614. function FixBrushOrgEx;
  2615. begin
  2616.   GetProcedureAddress(_FixBrushOrgEx, gdi32, 'FixBrushOrgEx');
  2617.   asm
  2618.     mov esp, ebp
  2619.     pop ebp
  2620.     jmp [_FixBrushOrgEx]
  2621.   end;
  2622. end;
  2623. {$ELSE}
  2624. function FixBrushOrgEx; external gdi32 name 'FixBrushOrgEx';
  2625. {$ENDIF DYNAMIC_LINK}
  2626. {$IFDEF DYNAMIC_LINK}
  2627. var
  2628.   _UnrealizeObject: Pointer;
  2629. function UnrealizeObject;
  2630. begin
  2631.   GetProcedureAddress(_UnrealizeObject, gdi32, 'UnrealizeObject');
  2632.   asm
  2633.     mov esp, ebp
  2634.     pop ebp
  2635.     jmp [_UnrealizeObject]
  2636.   end;
  2637. end;
  2638. {$ELSE}
  2639. function UnrealizeObject; external gdi32 name 'UnrealizeObject';
  2640. {$ENDIF DYNAMIC_LINK}
  2641. {$IFDEF DYNAMIC_LINK}
  2642. var
  2643.   _GdiFlush: Pointer;
  2644. function GdiFlush;
  2645. begin
  2646.   GetProcedureAddress(_GdiFlush, gdi32, 'GdiFlush');
  2647.   asm
  2648.     mov esp, ebp
  2649.     pop ebp
  2650.     jmp [_GdiFlush]
  2651.   end;
  2652. end;
  2653. {$ELSE}
  2654. function GdiFlush; external gdi32 name 'GdiFlush';
  2655. {$ENDIF DYNAMIC_LINK}
  2656. {$IFDEF DYNAMIC_LINK}
  2657. var
  2658.   _GdiSetBatchLimit: Pointer;
  2659. function GdiSetBatchLimit;
  2660. begin
  2661.   GetProcedureAddress(_GdiSetBatchLimit, gdi32, 'GdiSetBatchLimit');
  2662.   asm
  2663.     mov esp, ebp
  2664.     pop ebp
  2665.     jmp [_GdiSetBatchLimit]
  2666.   end;
  2667. end;
  2668. {$ELSE}
  2669. function GdiSetBatchLimit; external gdi32 name 'GdiSetBatchLimit';
  2670. {$ENDIF DYNAMIC_LINK}
  2671. {$IFDEF DYNAMIC_LINK}
  2672. var
  2673.   _GdiGetBatchLimit: Pointer;
  2674. function GdiGetBatchLimit;
  2675. begin
  2676.   GetProcedureAddress(_GdiGetBatchLimit, gdi32, 'GdiGetBatchLimit');
  2677.   asm
  2678.     mov esp, ebp
  2679.     pop ebp
  2680.     jmp [_GdiGetBatchLimit]
  2681.   end;
  2682. end;
  2683. {$ELSE}
  2684. function GdiGetBatchLimit; external gdi32 name 'GdiGetBatchLimit';
  2685. {$ENDIF DYNAMIC_LINK}
  2686. {$IFDEF DYNAMIC_LINK}
  2687. var
  2688.   _SetICMMode: Pointer;
  2689. function SetICMMode;
  2690. begin
  2691.   GetProcedureAddress(_SetICMMode, gdi32, 'SetICMMode');
  2692.   asm
  2693.     mov esp, ebp
  2694.     pop ebp
  2695.     jmp [_SetICMMode]
  2696.   end;
  2697. end;
  2698. {$ELSE}
  2699. function SetICMMode; external gdi32 name 'SetICMMode';
  2700. {$ENDIF DYNAMIC_LINK}
  2701. {$IFDEF DYNAMIC_LINK}
  2702. var
  2703.   _CheckColorsInGamut: Pointer;
  2704. function CheckColorsInGamut;
  2705. begin
  2706.   GetProcedureAddress(_CheckColorsInGamut, gdi32, 'CheckColorsInGamut');
  2707.   asm
  2708.     mov esp, ebp
  2709.     pop ebp
  2710.     jmp [_CheckColorsInGamut]
  2711.   end;
  2712. end;
  2713. {$ELSE}
  2714. function CheckColorsInGamut; external gdi32 name 'CheckColorsInGamut';
  2715. {$ENDIF DYNAMIC_LINK}
  2716. {$IFDEF DYNAMIC_LINK}
  2717. var
  2718.   _GetColorSpace: Pointer;
  2719. function GetColorSpace;
  2720. begin
  2721.   GetProcedureAddress(_GetColorSpace, gdi32, 'GetColorSpace');
  2722.   asm
  2723.     mov esp, ebp
  2724.     pop ebp
  2725.     jmp [_GetColorSpace]
  2726.   end;
  2727. end;
  2728. {$ELSE}
  2729. function GetColorSpace; external gdi32 name 'GetColorSpace';
  2730. {$ENDIF DYNAMIC_LINK}
  2731. {$IFDEF DYNAMIC_LINK}
  2732. var
  2733.   _GetLogColorSpaceA: Pointer;
  2734. function GetLogColorSpaceA;
  2735. begin
  2736.   GetProcedureAddress(_GetLogColorSpaceA, gdi32, 'GetLogColorSpaceA');
  2737.   asm
  2738.     mov esp, ebp
  2739.     pop ebp
  2740.     jmp [_GetLogColorSpaceA]
  2741.   end;
  2742. end;
  2743. {$ELSE}
  2744. function GetLogColorSpaceA; external gdi32 name 'GetLogColorSpaceA';
  2745. {$ENDIF DYNAMIC_LINK}
  2746. {$IFDEF DYNAMIC_LINK}
  2747. var
  2748.   _GetLogColorSpaceW: Pointer;
  2749. function GetLogColorSpaceW;
  2750. begin
  2751.   GetProcedureAddress(_GetLogColorSpaceW, gdi32, 'GetLogColorSpaceW');
  2752.   asm
  2753.     mov esp, ebp
  2754.     pop ebp
  2755.     jmp [_GetLogColorSpaceW]
  2756.   end;
  2757. end;
  2758. {$ELSE}
  2759. function GetLogColorSpaceW; external gdi32 name 'GetLogColorSpaceW';
  2760. {$ENDIF DYNAMIC_LINK}
  2761. {$IFDEF UNICODE}
  2762. {$IFDEF DYNAMIC_LINK}
  2763. var
  2764.   _GetLogColorSpace: Pointer;
  2765. function GetLogColorSpace;
  2766. begin
  2767.   GetProcedureAddress(_GetLogColorSpace, gdi32, 'GetLogColorSpaceW');
  2768.   asm
  2769.     mov esp, ebp
  2770.     pop ebp
  2771.     jmp [_GetLogColorSpace]
  2772.   end;
  2773. end;
  2774. {$ELSE}
  2775. function GetLogColorSpace; external gdi32 name 'GetLogColorSpaceW';
  2776. {$ENDIF DYNAMIC_LINK}
  2777. {$ELSE}
  2778. {$IFDEF DYNAMIC_LINK}
  2779. var
  2780.   _GetLogColorSpace: Pointer;
  2781. function GetLogColorSpace;
  2782. begin
  2783.   GetProcedureAddress(_GetLogColorSpace, gdi32, 'GetLogColorSpaceA');
  2784.   asm
  2785.     mov esp, ebp
  2786.     pop ebp
  2787.     jmp [_GetLogColorSpace]
  2788.   end;
  2789. end;
  2790. {$ELSE}
  2791. function GetLogColorSpace; external gdi32 name 'GetLogColorSpaceA';
  2792. {$ENDIF DYNAMIC_LINK}
  2793. {$ENDIF}
  2794. {$IFDEF DYNAMIC_LINK}
  2795. var
  2796.   _CreateColorSpaceA: Pointer;
  2797. function CreateColorSpaceA;
  2798. begin
  2799.   GetProcedureAddress(_CreateColorSpaceA, gdi32, 'CreateColorSpaceA');
  2800.   asm
  2801.     mov esp, ebp
  2802.     pop ebp
  2803.     jmp [_CreateColorSpaceA]
  2804.   end;
  2805. end;
  2806. {$ELSE}
  2807. function CreateColorSpaceA; external gdi32 name 'CreateColorSpaceA';
  2808. {$ENDIF DYNAMIC_LINK}
  2809. {$IFDEF DYNAMIC_LINK}
  2810. var
  2811.   _CreateColorSpaceW: Pointer;
  2812. function CreateColorSpaceW;
  2813. begin
  2814.   GetProcedureAddress(_CreateColorSpaceW, gdi32, 'CreateColorSpaceW');
  2815.   asm
  2816.     mov esp, ebp
  2817.     pop ebp
  2818.     jmp [_CreateColorSpaceW]
  2819.   end;
  2820. end;
  2821. {$ELSE}
  2822. function CreateColorSpaceW; external gdi32 name 'CreateColorSpaceW';
  2823. {$ENDIF DYNAMIC_LINK}
  2824. {$IFDEF UNICODE}
  2825. {$IFDEF DYNAMIC_LINK}
  2826. var
  2827.   _CreateColorSpace: Pointer;
  2828. function CreateColorSpace;
  2829. begin
  2830.   GetProcedureAddress(_CreateColorSpace, gdi32, 'CreateColorSpaceW');
  2831.   asm
  2832.     mov esp, ebp
  2833.     pop ebp
  2834.     jmp [_CreateColorSpace]
  2835.   end;
  2836. end;
  2837. {$ELSE}
  2838. function CreateColorSpace; external gdi32 name 'CreateColorSpaceW';
  2839. {$ENDIF DYNAMIC_LINK}
  2840. {$ELSE}
  2841. {$IFDEF DYNAMIC_LINK}
  2842. var
  2843.   _CreateColorSpace: Pointer;
  2844. function CreateColorSpace;
  2845. begin
  2846.   GetProcedureAddress(_CreateColorSpace, gdi32, 'CreateColorSpaceA');
  2847.   asm
  2848.     mov esp, ebp
  2849.     pop ebp
  2850.     jmp [_CreateColorSpace]
  2851.   end;
  2852. end;
  2853. {$ELSE}
  2854. function CreateColorSpace; external gdi32 name 'CreateColorSpaceA';
  2855. {$ENDIF DYNAMIC_LINK}
  2856. {$ENDIF}
  2857. {$IFDEF DYNAMIC_LINK}
  2858. var
  2859.   _SetColorSpace: Pointer;
  2860. function SetColorSpace;
  2861. begin
  2862.   GetProcedureAddress(_SetColorSpace, gdi32, 'SetColorSpace');
  2863.   asm
  2864.     mov esp, ebp
  2865.     pop ebp
  2866.     jmp [_SetColorSpace]
  2867.   end;
  2868. end;
  2869. {$ELSE}
  2870. function SetColorSpace; external gdi32 name 'SetColorSpace';
  2871. {$ENDIF DYNAMIC_LINK}
  2872. {$IFDEF DYNAMIC_LINK}
  2873. var
  2874.   _DeleteColorSpace: Pointer;
  2875. function DeleteColorSpace;
  2876. begin
  2877.   GetProcedureAddress(_DeleteColorSpace, gdi32, 'DeleteColorSpace');
  2878.   asm
  2879.     mov esp, ebp
  2880.     pop ebp
  2881.     jmp [_DeleteColorSpace]
  2882.   end;
  2883. end;
  2884. {$ELSE}
  2885. function DeleteColorSpace; external gdi32 name 'DeleteColorSpace';
  2886. {$ENDIF DYNAMIC_LINK}
  2887. {$IFDEF DYNAMIC_LINK}
  2888. var
  2889.   _GetICMProfileA: Pointer;
  2890. function GetICMProfileA;
  2891. begin
  2892.   GetProcedureAddress(_GetICMProfileA, gdi32, 'GetICMProfileA');
  2893.   asm
  2894.     mov esp, ebp
  2895.     pop ebp
  2896.     jmp [_GetICMProfileA]
  2897.   end;
  2898. end;
  2899. {$ELSE}
  2900. function GetICMProfileA; external gdi32 name 'GetICMProfileA';
  2901. {$ENDIF DYNAMIC_LINK}
  2902. {$IFDEF DYNAMIC_LINK}
  2903. var
  2904.   _GetICMProfileW: Pointer;
  2905. function GetICMProfileW;
  2906. begin
  2907.   GetProcedureAddress(_GetICMProfileW, gdi32, 'GetICMProfileW');
  2908.   asm
  2909.     mov esp, ebp
  2910.     pop ebp
  2911.     jmp [_GetICMProfileW]
  2912.   end;
  2913. end;
  2914. {$ELSE}
  2915. function GetICMProfileW; external gdi32 name 'GetICMProfileW';
  2916. {$ENDIF DYNAMIC_LINK}
  2917. {$IFDEF UNICODE}
  2918. {$IFDEF DYNAMIC_LINK}
  2919. var
  2920.   _GetICMProfile: Pointer;
  2921. function GetICMProfile;
  2922. begin
  2923.   GetProcedureAddress(_GetICMProfile, gdi32, 'GetICMProfileW');
  2924.   asm
  2925.     mov esp, ebp
  2926.     pop ebp
  2927.     jmp [_GetICMProfile]
  2928.   end;
  2929. end;
  2930. {$ELSE}
  2931. function GetICMProfile; external gdi32 name 'GetICMProfileW';
  2932. {$ENDIF DYNAMIC_LINK}
  2933. {$ELSE}
  2934. {$IFDEF DYNAMIC_LINK}
  2935. var
  2936.   _GetICMProfile: Pointer;
  2937. function GetICMProfile;
  2938. begin
  2939.   GetProcedureAddress(_GetICMProfile, gdi32, 'GetICMProfileA');
  2940.   asm
  2941.     mov esp, ebp
  2942.     pop ebp
  2943.     jmp [_GetICMProfile]
  2944.   end;
  2945. end;
  2946. {$ELSE}
  2947. function GetICMProfile; external gdi32 name 'GetICMProfileA';
  2948. {$ENDIF DYNAMIC_LINK}
  2949. {$ENDIF}
  2950. {$IFDEF DYNAMIC_LINK}
  2951. var
  2952.   _SetICMProfileA: Pointer;
  2953. function SetICMProfileA;
  2954. begin
  2955.   GetProcedureAddress(_SetICMProfileA, gdi32, 'SetICMProfileA');
  2956.   asm
  2957.     mov esp, ebp
  2958.     pop ebp
  2959.     jmp [_SetICMProfileA]
  2960.   end;
  2961. end;
  2962. {$ELSE}
  2963. function SetICMProfileA; external gdi32 name 'SetICMProfileA';
  2964. {$ENDIF DYNAMIC_LINK}
  2965. {$IFDEF DYNAMIC_LINK}
  2966. var
  2967.   _SetICMProfileW: Pointer;
  2968. function SetICMProfileW;
  2969. begin
  2970.   GetProcedureAddress(_SetICMProfileW, gdi32, 'SetICMProfileW');
  2971.   asm
  2972.     mov esp, ebp
  2973.     pop ebp
  2974.     jmp [_SetICMProfileW]
  2975.   end;
  2976. end;
  2977. {$ELSE}
  2978. function SetICMProfileW; external gdi32 name 'SetICMProfileW';
  2979. {$ENDIF DYNAMIC_LINK}
  2980. {$IFDEF UNICODE}
  2981. {$IFDEF DYNAMIC_LINK}
  2982. var
  2983.   _SetICMProfile: Pointer;
  2984. function SetICMProfile;
  2985. begin
  2986.   GetProcedureAddress(_SetICMProfile, gdi32, 'SetICMProfileW');
  2987.   asm
  2988.     mov esp, ebp
  2989.     pop ebp
  2990.     jmp [_SetICMProfile]
  2991.   end;
  2992. end;
  2993. {$ELSE}
  2994. function SetICMProfile; external gdi32 name 'SetICMProfileW';
  2995. {$ENDIF DYNAMIC_LINK}
  2996. {$ELSE}
  2997. {$IFDEF DYNAMIC_LINK}
  2998. var
  2999.   _SetICMProfile: Pointer;
  3000. function SetICMProfile;
  3001. begin
  3002.   GetProcedureAddress(_SetICMProfile, gdi32, 'SetICMProfileA');
  3003.   asm
  3004.     mov esp, ebp
  3005.     pop ebp
  3006.     jmp [_SetICMProfile]
  3007.   end;
  3008. end;
  3009. {$ELSE}
  3010. function SetICMProfile; external gdi32 name 'SetICMProfileA';
  3011. {$ENDIF DYNAMIC_LINK}
  3012. {$ENDIF}
  3013. {$IFDEF DYNAMIC_LINK}
  3014. var
  3015.   _GetDeviceGammaRamp: Pointer;
  3016. function GetDeviceGammaRamp;
  3017. begin
  3018.   GetProcedureAddress(_GetDeviceGammaRamp, gdi32, 'GetDeviceGammaRamp');
  3019.   asm
  3020.     mov esp, ebp
  3021.     pop ebp
  3022.     jmp [_GetDeviceGammaRamp]
  3023.   end;
  3024. end;
  3025. {$ELSE}
  3026. function GetDeviceGammaRamp; external gdi32 name 'GetDeviceGammaRamp';
  3027. {$ENDIF DYNAMIC_LINK}
  3028. {$IFDEF DYNAMIC_LINK}
  3029. var
  3030.   _SetDeviceGammaRamp: Pointer;
  3031. function SetDeviceGammaRamp;
  3032. begin
  3033.   GetProcedureAddress(_SetDeviceGammaRamp, gdi32, 'SetDeviceGammaRamp');
  3034.   asm
  3035.     mov esp, ebp
  3036.     pop ebp
  3037.     jmp [_SetDeviceGammaRamp]
  3038.   end;
  3039. end;
  3040. {$ELSE}
  3041. function SetDeviceGammaRamp; external gdi32 name 'SetDeviceGammaRamp';
  3042. {$ENDIF DYNAMIC_LINK}
  3043. {$IFDEF DYNAMIC_LINK}
  3044. var
  3045.   _ColorMatchToTarget: Pointer;
  3046. function ColorMatchToTarget;
  3047. begin
  3048.   GetProcedureAddress(_ColorMatchToTarget, gdi32, 'ColorMatchToTarget');
  3049.   asm
  3050.     mov esp, ebp
  3051.     pop ebp
  3052.     jmp [_ColorMatchToTarget]
  3053.   end;
  3054. end;
  3055. {$ELSE}
  3056. function ColorMatchToTarget; external gdi32 name 'ColorMatchToTarget';
  3057. {$ENDIF DYNAMIC_LINK}
  3058. {$IFDEF DYNAMIC_LINK}
  3059. var
  3060.   _EnumICMProfilesA: Pointer;
  3061. function EnumICMProfilesA;
  3062. begin
  3063.   GetProcedureAddress(_EnumICMProfilesA, gdi32, 'EnumICMProfilesA');
  3064.   asm
  3065.     mov esp, ebp
  3066.     pop ebp
  3067.     jmp [_EnumICMProfilesA]
  3068.   end;
  3069. end;
  3070. {$ELSE}
  3071. function EnumICMProfilesA; external gdi32 name 'EnumICMProfilesA';
  3072. {$ENDIF DYNAMIC_LINK}
  3073. {$IFDEF DYNAMIC_LINK}
  3074. var
  3075.   _EnumICMProfilesW: Pointer;
  3076. function EnumICMProfilesW;
  3077. begin
  3078.   GetProcedureAddress(_EnumICMProfilesW, gdi32, 'EnumICMProfilesW');
  3079.   asm
  3080.     mov esp, ebp
  3081.     pop ebp
  3082.     jmp [_EnumICMProfilesW]
  3083.   end;
  3084. end;
  3085. {$ELSE}
  3086. function EnumICMProfilesW; external gdi32 name 'EnumICMProfilesW';
  3087. {$ENDIF DYNAMIC_LINK}
  3088. {$IFDEF UNICODE}
  3089. {$IFDEF DYNAMIC_LINK}
  3090. var
  3091.   _EnumICMProfiles: Pointer;
  3092. function EnumICMProfiles;
  3093. begin
  3094.   GetProcedureAddress(_EnumICMProfiles, gdi32, 'EnumICMProfilesW');
  3095.   asm
  3096.     mov esp, ebp
  3097.     pop ebp
  3098.     jmp [_EnumICMProfiles]
  3099.   end;
  3100. end;
  3101. {$ELSE}
  3102. function EnumICMProfiles; external gdi32 name 'EnumICMProfilesW';
  3103. {$ENDIF DYNAMIC_LINK}
  3104. {$ELSE}
  3105. {$IFDEF DYNAMIC_LINK}
  3106. var
  3107.   _EnumICMProfiles: Pointer;
  3108. function EnumICMProfiles;
  3109. begin
  3110.   GetProcedureAddress(_EnumICMProfiles, gdi32, 'EnumICMProfilesA');
  3111.   asm
  3112.     mov esp, ebp
  3113.     pop ebp
  3114.     jmp [_EnumICMProfiles]
  3115.   end;
  3116. end;
  3117. {$ELSE}
  3118. function EnumICMProfiles; external gdi32 name 'EnumICMProfilesA';
  3119. {$ENDIF DYNAMIC_LINK}
  3120. {$ENDIF}
  3121. {$IFDEF DYNAMIC_LINK}
  3122. var
  3123.   _UpdateICMRegKeyA: Pointer;
  3124. function UpdateICMRegKeyA;
  3125. begin
  3126.   GetProcedureAddress(_UpdateICMRegKeyA, gdi32, 'UpdateICMRegKeyA');
  3127.   asm
  3128.     mov esp, ebp
  3129.     pop ebp
  3130.     jmp [_UpdateICMRegKeyA]
  3131.   end;
  3132. end;
  3133. {$ELSE}
  3134. function UpdateICMRegKeyA; external gdi32 name 'UpdateICMRegKeyA';
  3135. {$ENDIF DYNAMIC_LINK}
  3136. {$IFDEF DYNAMIC_LINK}
  3137. var
  3138.   _UpdateICMRegKeyW: Pointer;
  3139. function UpdateICMRegKeyW;
  3140. begin
  3141.   GetProcedureAddress(_UpdateICMRegKeyW, gdi32, 'UpdateICMRegKeyW');
  3142.   asm
  3143.     mov esp, ebp
  3144.     pop ebp
  3145.     jmp [_UpdateICMRegKeyW]
  3146.   end;
  3147. end;
  3148. {$ELSE}
  3149. function UpdateICMRegKeyW; external gdi32 name 'UpdateICMRegKeyW';
  3150. {$ENDIF DYNAMIC_LINK}
  3151. {$IFDEF UNICODE}
  3152. {$IFDEF DYNAMIC_LINK}
  3153. var
  3154.   _UpdateICMRegKey: Pointer;
  3155. function UpdateICMRegKey;
  3156. begin
  3157.   GetProcedureAddress(_UpdateICMRegKey, gdi32, 'UpdateICMRegKeyW');
  3158.   asm
  3159.     mov esp, ebp
  3160.     pop ebp
  3161.     jmp [_UpdateICMRegKey]
  3162.   end;
  3163. end;
  3164. {$ELSE}
  3165. function UpdateICMRegKey; external gdi32 name 'UpdateICMRegKeyW';
  3166. {$ENDIF DYNAMIC_LINK}
  3167. {$ELSE}
  3168. {$IFDEF DYNAMIC_LINK}
  3169. var
  3170.   _UpdateICMRegKey: Pointer;
  3171. function UpdateICMRegKey;
  3172. begin
  3173.   GetProcedureAddress(_UpdateICMRegKey, gdi32, 'UpdateICMRegKeyA');
  3174.   asm
  3175.     mov esp, ebp
  3176.     pop ebp
  3177.     jmp [_UpdateICMRegKey]
  3178.   end;
  3179. end;
  3180. {$ELSE}
  3181. function UpdateICMRegKey; external gdi32 name 'UpdateICMRegKeyA';
  3182. {$ENDIF DYNAMIC_LINK}
  3183. {$ENDIF}
  3184. {$IFDEF DYNAMIC_LINK}
  3185. var
  3186.   _ColorCorrectPalette: Pointer;
  3187. function ColorCorrectPalette;
  3188. begin
  3189.   GetProcedureAddress(_ColorCorrectPalette, gdi32, 'ColorCorrectPalette');
  3190.   asm
  3191.     mov esp, ebp
  3192.     pop ebp
  3193.     jmp [_ColorCorrectPalette]
  3194.   end;
  3195. end;
  3196. {$ELSE}
  3197. function ColorCorrectPalette; external gdi32 name 'ColorCorrectPalette';
  3198. {$ENDIF DYNAMIC_LINK}
  3199. {$IFDEF DYNAMIC_LINK}
  3200. var
  3201.   _wglCopyContext: Pointer;
  3202. function wglCopyContext;
  3203. begin
  3204.   GetProcedureAddress(_wglCopyContext, opengl32, 'wglCopyContext');
  3205.   asm
  3206.     mov esp, ebp
  3207.     pop ebp
  3208.     jmp [_wglCopyContext]
  3209.   end;
  3210. end;
  3211. {$ELSE}
  3212. function wglCopyContext; external opengl32 name 'wglCopyContext';
  3213. {$ENDIF DYNAMIC_LINK}
  3214. {$IFDEF DYNAMIC_LINK}
  3215. var
  3216.   _wglCreateContext: Pointer;
  3217. function wglCreateContext;
  3218. begin
  3219.   GetProcedureAddress(_wglCreateContext, opengl32, 'wglCreateContext');
  3220.   asm
  3221.     mov esp, ebp
  3222.     pop ebp
  3223.     jmp [_wglCreateContext]
  3224.   end;
  3225. end;
  3226. {$ELSE}
  3227. function wglCreateContext; external opengl32 name 'wglCreateContext';
  3228. {$ENDIF DYNAMIC_LINK}
  3229. {$IFDEF DYNAMIC_LINK}
  3230. var
  3231.   _wglCreateLayerContext: Pointer;
  3232. function wglCreateLayerContext;
  3233. begin
  3234.   GetProcedureAddress(_wglCreateLayerContext, opengl32, 'wglCreateLayerContext');
  3235.   asm
  3236.     mov esp, ebp
  3237.     pop ebp
  3238.     jmp [_wglCreateLayerContext]
  3239.   end;
  3240. end;
  3241. {$ELSE}
  3242. function wglCreateLayerContext; external opengl32 name 'wglCreateLayerContext';
  3243. {$ENDIF DYNAMIC_LINK}
  3244. {$IFDEF DYNAMIC_LINK}
  3245. var
  3246.   _wglDeleteContext: Pointer;
  3247. function wglDeleteContext;
  3248. begin
  3249.   GetProcedureAddress(_wglDeleteContext, opengl32, 'wglDeleteContext');
  3250.   asm
  3251.     mov esp, ebp
  3252.     pop ebp
  3253.     jmp [_wglDeleteContext]
  3254.   end;
  3255. end;
  3256. {$ELSE}
  3257. function wglDeleteContext; external opengl32 name 'wglDeleteContext';
  3258. {$ENDIF DYNAMIC_LINK}
  3259. {$IFDEF DYNAMIC_LINK}
  3260. var
  3261.   _wglGetCurrentContext: Pointer;
  3262. function wglGetCurrentContext;
  3263. begin
  3264.   GetProcedureAddress(_wglGetCurrentContext, opengl32, 'wglGetCurrentContext');
  3265.   asm
  3266.     mov esp, ebp
  3267.     pop ebp
  3268.     jmp [_wglGetCurrentContext]
  3269.   end;
  3270. end;
  3271. {$ELSE}
  3272. function wglGetCurrentContext; external opengl32 name 'wglGetCurrentContext';
  3273. {$ENDIF DYNAMIC_LINK}
  3274. {$IFDEF DYNAMIC_LINK}
  3275. var
  3276.   _wglGetCurrentDC: Pointer;
  3277. function wglGetCurrentDC;
  3278. begin
  3279.   GetProcedureAddress(_wglGetCurrentDC, opengl32, 'wglGetCurrentDC');
  3280.   asm
  3281.     mov esp, ebp
  3282.     pop ebp
  3283.     jmp [_wglGetCurrentDC]
  3284.   end;
  3285. end;
  3286. {$ELSE}
  3287. function wglGetCurrentDC; external opengl32 name 'wglGetCurrentDC';
  3288. {$ENDIF DYNAMIC_LINK}
  3289. {$IFDEF DYNAMIC_LINK}
  3290. var
  3291.   _wglGetProcAddress: Pointer;
  3292. function wglGetProcAddress;
  3293. begin
  3294.   GetProcedureAddress(_wglGetProcAddress, opengl32, 'wglGetProcAddress');
  3295.   asm
  3296.     mov esp, ebp
  3297.     pop ebp
  3298.     jmp [_wglGetProcAddress]
  3299.   end;
  3300. end;
  3301. {$ELSE}
  3302. function wglGetProcAddress; external opengl32 name 'wglGetProcAddress';
  3303. {$ENDIF DYNAMIC_LINK}
  3304. {$IFDEF DYNAMIC_LINK}
  3305. var
  3306.   _wglMakeCurrent: Pointer;
  3307. function wglMakeCurrent;
  3308. begin
  3309.   GetProcedureAddress(_wglMakeCurrent, opengl32, 'wglMakeCurrent');
  3310.   asm
  3311.     mov esp, ebp
  3312.     pop ebp
  3313.     jmp [_wglMakeCurrent]
  3314.   end;
  3315. end;
  3316. {$ELSE}
  3317. function wglMakeCurrent; external opengl32 name 'wglMakeCurrent';
  3318. {$ENDIF DYNAMIC_LINK}
  3319. {$IFDEF DYNAMIC_LINK}
  3320. var
  3321.   _wglShareLists: Pointer;
  3322. function wglShareLists;
  3323. begin
  3324.   GetProcedureAddress(_wglShareLists, opengl32, 'wglShareLists');
  3325.   asm
  3326.     mov esp, ebp
  3327.     pop ebp
  3328.     jmp [_wglShareLists]
  3329.   end;
  3330. end;
  3331. {$ELSE}
  3332. function wglShareLists; external opengl32 name 'wglShareLists';
  3333. {$ENDIF DYNAMIC_LINK}
  3334. {$IFDEF DYNAMIC_LINK}
  3335. var
  3336.   _wglUseFontBitmapsA: Pointer;
  3337. function wglUseFontBitmapsA;
  3338. begin
  3339.   GetProcedureAddress(_wglUseFontBitmapsA, opengl32, 'wglUseFontBitmapsA');
  3340.   asm
  3341.     mov esp, ebp
  3342.     pop ebp
  3343.     jmp [_wglUseFontBitmapsA]
  3344.   end;
  3345. end;
  3346. {$ELSE}
  3347. function wglUseFontBitmapsA; external opengl32 name 'wglUseFontBitmapsA';
  3348. {$ENDIF DYNAMIC_LINK}
  3349. {$IFDEF DYNAMIC_LINK}
  3350. var
  3351.   _wglUseFontBitmapsW: Pointer;
  3352. function wglUseFontBitmapsW;
  3353. begin
  3354.   GetProcedureAddress(_wglUseFontBitmapsW, opengl32, 'wglUseFontBitmapsW');
  3355.   asm
  3356.     mov esp, ebp
  3357.     pop ebp
  3358.     jmp [_wglUseFontBitmapsW]
  3359.   end;
  3360. end;
  3361. {$ELSE}
  3362. function wglUseFontBitmapsW; external opengl32 name 'wglUseFontBitmapsW';
  3363. {$ENDIF DYNAMIC_LINK}
  3364. {$IFDEF UNICODE}
  3365. {$IFDEF DYNAMIC_LINK}
  3366. var
  3367.   _wglUseFontBitmaps: Pointer;
  3368. function wglUseFontBitmaps;
  3369. begin
  3370.   GetProcedureAddress(_wglUseFontBitmaps, opengl32, 'wglUseFontBitmapsW');
  3371.   asm
  3372.     mov esp, ebp
  3373.     pop ebp
  3374.     jmp [_wglUseFontBitmaps]
  3375.   end;
  3376. end;
  3377. {$ELSE}
  3378. function wglUseFontBitmaps; external opengl32 name 'wglUseFontBitmapsW';
  3379. {$ENDIF DYNAMIC_LINK}
  3380. {$ELSE}
  3381. {$IFDEF DYNAMIC_LINK}
  3382. var
  3383.   _wglUseFontBitmaps: Pointer;
  3384. function wglUseFontBitmaps;
  3385. begin
  3386.   GetProcedureAddress(_wglUseFontBitmaps, opengl32, 'wglUseFontBitmapsA');
  3387.   asm
  3388.     mov esp, ebp
  3389.     pop ebp
  3390.     jmp [_wglUseFontBitmaps]
  3391.   end;
  3392. end;
  3393. {$ELSE}
  3394. function wglUseFontBitmaps; external opengl32 name 'wglUseFontBitmapsA';
  3395. {$ENDIF DYNAMIC_LINK}
  3396. {$ENDIF}
  3397. {$IFDEF DYNAMIC_LINK}
  3398. var
  3399.   _SwapBuffers: Pointer;
  3400. function SwapBuffers;
  3401. begin
  3402.   GetProcedureAddress(_SwapBuffers, opengl32, 'SwapBuffers');
  3403.   asm
  3404.     mov esp, ebp
  3405.     pop ebp
  3406.     jmp [_SwapBuffers]
  3407.   end;
  3408. end;
  3409. {$ELSE}
  3410. function SwapBuffers; external opengl32 name 'SwapBuffers';
  3411. {$ENDIF DYNAMIC_LINK}
  3412. {$IFDEF DYNAMIC_LINK}
  3413. var
  3414.   _wglUseFontOutlinesA: Pointer;
  3415. function wglUseFontOutlinesA;
  3416. begin
  3417.   GetProcedureAddress(_wglUseFontOutlinesA, opengl32, 'wglUseFontOutlinesA');
  3418.   asm
  3419.     mov esp, ebp
  3420.     pop ebp
  3421.     jmp [_wglUseFontOutlinesA]
  3422.   end;
  3423. end;
  3424. {$ELSE}
  3425. function wglUseFontOutlinesA; external opengl32 name 'wglUseFontOutlinesA';
  3426. {$ENDIF DYNAMIC_LINK}
  3427. {$IFDEF DYNAMIC_LINK}
  3428. var
  3429.   _wglUseFontOutlinesW: Pointer;
  3430. function wglUseFontOutlinesW;
  3431. begin
  3432.   GetProcedureAddress(_wglUseFontOutlinesW, opengl32, 'wglUseFontOutlinesW');
  3433.   asm
  3434.     mov esp, ebp
  3435.     pop ebp
  3436.     jmp [_wglUseFontOutlinesW]
  3437.   end;
  3438. end;
  3439. {$ELSE}
  3440. function wglUseFontOutlinesW; external opengl32 name 'wglUseFontOutlinesW';
  3441. {$ENDIF DYNAMIC_LINK}
  3442. {$IFDEF UNICODE}
  3443. {$IFDEF DYNAMIC_LINK}
  3444. var
  3445.   _wglUseFontOutlines: Pointer;
  3446. function wglUseFontOutlines;
  3447. begin
  3448.   GetProcedureAddress(_wglUseFontOutlines, opengl32, 'wglUseFontOutlinesW');
  3449.   asm
  3450.     mov esp, ebp
  3451.     pop ebp
  3452.     jmp [_wglUseFontOutlines]
  3453.   end;
  3454. end;
  3455. {$ELSE}
  3456. function wglUseFontOutlines; external opengl32 name 'wglUseFontOutlinesW';
  3457. {$ENDIF DYNAMIC_LINK}
  3458. {$ELSE}
  3459. {$IFDEF DYNAMIC_LINK}
  3460. var
  3461.   _wglUseFontOutlines: Pointer;
  3462. function wglUseFontOutlines;
  3463. begin
  3464.   GetProcedureAddress(_wglUseFontOutlines, opengl32, 'wglUseFontOutlinesA');
  3465.   asm
  3466.     mov esp, ebp
  3467.     pop ebp
  3468.     jmp [_wglUseFontOutlines]
  3469.   end;
  3470. end;
  3471. {$ELSE}
  3472. function wglUseFontOutlines; external opengl32 name 'wglUseFontOutlinesA';
  3473. {$ENDIF DYNAMIC_LINK}
  3474. {$ENDIF}
  3475. {$IFDEF DYNAMIC_LINK}
  3476. var
  3477.   _wglDescribeLayerPlane: Pointer;
  3478. function wglDescribeLayerPlane;
  3479. begin
  3480.   GetProcedureAddress(_wglDescribeLayerPlane, opengl32, 'wglDescribeLayerPlane');
  3481.   asm
  3482.     mov esp, ebp
  3483.     pop ebp
  3484.     jmp [_wglDescribeLayerPlane]
  3485.   end;
  3486. end;
  3487. {$ELSE}
  3488. function wglDescribeLayerPlane; external opengl32 name 'wglDescribeLayerPlane';
  3489. {$ENDIF DYNAMIC_LINK}
  3490. {$IFDEF DYNAMIC_LINK}
  3491. var
  3492.   _wglSetLayerPaletteEntries: Pointer;
  3493. function wglSetLayerPaletteEntries;
  3494. begin
  3495.   GetProcedureAddress(_wglSetLayerPaletteEntries, opengl32, 'wglSetLayerPaletteEntries');
  3496.   asm
  3497.     mov esp, ebp
  3498.     pop ebp
  3499.     jmp [_wglSetLayerPaletteEntries]
  3500.   end;
  3501. end;
  3502. {$ELSE}
  3503. function wglSetLayerPaletteEntries; external opengl32 name 'wglSetLayerPaletteEntries';
  3504. {$ENDIF DYNAMIC_LINK}
  3505. {$IFDEF DYNAMIC_LINK}
  3506. var
  3507.   _wglGetLayerPaletteEntries: Pointer;
  3508. function wglGetLayerPaletteEntries;
  3509. begin
  3510.   GetProcedureAddress(_wglGetLayerPaletteEntries, opengl32, 'wglGetLayerPaletteEntries');
  3511.   asm
  3512.     mov esp, ebp
  3513.     pop ebp
  3514.     jmp [_wglGetLayerPaletteEntries]
  3515.   end;
  3516. end;
  3517. {$ELSE}
  3518. function wglGetLayerPaletteEntries; external opengl32 name 'wglGetLayerPaletteEntries';
  3519. {$ENDIF DYNAMIC_LINK}
  3520. {$IFDEF DYNAMIC_LINK}
  3521. var
  3522.   _wglRealizeLayerPalette: Pointer;
  3523. function wglRealizeLayerPalette;
  3524. begin
  3525.   GetProcedureAddress(_wglRealizeLayerPalette, opengl32, 'wglRealizeLayerPalette');
  3526.   asm
  3527.     mov esp, ebp
  3528.     pop ebp
  3529.     jmp [_wglRealizeLayerPalette]
  3530.   end;
  3531. end;
  3532. {$ELSE}
  3533. function wglRealizeLayerPalette; external opengl32 name 'wglRealizeLayerPalette';
  3534. {$ENDIF DYNAMIC_LINK}
  3535. {$IFDEF DYNAMIC_LINK}
  3536. var
  3537.   _wglSwapLayerBuffers: Pointer;
  3538. function wglSwapLayerBuffers;
  3539. begin
  3540.   GetProcedureAddress(_wglSwapLayerBuffers, opengl32, 'wglSwapLayerBuffers');
  3541.   asm
  3542.     mov esp, ebp
  3543.     pop ebp
  3544.     jmp [_wglSwapLayerBuffers]
  3545.   end;
  3546. end;
  3547. {$ELSE}
  3548. function wglSwapLayerBuffers; external opengl32 name 'wglSwapLayerBuffers';
  3549. {$ENDIF DYNAMIC_LINK}
  3550. {$IFDEF DYNAMIC_LINK}
  3551. var
  3552.   _wglSwapMultipleBuffers: Pointer;
  3553. function wglSwapMultipleBuffers;
  3554. begin
  3555.   GetProcedureAddress(_wglSwapMultipleBuffers, opengl32, 'wglSwapMultipleBuffers');
  3556.   asm
  3557.     mov esp, ebp
  3558.     pop ebp
  3559.     jmp [_wglSwapMultipleBuffers]
  3560.   end;
  3561. end;
  3562. {$ELSE}
  3563. function wglSwapMultipleBuffers; external opengl32 name 'wglSwapMultipleBuffers';
  3564. {$ENDIF DYNAMIC_LINK}
  3565. end.