Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

641 lines
18 KiB

  1. TITLE GDI.ASM
  2. PAGE ,132
  3. ;
  4. ; WOW v1.0
  5. ;
  6. ; Copyright (c) 1991, Microsoft Corporation
  7. ;
  8. ; GDI.ASM
  9. ; Thunks in 16-bit space to route Windows API calls to WOW32
  10. ;
  11. ; History:
  12. ; 25-Jan-1991 Jeff Parsons (jeffpar)
  13. ; Created.
  14. ;
  15. ; Some applications require that USER have a heap. This means
  16. ; we must always have: LIBINIT equ 1
  17. LIBINIT equ 1
  18. .286p
  19. .xlist
  20. include wow.inc
  21. include wowgdi.inc
  22. include cmacros.inc
  23. include metacons.inc
  24. .list
  25. __acrtused = 0
  26. public __acrtused ;satisfy external C ref.
  27. externFP WOW16Call
  28. ifdef LIBINIT
  29. externFP LocalInit
  30. endif
  31. createSeg _TEXT,CODE,WORD,PUBLIC,CODE
  32. createSeg _DATA,DATA,WORD,PUBLIC,DATA,DGROUP
  33. defgrp DGROUP,DATA
  34. sBegin DATA
  35. Reserved db 16 dup (0) ;reserved for Windows //!!!!! what is this
  36. GDI_Identifier db 'GDI16 Data Segment'
  37. Stocks dw 17 dup (0) ; Stock Object Handles
  38. public FTRAPPING0
  39. FTRAPPING0 dw 0
  40. sEnd DATA
  41. ;
  42. ; GP fault exception handler table definition
  43. ;
  44. createSeg _GPFIX0,GPFIX0,WORD,PUBLIC,CODE,IGROUP ; GP fault trapping
  45. sBegin GPFIX0
  46. __GP label word
  47. public __GP
  48. sEnd GPFIX0
  49. sBegin CODE
  50. assumes CS,CODE
  51. assumes DS,DATA
  52. assumes ES,NOTHING
  53. externFP GetStockObject
  54. cProc GDI16,<PUBLIC,FAR,PASCAL,NODATA,ATOMIC>
  55. cBegin <nogen>
  56. IFDEF LIBINIT
  57. ; push params and call user initialisation code
  58. push di ;hModule
  59. ; if we have a local heap declared then initialize it
  60. jcxz no_heap
  61. push 0 ;segment
  62. push 0 ;start
  63. push cx ;length
  64. call LocalInit
  65. no_heap:
  66. ;
  67. ; I didn't put a call to LibMain here, because I didn't think we
  68. ; had anything to do.
  69. ;
  70. pop di
  71. mov ax,1
  72. ELSE
  73. mov ax,1
  74. ENDIF
  75. push ax
  76. push di
  77. push si
  78. xor si,si
  79. xor di,di
  80. my_loop:
  81. push si
  82. call GetStockObject
  83. mov ds:[di + offset Stocks],ax
  84. add di,2
  85. inc si
  86. cmp si,16 ; Stock Objects have an index range of 0 through 16
  87. jna my_loop
  88. pop si
  89. pop di
  90. pop ax
  91. ret
  92. cEnd <nogen>
  93. assume DS:nothing
  94. cProc WEP,<PUBLIC,FAR,PASCAL,NODATA,NOWIN,ATOMIC>
  95. parmW iExit ;DLL exit code
  96. cBegin
  97. mov ax,1 ;always indicate success
  98. cEnd
  99. assume DS:nothing
  100. ;*--------------------------------------------------------------------------*
  101. ;*
  102. ;* CheckStockObject()
  103. ;*
  104. ;* Checks to see if the stock object is already fetched.
  105. ;*
  106. ;*--------------------------------------------------------------------------*
  107. cProc CheckStockObject, <PUBLIC, NEAR>
  108. parmW nIndex
  109. parmD lpReturn ; Callers Return Address
  110. ;parmW wBP ; Thunk saved BP
  111. ;parmW wDS ; Thunk saved DS
  112. cBegin
  113. mov bx,nIndex
  114. cmp bx,16
  115. ja @f
  116. push ds
  117. mov ax,seg Stocks
  118. mov ds,ax
  119. shl bx,1
  120. mov ax,ds:[bx+offset Stocks]
  121. pop ds
  122. or ax,ax
  123. jz @f
  124. pop bp
  125. add sp,2 ; skip thunk IP
  126. ; mov sp,bp
  127. ; pop bp
  128. ; lea sp,-2[bp]
  129. ; pop ds
  130. ; pop bp
  131. ; dec bp
  132. retf 2 ; 2 bytes to pop
  133. @@:
  134. mov sp,bp ; Do cEnd without Ret count (leave parameters there)
  135. pop bp
  136. ret
  137. cEnd <nogen>
  138. externFP GlobalHandle
  139. cProc IGetMetafileBits, <PUBLIC, FAR>
  140. parmW hmf
  141. cBegin
  142. ; return (GlobalHandle(hMF) & 0xffff) ? hMF : FALSE;
  143. push hmf
  144. call GlobalHandle
  145. cmp ax, 0
  146. je @f
  147. mov ax, hmf
  148. @@:
  149. cEnd
  150. cProc ISetMetafileBits, <PUBLIC, FAR>
  151. parmW hmf
  152. cBegin
  153. ; return (hBits)
  154. mov ax, hmf
  155. cEnd
  156. externFP GlobalReAlloc
  157. cProc ISetMetafileBitsBetter, <PUBLIC, FAR>
  158. parmW hmf
  159. cBegin
  160. ; return (GlobalReAlloc(hBits, 0L, GMEM_MODIFY | GMEM_SHAREALL));
  161. push hmf
  162. push 0
  163. push 0
  164. push 2080h ;; GMEM_MODIFY or GMEM_SHAREALL
  165. call GlobalReAlloc
  166. cEnd
  167. GDIThunk CLOSEMETAFILE
  168. GDIThunk COPYMETAFILE
  169. GDIThunk CREATEMETAFILE
  170. GDIThunk DELETEMETAFILE
  171. GDIThunk GETMETAFILE
  172. ; GDIThunk GETMETAFILEBITS
  173. GDIThunk ENUMMETAFILE
  174. DGDIThunk ISVALIDMETAFILE, 0
  175. GDIThunk PLAYMETAFILE
  176. GDIThunk PLAYMETAFILERECORD
  177. ; GDIThunk SETMETAFILEBITS
  178. FUN_WOWADDFONTRESOURCE EQU FUN_ADDFONTRESOURCE
  179. DGDIThunk WOWADDFONTRESOURCE %(size ADDFONTRESOURCE16)
  180. GDIThunk ANIMATEPALETTE
  181. GDIThunk ARC
  182. GDIThunk BITBLT
  183. ; DGDIThunk BRUTE
  184. GDIThunk CHORD
  185. DGDIThunk CLOSEJOB
  186. GDIThunk COMBINERGN
  187. GDIThunk COMPATIBLEBITMAP,6
  188. DGDIThunk COPY,10
  189. GDIThunk CREATEBITMAP
  190. GDIThunk CREATEBITMAPINDIRECT
  191. GDIThunk CREATEBRUSHINDIRECT
  192. GDIThunk CREATECOMPATIBLEBITMAP
  193. GDIThunk CREATECOMPATIBLEDC
  194. GDIThunk CREATEDC
  195. GDIThunk CREATEDIBITMAP
  196. FUN_WOWCREATEDIBPATTERNBRUSH EQU FUN_CREATEDIBPATTERNBRUSH
  197. DGDIThunk WOWCREATEDIBPATTERNBRUSH, %(size CREATEDIBPATTERNBRUSH16)
  198. GDIThunk CREATEDISCARDABLEBITMAP
  199. DGDIThunk CREATEELLIPTICRGN
  200. GDIThunk CREATEELLIPTICRGNINDIRECT
  201. GDIThunk CREATEFONT
  202. GDIThunk CREATEFONTINDIRECT
  203. GDIThunk CREATEHATCHBRUSH
  204. GDIThunk CREATEIC
  205. GDIThunk CREATEPALETTE
  206. GDIThunk CREATEPATTERNBRUSH
  207. GDIThunk CREATEPEN
  208. GDIThunk CREATEPENINDIRECT
  209. GDIThunk CREATEPOLYGONRGN
  210. GDIThunk CREATEPOLYPOLYGONRGN
  211. ;;; DGDIThunk CREATEPQ,2
  212. GDIThunk CREATEREALBITMAP,14
  213. GDIThunk CREATEREALBITMAPINDIRECT,6
  214. DGDIThunk CREATERECTRGN
  215. GDIThunk CREATERECTRGNINDIRECT
  216. DGDIThunk CREATEROUNDRECTRGN
  217. DGDIThunk CREATESOLIDBRUSH
  218. DGDIThunk CREATEUSERBITMAP
  219. DGDIThunk CREATEUSERDISCARDABLEBITMAP,6
  220. DGDIThunk DEATH,2
  221. GDIThunk DELETEDC
  222. DGDIThunk DELETEJOB,4
  223. GDIThunk DELETEOBJECT
  224. ;;; DGDIThunk DELETEPQ,2
  225. DGDIThunk DEVICECOLORMATCH,8
  226. GDIThunk DEVICEMODE
  227. DGDIThunk DMBITBLT
  228. DGDIThunk DMCOLORINFO,12
  229. DGDIThunk DMENUMDFONTS,16
  230. DGDIThunk DMENUMOBJ,14
  231. DGDIThunk DMOUTPUT,28
  232. DGDIThunk DMPIXEL,16
  233. DGDIThunk DMREALIZEOBJECT,18
  234. DGDIThunk DMSCANLR,14
  235. DGDIThunk DMSTRBLT,30
  236. DGDIThunk DMTRANSPOSE,10
  237. GDIThunk DPTOLP
  238. GDIThunk DPXLATE,8
  239. GDIThunk ELLIPSE
  240. DGDIThunk ENDSPOOLPAGE,2
  241. GDIThunk ENUMCALLBACK,14
  242. GDIThunk ENUMFONTS
  243. GDIThunk ENUMOBJECTS
  244. GDIThunk EQUALRGN
  245. GDIThunk ESCAPE
  246. GDIThunk EXCLUDECLIPRECT
  247. DGDIThunk EXCLUDEVISRECT,10
  248. GDIThunk EXTDEVICEMODE
  249. GDIThunk EXTFLOODFILL
  250. ;;; DGDIThunk EXTRACTPQ,2
  251. GDIThunk EXTTEXTOUT
  252. DGDIThunk FASTWINDOWFRAME,14
  253. GDIThunk FILLRGN
  254. DGDIThunk FINALGDIINIT,2
  255. GDIThunk FLOODFILL
  256. GDIThunk FRAMERGN
  257. DGDIThunk GDIINIT2,4
  258. DGDIThunk GDIMOVEBITMAP,2
  259. DGDIThunk GDIREALIZEPALETTE,2
  260. DGDIThunk GDISELECTPALETTE,6
  261. GDIThunk GETASPECTRATIOFILTER
  262. GDIThunk GETBITMAPBITS
  263. GDIThunk GETBITMAPDIMENSION
  264. DGDIThunk GETBKCOLOR
  265. DGDIThunk GETBKMODE
  266. DGDIThunk GETBRUSHORG
  267. GDIThunk GETCHARWIDTH
  268. GDIThunk GETCLIPBOX
  269. DGDIThunk GETCLIPRGN
  270. DGDIThunk GETCURLOGFONT,2
  271. GDIThunk GETCURRENTOBJECT
  272. DGDIThunk GETCURRENTPOSITION
  273. DGDIThunk GETDCORG
  274. DGDIThunk GETDCSTATE,2
  275. GDIThunk GETDEVICECAPS
  276. GDIThunk GETDIBITS
  277. GDIThunk GETENVIRONMENT
  278. DGDIThunk GETMAPMODE
  279. GDIThunk GETNEARESTCOLOR
  280. GDIThunk GETNEARESTPALETTEINDEX
  281. GDIThunk GETOBJECT
  282. GDIThunk GETPALETTEENTRIES
  283. DGDIThunk GETPHYSICALFONTHANDLE,2
  284. GDIThunk GETPIXEL
  285. DGDIThunk GETPOLYFILLMODE
  286. DGDIThunk GETRELABS
  287. DGDIThunk GETREGIONDATA
  288. GDIThunk GETRGNBOX
  289. DGDIThunk GETROP2
  290. DGDIThunk GETSPOOLJOB,6
  291. PGDIThunk GETSTOCKOBJECT,CheckStockObject
  292. DGDIThunk GETSTRETCHBLTMODE
  293. GDIThunk GETSYSTEMPALETTEENTRIES
  294. GDIThunk GETSYSTEMPALETTEUSE
  295. DGDIThunk GETTEXTALIGN
  296. GDIThunk GETTEXTCHARACTEREXTRA
  297. DGDIThunk GETTEXTCOLOR
  298. GDIThunk GETTEXTEXTENT
  299. GDIThunk GETTEXTFACE
  300. GDIThunk GETTEXTMETRICS
  301. DGDIThunk GETVIEWPORTEXT
  302. DGDIThunk GETVIEWPORTORG
  303. DGDIThunk GETWINDOWEXT
  304. DGDIThunk GETWINDOWORG
  305. GDIThunk GSV,2
  306. DGDIThunk INQUIREVISRGN
  307. ;;; DGDIThunk INSERTPQ,6
  308. GDIThunk INTERNALCREATEDC,16
  309. GDIThunk INTERSECTCLIPRECT
  310. DGDIThunk INTERSECTVISRECT,10
  311. GDIThunk INVERTRGN
  312. DGDIThunk ISDCCURRENTPALETTE,2
  313. DGDIThunk ISDCDIRTY,6
  314. GDIThunk LINEDDA
  315. GDIThunk LINETO
  316. GDIThunk LPTODP
  317. GDIThunk LVBUNION,10
  318. GDIThunk MFDRAWTEXT,14
  319. ;;; DGDIThunk MINPQ,2
  320. GDIThunk MOVETO
  321. ; DGDIThunk MULDIV ; thunk locally
  322. GDIThunk OFFSETCLIPRGN
  323. GDIThunk OFFSETORG,6
  324. GDIThunk OFFSETRGN
  325. GDIThunk OFFSETVIEWPORTORG
  326. DGDIThunk OFFSETVISRGN,6
  327. GDIThunk OFFSETWINDOWORG
  328. DGDIThunk OPENJOB,10
  329. GDIThunk PAINTRGN
  330. GDIThunk PATBLT
  331. GDIThunk PIE
  332. GDIThunk PIXTOLINE,16
  333. GDIThunk POLYGON
  334. GDIThunk POLYLINE
  335. GDIThunk POLYPOLYGON
  336. GDIThunk POLYPOLYLINEWOW ; New for ACAD guys.
  337. GDIThunk PTINREGION
  338. GDIThunk PTVISIBLE
  339. DGDIThunk QUERYJOB,4
  340. GDIThunk RCOS,4
  341. DGDIThunk REALIZEDEFAULTPALETTE,2
  342. GDIThunk RECTANGLE
  343. GDIThunk RECTINREGION
  344. GDIThunk RECTSTUFF,10
  345. GDIThunk RECTVISIBLE
  346. FUN_WOWREMOVEFONTRESOURCE EQU FUN_REMOVEFONTRESOURCE
  347. DGDIThunk WOWREMOVEFONTRESOURCE %(size REMOVEFONTRESOURCE16)
  348. GDIThunk RESIZEPALETTE
  349. GDIThunk RESTOREDC
  350. DGDIThunk RESTOREVISRGN,2
  351. DGDIThunk RESURRECTION,14
  352. GDIThunk ROUNDRECT
  353. GDIThunk RSIN,4
  354. GDIThunk SAVEDC
  355. DGDIThunk SAVEVISRGN,2
  356. GDIThunk SCALEEXT,10
  357. GDIThunk SCALEVIEWPORTEXT
  358. GDIThunk SCALEWINDOWEXT
  359. DGDIThunk SCANLR,12
  360. GDIThunk SELECTCLIPRGN
  361. GDIThunk SELECTOBJECT
  362. DGDIThunk SELECTVISRGN,4
  363. GDIThunk SETBITMAPBITS
  364. GDIThunk SETBITMAPDIMENSION
  365. GDIThunk SETBKCOLOR
  366. GDIThunk SETBKMODE
  367. GDIThunk SETBRUSHORG
  368. DGDIThunk SETDCORG,6
  369. DGDIThunk SETDCSTATE,4
  370. DGDIThunk SETDCSTATUS,8
  371. GDIThunk SETDIBITS
  372. GDIThunk SETDIBITSTODEVICE
  373. GDIThunk SETENVIRONMENT
  374. GDIThunk SETMAPMODE
  375. GDIThunk SETMAPPERFLAGS
  376. GDIThunk SETPALETTEENTRIES
  377. GDIThunk SETPIXEL
  378. GDIThunk SETPOLYFILLMODE
  379. GDIThunk SETRECTRGN
  380. DGDIThunk SETRELABS
  381. GDIThunk SETROP2
  382. GDIThunk SETSTRETCHBLTMODE
  383. GDIThunk SETSYSTEMPALETTEUSE
  384. GDIThunk SETTEXTALIGN
  385. GDIThunk SETTEXTCHARACTEREXTRA
  386. GDIThunk SETTEXTCOLOR
  387. GDIThunk SETTEXTJUSTIFICATION
  388. GDIThunk SETVIEWPORTEXT
  389. GDIThunk SETVIEWPORTORG
  390. GDIThunk SETWINDOWEXT
  391. GDIThunk SETWINDOWORG
  392. GDIThunk SETWINVIEWEXT,6
  393. DGDIThunk SHRINKGDIHEAP, 0
  394. ;;; DGDIThunk SIZEPQ,4
  395. DGDIThunk STARTSPOOLPAGE,2
  396. GDIThunk STRETCHBLT
  397. GDIThunk STRETCHDIBITS
  398. GDIThunk STUFFINREGION,6
  399. GDIThunk STUFFVISIBLE,6
  400. GDIThunk TEXTOUT
  401. GDIThunk UNREALIZEOBJECT
  402. GDIThunk UPDATECOLORS
  403. GDIThunk WORDSET,4
  404. DGDIThunk WRITEDIALOG,8
  405. DGDIThunk WRITESPOOL,8
  406. ; New Win 3.1 thunks
  407. DGDIThunk BITMAPBITS,10 ;Internal
  408. DGDIThunk SETDCHOOK,10 ;Internal
  409. DGDIThunk GETDCHOOK,6 ;Internal
  410. DGDIThunk SETHOOKFLAGS,4 ;Internal
  411. DGDIThunk SETBOUNDSRECT
  412. DGDIThunk GETBOUNDSRECT
  413. DGDIThunk SELECTBITMAP,4 ;Internal
  414. ; GDIThunk SETMETAFILEBITSBETTER ;New for 3.1
  415. DGDIThunk DMEXTTEXTOUT,40
  416. DGDIThunk DMGETCHARWIDTH,24
  417. DGDIThunk DMSTRETCHBLT,40
  418. DGDIThunk DMDIBBITS,26
  419. DGDIThunk DMSTRETCHDIBITS,50
  420. DGDIThunk DMSETDIBTODEV,32
  421. DGDIThunk DELETESPOOLPAGE,2 ; new for 3.1
  422. DGDIThunk SPOOLFILE ; new for 3.1
  423. DGDIThunk ENGINEENUMERATEFONT,12 ;Internal
  424. DGDIThunk ENGINEDELETEFONT,4 ;Internal
  425. DGDIThunk ENGINEREALIZEFONT,12 ;Internal
  426. DGDIThunk ENGINEGETCHARWIDTH,12 ;Internal
  427. DGDIThunk ENGINESETFONTCONTEXT,6 ;Internal
  428. DGDIThunk ENGINEGETGLYPHBMP,22 ;Internal
  429. DGDIThunk ENGINEMAKEFONTDIR,10 ;Internal
  430. GDIThunk GETCHARABCWIDTHS
  431. GDIThunk GETOUTLINETEXTMETRICS
  432. GDIThunk GETGLYPHOUTLINE
  433. GDIThunk CREATESCALABLEFONTRESOURCE
  434. GDIThunk GETFONTDATA
  435. DGDIThunk CONVERTOUTLINEFONTFILE,12 ;internal
  436. DGDIThunk GETRASTERIZERCAPS
  437. DGDIThunk ENGINEEXTTEXTOUT,42 ;internal
  438. GDIThunk ENUMFONTFAMILIES
  439. GDIThunk GETKERNINGPAIRS
  440. GDIThunk RESETDC
  441. GDIThunk STARTDOC
  442. GDIThunk ENDDOC
  443. GDIThunk STARTPAGE
  444. GDIThunk ENDPAGE
  445. GDIThunk SETABORTPROC
  446. GDIThunk ABORTDOC
  447. DGDIThunk GDISEEGDIDO,8 ;Internal
  448. DGDIThunk GDITASKTERMINATION,2 ;Internal
  449. DGDIThunk SETOBJECTOWNER,4 ;Internal
  450. DGDIThunk ISGDIOBJECT
  451. DGDIThunk MAKEOBJECTPRIVATE,4 ;Internal
  452. DGDIThunk FIXUPBOGUSPUBLISHERMETAFILE,6 ;Internal
  453. DGDIThunk RECTVISIBLE_EHH,6
  454. DGDIThunk RECTINREGION_EHH,6
  455. DGDIThunk UNICODETOANSI,8 ;Internal
  456. GDIThunk GETBITMAPDIMENSIONEX
  457. DGDIThunk GETBRUSHORGEX
  458. DGDIThunk GETCURRENTPOSITIONEX
  459. GDIThunk GETTEXTEXTENTPOINT
  460. DGDIThunk GETVIEWPORTEXTEX
  461. DGDIThunk GETVIEWPORTORGEX
  462. DGDIThunk GETWINDOWEXTEX
  463. DGDIThunk GETWINDOWORGEX
  464. GDIThunk OFFSETVIEWPORTORGEX
  465. GDIThunk OFFSETWINDOWORGEX
  466. GDIThunk SETBITMAPDIMENSIONEX
  467. GDIThunk SETVIEWPORTEXTEX
  468. GDIThunk SETVIEWPORTORGEX
  469. GDIThunk SETWINDOWEXTEX
  470. GDIThunk SETWINDOWORGEX
  471. GDIThunk MOVETOEX
  472. GDIThunk SCALEVIEWPORTEXTEX
  473. GDIThunk SCALEWINDOWEXTEX
  474. GDIThunk GETASPECTRATIOFILTEREX
  475. DGDITHUNK CREATEDIBSECTION ; new for chicago
  476. DGDITHUNK GETDIBCOLORTABLE ; new for chicago
  477. DGDITHUNK SETDIBCOLORTABLE ; new for chicago
  478. ;
  479. ; New for NT 5.0 Win95 compatibility
  480. ;
  481. DGDIThunk ABORTPATH
  482. DGDIThunk ABORTPRINTER
  483. DGDIThunk ADDLPKTOGDI
  484. DGDIThunk BEGINPATH
  485. DGDIThunk BUILDINVERSETABLEDIB
  486. DGDIThunk CLOSEENHMETAFILE
  487. DGDIThunk CLOSEFIGURE
  488. DGDIThunk CLOSEPRINTER
  489. DGDIThunk COPYENHMETAFILE
  490. DGDIThunk CREATEENHMETAFILE
  491. DGDIThunk CREATEHALFTONEPALETTE
  492. DGDIThunk DELETEENHMETAFILE
  493. DGDIThunk DRVGETPRINTERDATA
  494. DGDIThunk DRVSETPRINTERDATA
  495. DGDIThunk ENDDOCPRINTER
  496. DGDIThunk ENDPAGEPRINTER
  497. DGDIThunk ENDPATH
  498. DGDIThunk ENGINEGETCHARWIDTHEX
  499. DGDIThunk ENGINEGETCHARWIDTHSTR
  500. DGDIThunk ENGINEGETGLYPHBMPEXT
  501. DGDIThunk ENGINEREALIZEFONTEXT
  502. DGDIThunk ENUMFONTFAMILIESEX
  503. DGDIThunk EXTCREATEREGION
  504. DGDIThunk EXTCREATEPEN
  505. DGDIThunk EXTSELECTCLIPRGN
  506. DGDIThunk FILLPATH
  507. DGDIThunk FLATTENPATH
  508. DGDIThunk GDICOMMENT
  509. DGDIThunk GDIPARAMETERSINFO
  510. DGDIThunk GDISIGNALPROC32
  511. DGDIThunk GETARCDIRECTION
  512. DGDIThunk GETCHARACTERPLACEMENT
  513. DGDIThunk GETENHMETAFILE
  514. DGDIThunk GETENHMETAFILEBITS
  515. DGDIThunk GETENHMETAFILEDESCRIPTION
  516. DGDIThunk GETENHMETAFILEHEADER
  517. DGDIThunk GETENHMETAFILEPALETTEENTRIES
  518. DGDIThunk GETFONTLANGUAGEINFO
  519. DGDIThunk GETMITERLIMIT
  520. DGDIThunk GETPATH
  521. DGDIThunk GETRANDOMRGN
  522. DGDIThunk GETREALDRIVERINFO
  523. DGDIThunk GETTEXTCHARSET
  524. DGDIThunk GETTEXTEXTENTEX
  525. DGDIThunk GETTTGLYPHINDEXMAP
  526. DGDIThunk ICMCHECKCOLORSINGAMUT
  527. DGDIThunk ICMCREATETRANSFORM
  528. DGDIThunk ICMDELETETRANSFORM
  529. DGDIThunk ICMTRANSLATERGB
  530. DGDIThunk ICMTRANSLATERGBS
  531. DGDIThunk OPENPRINTERA
  532. DGDIThunk PATHTOREGION
  533. DGDIThunk PLAYENHMETAFILERECORD
  534. DGDIThunk POLYBEZIER
  535. DGDIThunk POLYBEZIERTO
  536. DGDIThunk SELECTCLIPPATH
  537. DGDIThunk SETARCDIRECTION
  538. DGDIThunk SETENHMETAFILEBITS
  539. DGDIThunk SETMAGICCOLORS
  540. DGDIThunk SETMETARGN
  541. DGDIThunk SETMITERLIMIT
  542. DGDIThunk SETSOLIDBRUSH
  543. DGDIThunk STARTDOCPRINTERA
  544. DGDIThunk STARTPAGEPRINTER
  545. DGDIThunk STROKEANDFILLPATH
  546. DGDIThunk STROKEPATH
  547. DGDIThunk SYSDELETEOBJECT
  548. DGDIThunk WIDENPATH
  549. DGDIThunk WRITEPRINTER
  550. ;
  551. ; Queryabort
  552. ;
  553. cProc QUERYABORT,<PUBLIC,FAR,PASCAL,NODATA,WIN>
  554. parmw hdc
  555. parmw res
  556. cBegin
  557. ; Not Supported
  558. mov ax,1
  559. cEnd
  560. ifdef FE_SB
  561. FUN_IGETFONTASSOCSTATUS EQU FUN_GETFONTASSOCSTATUS
  562. DGDIThunk IGETFONTASSOCSTATUS %(size GETFONTASSOCSTATUS16)
  563. endif ;FE_SB
  564. cProc GdiFreeResources,<PUBLIC,FAR,PASCAL,NODATA,WIN>
  565. ParmD cbBaseline
  566. cBegin
  567. mov ax,90 ; % free
  568. cEnd
  569. sEnd CODE
  570. end GDI16