Leaked source code of windows server 2003
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.

829 lines
20 KiB

  1. /**************************************************************************
  2. ***************************************************************************
  3. *
  4. * Copyright (c) 1996, Cirrus Logic, Inc.
  5. * All Rights Reserved
  6. *
  7. * FILE: bltP.h
  8. *
  9. * DESCRIPTION: Private declarations for DDraw blt code
  10. *
  11. * REVISION HISTORY:
  12. *
  13. * $Log: X:\log\laguna\ddraw\inc\bltp.h $
  14. *
  15. * Rev 1.11 06 Jan 1998 14:19:44 xcong
  16. * Access pDriverData locally for multi-monitor support.
  17. *
  18. * Rev 1.10 03 Oct 1997 14:25:34 RUSSL
  19. * Removed some defines
  20. *
  21. * Rev 1.9 03 Oct 1997 14:15:58 RUSSL
  22. * Initial changes for use of hw clipped blts
  23. * All changes wrapped in #if ENABLE_CLIPPEDBLTS/#endif blocks and
  24. * ENABLE_CLIPPEDBLTS defaults to 0 (so the code is disabled)
  25. *
  26. * Rev 1.8 24 Jul 1997 10:02:00 RUSSL
  27. * Added some defines
  28. *
  29. * Rev 1.7 14 Jul 1997 14:47:28 RUSSL
  30. * Added function prototypes for DIR_DrvStrBlt65 and DL_DrvStrBlt65
  31. *
  32. * Rev 1.6 03 Apr 1997 15:03:08 RUSSL
  33. * Added PFN_DRVDSTMBLT typedef, global var decl, DIR_DrvDstMBlt and
  34. * DL_DrvDstMBlt function prototypes
  35. *
  36. * Rev 1.5 26 Mar 1997 13:52:06 RUSSL
  37. * Added PFN_DRVSRCMBLT typedef, global var decl, DIR_DrvSrcMBlt and
  38. * DL_DrvSrcMBlt function prototypes
  39. *
  40. * Rev 1.4 20 Jan 1997 14:46:40 bennyn
  41. * Moved inline code to ddinline.h
  42. *
  43. * Rev 1.3 15 Jan 1997 11:06:54 RUSSL
  44. * Added global function ptr vars for Win95
  45. * Moved inline functions from ddblt.c: DupColor, EnoughFifoForBlt & DupZFill
  46. * Added function prototypes for TransparentStretch & StretchColor
  47. *
  48. * Rev 1.2 05 Dec 1996 08:48:24 SueS
  49. * Added real DD_LOG define for NT.
  50. *
  51. * Rev 1.1 25 Nov 1996 16:12:42 bennyn
  52. * Added #define DD_LOG for NT
  53. *
  54. * Rev 1.0 25 Nov 1996 15:04:34 RUSSL
  55. * Initial revision.
  56. *
  57. * Rev 1.1 01 Nov 1996 13:01:42 RUSSL
  58. * Merge WIN95 & WINNT code for Blt32
  59. *
  60. * Rev 1.0 01 Nov 1996 09:28:16 BENNYN
  61. * Initial revision.
  62. *
  63. * Rev 1.0 25 Oct 1996 10:47:50 RUSSL
  64. * Initial revision.
  65. *
  66. ***************************************************************************
  67. ***************************************************************************/
  68. // If WinNT 3.5 skip all the source code
  69. #if defined WINNT_VER35 // WINNT_VER35
  70. #else
  71. #ifndef _BLTP_H_
  72. #define _BLTP_H_
  73. /***************************************************************************
  74. * D E F I N E S
  75. ****************************************************************************/
  76. #ifndef ENABLE_CLIPPEDBLTS
  77. #ifdef WINNT_VER40
  78. #define ENABLE_CLIPPEDBLTS 0
  79. #else // Win95
  80. #define ENABLE_CLIPPEDBLTS 0
  81. #endif
  82. #endif
  83. #define ROP_OP0_copy 0xAA
  84. #define ROP_OP1_copy 0xCC
  85. #define ROP_OP2_copy 0xF0
  86. #ifdef DEBUG
  87. #define INLINE
  88. #else
  89. #define INLINE __inline
  90. #endif
  91. /***************************************************************************
  92. * T Y P E D E F S
  93. ****************************************************************************/
  94. #ifdef WINNT_VER40
  95. // Note: there's no if LOG_CALLS here because it's not defined yet
  96. #define DD_LOG(x) \
  97. { \
  98. DDFormatLogFile x ; \
  99. WriteLogFile(ppdev->pmfile, lg_buf, lg_i, ppdev->TxtBuff, &ppdev->TxtBuffIndex); \
  100. }
  101. typedef void (*PFN_DELAY9BLT)(struct _PDEV*,struct _DRIVERDATA*,BOOL);
  102. typedef void (*PFN_EDGEFILLBLT)(struct _PDEV*,struct _DRIVERDATA*,int,int,int,int,DWORD,BOOL);
  103. typedef void (*PFN_MEDGEFILLBLT)(struct _PDEV*,struct _DRIVERDATA*,int,int,int,int,DWORD,BOOL);
  104. typedef void (*PFN_DRVDSTBLT)(struct _PDEV*,struct _DRIVERDATA*,DWORD,DWORD,DWORD,DWORD);
  105. typedef void (*PFN_DRVDSTMBLT)(struct _PDEV*,struct _DRIVERDATA*,DWORD,DWORD,DWORD,DWORD);
  106. typedef void (*PFN_DRVSRCBLT)(struct _PDEV*,struct _DRIVERDATA*,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD);
  107. typedef void (*PFN_DRVSRCMBLT)(struct _PDEV*,struct _DRIVERDATA*,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD);
  108. typedef void (*PFN_DRVSTRBLT)(struct _PDEV*,struct _DRIVERDATA*,struct _autoblt_regs*);
  109. typedef void (*PFN_DRVSTRMBLT)(struct _PDEV*,struct _DRIVERDATA*,struct _autoblt_regs*);
  110. typedef void (*PFN_DRVSTRMBLTY)(struct _PDEV*,struct _DRIVERDATA*,struct _autoblt_regs*);
  111. typedef void (*PFN_DRVSTRMBLTX)(struct _PDEV*,struct _DRIVERDATA*,struct _autoblt_regs*);
  112. typedef void (*PFN_DRVSTRBLTY)(struct _PDEV*,struct _DRIVERDATA*,struct _autoblt_regs*);
  113. typedef void (*PFN_DRVSTRBLTX)(struct _PDEV*,struct _DRIVERDATA*,struct _autoblt_regs*);
  114. #if ENABLE_CLIPPEDBLTS
  115. typedef void (*PFN_CLIPPEDDRVDSTBLT)(struct _PDEV*,struct _DRIVERDATA*,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPRECT);
  116. typedef void (*PFN_CLIPPEDDRVDSTMBLT)(struct _PDEV*,struct _DRIVERDATA*,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPRECT);
  117. typedef void (*PFN_CLIPPEDDRVSRCBLT)(struct _PDEV*,struct _DRIVERDATA*,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPRECT);
  118. #endif
  119. #else
  120. typedef void (*PFN_DELAY9BLT)(LPGLOBALDATA,BOOL);
  121. typedef void (*PFN_EDGEFILLBLT)(LPGLOBALDATA,ULONG,ULONG,ULONG,ULONG,DWORD,BOOL);
  122. typedef void (*PFN_MEDGEFILLBLT)(LPGLOBALDATA,ULONG,ULONG,ULONG,ULONG,DWORD,BOOL);
  123. typedef void (*PFN_DRVDSTBLT)(LPGLOBALDATA,DWORD,DWORD,DWORD,DWORD);
  124. typedef void (*PFN_DRVDSTMBLT)(LPGLOBALDATA,DWORD,DWORD,DWORD,DWORD);
  125. typedef void (*PFN_DRVSRCBLT)(LPGLOBALDATA,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD);
  126. typedef void (*PFN_DRVSRCMBLT)(LPGLOBALDATA,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD);
  127. typedef void (*PFN_DRVSTRBLT)(LPGLOBALDATA,autoblt_ptr);
  128. typedef void (*PFN_DRVSTRMBLT)(LPGLOBALDATA,autoblt_ptr);
  129. typedef void (*PFN_DRVSTRMBLTY)(LPGLOBALDATA,autoblt_ptr);
  130. typedef void (*PFN_DRVSTRMBLTX)(LPGLOBALDATA,autoblt_ptr);
  131. typedef void (*PFN_DRVSTRBLTY)(LPGLOBALDATA,autoblt_ptr);
  132. typedef void (*PFN_DRVSTRBLTX)(LPGLOBALDATA,autoblt_ptr);
  133. #if ENABLE_CLIPPEDBLTS
  134. typedef void (*PFN_CLIPPEDDRVDSTBLT)(LPGLOBALDATA,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPRECT);
  135. typedef void (*PFN_CLIPPEDDRVDSTMBLT)(LPGLOBALDATA,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPRECT);
  136. typedef void (*PFN_CLIPPEDDRVSRCBLT)(LPGLOBALDATA,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPRECT);
  137. #endif
  138. #endif // !WINNT_VER40
  139. #if ENABLE_CLIPPEDBLTS
  140. typedef struct _DDRECTL
  141. {
  142. REG32 loc;
  143. REG32 ext;
  144. } DDRECTL;
  145. #endif
  146. /***************************************************************************
  147. * G L O B A L V A R I A B L E S
  148. ****************************************************************************/
  149. #ifndef WINNT_VER40
  150. extern PFN_DELAY9BLT pfnDelay9BitBlt;
  151. extern PFN_EDGEFILLBLT pfnEdgeFillBlt;
  152. extern PFN_MEDGEFILLBLT pfnMEdgeFillBlt;
  153. extern PFN_DRVDSTBLT pfnDrvDstBlt;
  154. extern PFN_DRVDSTMBLT pfnDrvDstMBlt;
  155. extern PFN_DRVSRCBLT pfnDrvSrcBlt;
  156. extern PFN_DRVSRCMBLT pfnDrvSrcMBlt;
  157. extern PFN_DRVSTRBLT pfnDrvStrBlt;
  158. extern PFN_DRVSTRMBLT pfnDrvStrMBlt;
  159. extern PFN_DRVSTRMBLTY pfnDrvStrMBltY;
  160. extern PFN_DRVSTRMBLTX pfnDrvStrMBltX;
  161. extern PFN_DRVSTRBLTY pfnDrvStrBltY;
  162. extern PFN_DRVSTRBLTX pfnDrvStrBltX;
  163. #if ENABLE_CLIPPEDBLTS
  164. extern PFN_CLIPPEDDRVDSTBLT pfnClippedDrvDstBlt;
  165. extern PFN_CLIPPEDDRVDSTMBLT pfnClippedDrvDstMBlt;
  166. extern PFN_CLIPPEDDRVSRCBLT pfnClippedDrvSrcBlt;
  167. #endif
  168. #endif
  169. /***************************************************************************
  170. * F U N C T I O N P R O T O T Y P E S
  171. ****************************************************************************/
  172. // functions in ddblt.c
  173. extern void TransparentStretch
  174. (
  175. #ifdef WINNT_VER40
  176. struct _PDEV *ppdev,
  177. struct _DRIVERDATA *lpDDHALData,
  178. #else
  179. LPGLOBALDATA lpDDHALData,
  180. #endif
  181. int xDst,
  182. int yDst,
  183. int cxDst,
  184. int cyDst,
  185. int xSrc,
  186. int ySrc,
  187. int cxSrc,
  188. int cySrc,
  189. DWORD ColorKey
  190. );
  191. extern void StretchColor
  192. (
  193. #ifdef WINNT_VER40
  194. struct _PDEV *ppdev,
  195. struct _DRIVERDATA *lpDDHALData,
  196. #else
  197. LPGLOBALDATA lpDDHALData,
  198. #endif
  199. int xDst,
  200. int yDst,
  201. int cxDst,
  202. int cyDst,
  203. int xSrc,
  204. int ySrc,
  205. int cxSrc,
  206. int cySrc,
  207. DWORD ColorKey
  208. );
  209. // Direct Programming blts in blt_dir.c
  210. extern void DIR_Delay9BitBlt
  211. (
  212. #ifdef WINNT_VER40
  213. struct _PDEV *ppdev,
  214. struct _DRIVERDATA *lpDDHALData,
  215. #else
  216. LPGLOBALDATA lpDDHALData,
  217. #endif
  218. BOOL ninebit_on
  219. );
  220. extern void DIR_EdgeFillBlt
  221. (
  222. #ifdef WINNT_VER40
  223. struct _PDEV *ppdev,
  224. struct _DRIVERDATA *lpDDHALData,
  225. #else
  226. LPGLOBALDATA lpDDHALData,
  227. #endif
  228. int xFill,
  229. int yFill,
  230. int cxFill,
  231. int cyFill,
  232. DWORD FillValue,
  233. BOOL ninebit_on
  234. );
  235. extern void DIR_MEdgeFillBlt
  236. (
  237. #ifdef WINNT_VER40
  238. struct _PDEV *ppdev,
  239. struct _DRIVERDATA *lpDDHALData,
  240. #else
  241. LPGLOBALDATA lpDDHALData,
  242. #endif
  243. int xFill,
  244. int yFill,
  245. int cxFill,
  246. int cyFill,
  247. DWORD FillValue,
  248. BOOL ninebit_on
  249. );
  250. extern void DIR_DrvDstBlt
  251. (
  252. #ifdef WINNT_VER40
  253. struct _PDEV *ppdev,
  254. struct _DRIVERDATA *lpDDHALData,
  255. #else
  256. LPGLOBALDATA lpDDHALData,
  257. #endif
  258. DWORD dwDrawBlt,
  259. DWORD dwDstCoord,
  260. DWORD dwBgColor,
  261. DWORD dwExtents
  262. );
  263. extern void DIR_DrvDstMBlt
  264. (
  265. #ifdef WINNT_VER40
  266. struct _PDEV *ppdev,
  267. struct _DRIVERDATA *lpDDHALData,
  268. #else
  269. LPGLOBALDATA lpDDHALData,
  270. #endif
  271. DWORD dwDrawBlt,
  272. DWORD dwDstCoord,
  273. DWORD dwBgColor,
  274. DWORD dwExtents
  275. );
  276. extern void DIR_DrvSrcBlt
  277. (
  278. #ifdef WINNT_VER40
  279. struct _PDEV *ppdev,
  280. struct _DRIVERDATA *lpDDHALData,
  281. #else
  282. LPGLOBALDATA lpDDHALData,
  283. #endif
  284. DWORD dwDrawBlt,
  285. DWORD dwDstCoord,
  286. DWORD dwSrcCoord,
  287. DWORD dwKeyCoord,
  288. DWORD dwKeyColor,
  289. DWORD dwExtents
  290. );
  291. extern void DIR_DrvSrcMBlt
  292. (
  293. #ifdef WINNT_VER40
  294. struct _PDEV *ppdev,
  295. struct _DRIVERDATA *lpDDHALData,
  296. #else
  297. LPGLOBALDATA lpDDHALData,
  298. #endif
  299. DWORD dwDrawBlt,
  300. DWORD dwDstCoord,
  301. DWORD dwSrcCoord,
  302. DWORD dwKeyCoord,
  303. DWORD dwKeyColor,
  304. DWORD dwExtents
  305. );
  306. extern void DIR_DrvStrBlt
  307. (
  308. #ifdef WINNT_VER40
  309. struct _PDEV *ppdev,
  310. struct _DRIVERDATA *lpDDHALData,
  311. struct _autoblt_regs *pblt
  312. #else
  313. LPGLOBALDATA lpDDHALData,
  314. autoblt_ptr pblt
  315. #endif
  316. );
  317. extern void DIR_DrvStrBlt65
  318. (
  319. #ifdef WINNT_VER40
  320. struct _PDEV *ppdev,
  321. struct _DRIVERDATA *lpDDHALData,
  322. struct _autoblt_regs *pblt
  323. #else
  324. LPGLOBALDATA lpDDHALData,
  325. autoblt_ptr pblt
  326. #endif
  327. );
  328. extern void DIR_DrvStrMBlt
  329. (
  330. #ifdef WINNT_VER40
  331. struct _PDEV *ppdev,
  332. struct _DRIVERDATA *lpDDHALData,
  333. struct _autoblt_regs *pblt
  334. #else
  335. LPGLOBALDATA lpDDHALData,
  336. autoblt_ptr pblt
  337. #endif
  338. );
  339. extern void DIR_DrvStrMBltY
  340. (
  341. #ifdef WINNT_VER40
  342. struct _PDEV *ppdev,
  343. struct _DRIVERDATA *lpDDHALData,
  344. struct _autoblt_regs *pblt
  345. #else
  346. LPGLOBALDATA lpDDHALData,
  347. autoblt_ptr pblt
  348. #endif
  349. );
  350. extern void DIR_DrvStrMBltX
  351. (
  352. #ifdef WINNT_VER40
  353. struct _PDEV *ppdev,
  354. struct _DRIVERDATA *lpDDHALData,
  355. struct _autoblt_regs *pblt
  356. #else
  357. LPGLOBALDATA lpDDHALData,
  358. autoblt_ptr pblt
  359. #endif
  360. );
  361. extern void DIR_DrvStrBltY
  362. (
  363. #ifdef WINNT_VER40
  364. struct _PDEV *ppdev,
  365. struct _DRIVERDATA *lpDDHALData,
  366. struct _autoblt_regs *pblt
  367. #else
  368. LPGLOBALDATA lpDDHALData,
  369. autoblt_ptr pblt
  370. #endif
  371. );
  372. extern void DIR_DrvStrBltX
  373. (
  374. #ifdef WINNT_VER40
  375. struct _PDEV *ppdev,
  376. struct _DRIVERDATA *lpDDHALData,
  377. struct _autoblt_regs *pblt
  378. #else
  379. LPGLOBALDATA lpDDHALData,
  380. autoblt_ptr pblt
  381. #endif
  382. );
  383. #if ENABLE_CLIPPEDBLTS
  384. extern void DIR_HWClippedDrvDstBlt
  385. (
  386. #ifdef WINNT_VER40
  387. struct _PDEV *ppdev,
  388. struct _DRIVERDATA *lpDDHALData,
  389. #else
  390. LPGLOBALDATA lpDDHALData,
  391. #endif
  392. DWORD dwDrawBlt,
  393. DWORD dwDstCoord,
  394. DWORD dwBgColor,
  395. DWORD dwExtents,
  396. DWORD dwDstBaseXY,
  397. DWORD dwRectCnt,
  398. LPRECT pDestRects
  399. );
  400. extern void DIR_HWClippedDrvDstMBlt
  401. (
  402. #ifdef WINNT_VER40
  403. struct _PDEV *ppdev,
  404. struct _DRIVERDATA *lpDDHALData,
  405. #else
  406. LPGLOBALDATA lpDDHALData,
  407. #endif
  408. DWORD dwDrawBlt,
  409. DWORD dwDstCoord,
  410. DWORD dwBgColor,
  411. DWORD dwExtents,
  412. DWORD dwDstBaseXY,
  413. DWORD dwRectCnt,
  414. LPRECT pDestRects
  415. );
  416. extern void DIR_HWClippedDrvSrcBlt
  417. (
  418. #ifdef WINNT_VER40
  419. struct _PDEV *ppdev,
  420. struct _DRIVERDATA *lpDDHALData,
  421. #else
  422. LPGLOBALDATA lpDDHALData,
  423. #endif
  424. DWORD dwDrawBlt,
  425. DWORD dwDstCoord,
  426. DWORD dwSrcCoord,
  427. DWORD dwKeyCoord,
  428. DWORD dwKeyColor,
  429. DWORD dwExtents,
  430. DWORD dwDstBaseXY,
  431. DWORD dwSrcBaseXY,
  432. DWORD dwRectCnt,
  433. LPRECT pDestRects
  434. );
  435. extern void DIR_SWClippedDrvDstBlt
  436. (
  437. #ifdef WINNT_VER40
  438. struct _PDEV *ppdev,
  439. struct _DRIVERDATA *lpDDHALData,
  440. #else
  441. LPGLOBALDATA lpDDHALData,
  442. #endif
  443. DWORD dwDrawBlt,
  444. DWORD dwDstCoord,
  445. DWORD dwBgColor,
  446. DWORD dwExtents,
  447. DWORD dwDstBaseXY,
  448. DWORD dwRectCnt,
  449. LPRECT pDestRects
  450. );
  451. extern void DIR_SWClippedDrvDstMBlt
  452. (
  453. #ifdef WINNT_VER40
  454. struct _PDEV *ppdev,
  455. struct _DRIVERDATA *lpDDHALData,
  456. #else
  457. LPGLOBALDATA lpDDHALData,
  458. #endif
  459. DWORD dwDrawBlt,
  460. DWORD dwDstCoord,
  461. DWORD dwBgColor,
  462. DWORD dwExtents,
  463. DWORD dwDstBaseXY,
  464. DWORD dwRectCnt,
  465. LPRECT pDestRects
  466. );
  467. extern void DIR_SWClippedDrvSrcBlt
  468. (
  469. #ifdef WINNT_VER40
  470. struct _PDEV *ppdev,
  471. struct _DRIVERDATA *lpDDHALData,
  472. #else
  473. LPGLOBALDATA lpDDHALData,
  474. #endif
  475. DWORD dwDrawBlt,
  476. DWORD dwDstCoord,
  477. DWORD dwSrcCoord,
  478. DWORD dwKeyCoord,
  479. DWORD dwKeyColor,
  480. DWORD dwExtents,
  481. DWORD dwDstBaseXY,
  482. DWORD dwSrcBaseXY,
  483. DWORD dwRectCnt,
  484. LPRECT pDestRects
  485. );
  486. #endif
  487. // Display List Programming blts in blt_dl.c
  488. extern void DL_Delay9BitBlt
  489. (
  490. #ifdef WINNT_VER40
  491. struct _PDEV *ppdev,
  492. struct _DRIVERDATA *lpDDHALData,
  493. #else
  494. LPGLOBALDATA lpDDHALData,
  495. #endif
  496. BOOL ninebit_on
  497. );
  498. extern void DL_EdgeFillBlt
  499. (
  500. #ifdef WINNT_VER40
  501. struct _PDEV *ppdev,
  502. struct _DRIVERDATA *lpDDHALData,
  503. #else
  504. LPGLOBALDATA lpDDHALData,
  505. #endif
  506. int xFill,
  507. int yFill,
  508. int cxFill,
  509. int cyFill,
  510. DWORD FillValue,
  511. BOOL ninebit_on
  512. );
  513. extern void DL_MEdgeFillBlt
  514. (
  515. #ifdef WINNT_VER40
  516. struct _PDEV *ppdev,
  517. struct _DRIVERDATA *lpDDHALData,
  518. #else
  519. LPGLOBALDATA lpDDHALData,
  520. #endif
  521. int xFill,
  522. int yFill,
  523. int cxFill,
  524. int cyFill,
  525. DWORD FillValue,
  526. BOOL ninebit_on
  527. );
  528. extern void DL_DrvDstBlt
  529. (
  530. #ifdef WINNT_VER40
  531. struct _PDEV *ppdev,
  532. struct _DRIVERDATA *lpDDHALData,
  533. #else
  534. LPGLOBALDATA lpDDHALData,
  535. #endif
  536. DWORD dwDrawBlt,
  537. DWORD dwDstCoord,
  538. DWORD dwBgColor,
  539. DWORD dwExtents
  540. );
  541. extern void DL_DrvDstMBlt
  542. (
  543. #ifdef WINNT_VER40
  544. struct _PDEV *ppdev,
  545. struct _DRIVERDATA *lpDDHALData,
  546. #else
  547. LPGLOBALDATA lpDDHALData,
  548. #endif
  549. DWORD dwDrawBlt,
  550. DWORD dwDstCoord,
  551. DWORD dwBgColor,
  552. DWORD dwExtents
  553. );
  554. extern void DL_DrvSrcBlt
  555. (
  556. #ifdef WINNT_VER40
  557. struct _PDEV *ppdev,
  558. struct _DRIVERDATA *lpDDHALData,
  559. #else
  560. LPGLOBALDATA lpDDHALData,
  561. #endif
  562. DWORD dwDrawBlt,
  563. DWORD dwDstCoord,
  564. DWORD dwSrcCoord,
  565. DWORD dwKeyCoord,
  566. DWORD dwKeyColor,
  567. DWORD dwExtents
  568. );
  569. extern void DL_DrvSrcMBlt
  570. (
  571. #ifdef WINNT_VER40
  572. struct _PDEV *ppdev,
  573. struct _DRIVERDATA *lpDDHALData,
  574. #else
  575. LPGLOBALDATA lpDDHALData,
  576. #endif
  577. DWORD dwDrawBlt,
  578. DWORD dwDstCoord,
  579. DWORD dwSrcCoord,
  580. DWORD dwKeyCoord,
  581. DWORD dwKeyColor,
  582. DWORD dwExtents
  583. );
  584. extern void DL_DrvStrBlt
  585. (
  586. #ifdef WINNT_VER40
  587. struct _PDEV *ppdev,
  588. struct _DRIVERDATA *lpDDHALData,
  589. struct _autoblt_regs *pblt
  590. #else
  591. LPGLOBALDATA lpDDHALData,
  592. autoblt_ptr pblt
  593. #endif
  594. );
  595. extern void DL_DrvStrBlt65
  596. (
  597. #ifdef WINNT_VER40
  598. struct _PDEV *ppdev,
  599. struct _DRIVERDATA *lpDDHALData,
  600. struct _autoblt_regs *pblt
  601. #else
  602. LPGLOBALDATA lpDDHALData,
  603. autoblt_ptr pblt
  604. #endif
  605. );
  606. extern void DL_DrvStrMBlt
  607. (
  608. #ifdef WINNT_VER40
  609. struct _PDEV *ppdev,
  610. struct _DRIVERDATA *lpDDHALData,
  611. struct _autoblt_regs *pblt
  612. #else
  613. LPGLOBALDATA lpDDHALData,
  614. autoblt_ptr pblt
  615. #endif
  616. );
  617. extern void DL_DrvStrMBltY
  618. (
  619. #ifdef WINNT_VER40
  620. struct _PDEV *ppdev,
  621. struct _DRIVERDATA *lpDDHALData,
  622. struct _autoblt_regs *pblt
  623. #else
  624. LPGLOBALDATA lpDDHALData,
  625. autoblt_ptr pblt
  626. #endif
  627. );
  628. extern void DL_DrvStrMBltX
  629. (
  630. #ifdef WINNT_VER40
  631. struct _PDEV *ppdev,
  632. struct _DRIVERDATA *lpDDHALData,
  633. struct _autoblt_regs *pblt
  634. #else
  635. LPGLOBALDATA lpDDHALData,
  636. autoblt_ptr pblt
  637. #endif
  638. );
  639. extern void DL_DrvStrBltY
  640. (
  641. #ifdef WINNT_VER40
  642. struct _PDEV *ppdev,
  643. struct _DRIVERDATA *lpDDHALData,
  644. struct _autoblt_regs *pblt
  645. #else
  646. LPGLOBALDATA lpDDHALData,
  647. autoblt_ptr pblt
  648. #endif
  649. );
  650. extern void DL_DrvStrBltX
  651. (
  652. #ifdef WINNT_VER40
  653. struct _PDEV *ppdev,
  654. struct _DRIVERDATA *lpDDHALData,
  655. struct _autoblt_regs *pblt
  656. #else
  657. LPGLOBALDATA lpDDHALData,
  658. autoblt_ptr pblt
  659. #endif
  660. );
  661. #if ENABLE_CLIPPEDBLTS
  662. extern void DL_HWClippedDrvDstBlt
  663. (
  664. #ifdef WINNT_VER40
  665. struct _PDEV *ppdev,
  666. struct _DRIVERDATA *lpDDHALData,
  667. #else
  668. LPGLOBALDATA lpDDHALData,
  669. #endif
  670. DWORD dwDrawBlt,
  671. DWORD dwDstCoord,
  672. DWORD dwBgColor,
  673. DWORD dwExtents,
  674. DWORD dwDstBaseXY,
  675. DWORD dwRectCnt,
  676. LPRECT pDestRects
  677. );
  678. extern void DL_HWClippedDrvDstMBlt
  679. (
  680. #ifdef WINNT_VER40
  681. struct _PDEV *ppdev,
  682. struct _DRIVERDATA *lpDDHALData,
  683. #else
  684. LPGLOBALDATA lpDDHALData,
  685. #endif
  686. DWORD dwDrawBlt,
  687. DWORD dwDstCoord,
  688. DWORD dwBgColor,
  689. DWORD dwExtents,
  690. DWORD dwDstBaseXY,
  691. DWORD dwRectCnt,
  692. LPRECT pDestRects
  693. );
  694. extern void DL_HWClippedDrvSrcBlt
  695. (
  696. #ifdef WINNT_VER40
  697. struct _PDEV *ppdev,
  698. struct _DRIVERDATA *lpDDHALData,
  699. #else
  700. LPGLOBALDATA lpDDHALData,
  701. #endif
  702. DWORD dwDrawBlt,
  703. DWORD dwDstCoord,
  704. DWORD dwSrcCoord,
  705. DWORD dwKeyCoord,
  706. DWORD dwKeyColor,
  707. DWORD dwExtents,
  708. DWORD dwDstBaseXY,
  709. DWORD dwSrcBaseXY,
  710. DWORD dwRectCnt,
  711. LPRECT pDestRects
  712. );
  713. extern void DL_SWClippedDrvDstBlt
  714. (
  715. #ifdef WINNT_VER40
  716. struct _PDEV *ppdev,
  717. struct _DRIVERDATA *lpDDHALData,
  718. #else
  719. LPGLOBALDATA lpDDHALData,
  720. #endif
  721. DWORD dwDrawBlt,
  722. DWORD dwDstCoord,
  723. DWORD dwBgColor,
  724. DWORD dwExtents,
  725. DWORD dwDstBaseXY,
  726. DWORD dwRectCnt,
  727. LPRECT pDestRects
  728. );
  729. extern void DL_SWClippedDrvDstMBlt
  730. (
  731. #ifdef WINNT_VER40
  732. struct _PDEV *ppdev,
  733. struct _DRIVERDATA *lpDDHALData,
  734. #else
  735. LPGLOBALDATA lpDDHALData,
  736. #endif
  737. DWORD dwDrawBlt,
  738. DWORD dwDstCoord,
  739. DWORD dwBgColor,
  740. DWORD dwExtents,
  741. DWORD dwDstBaseXY,
  742. DWORD dwRectCnt,
  743. LPRECT pDestRects
  744. );
  745. extern void DL_SWClippedDrvSrcBlt
  746. (
  747. #ifdef WINNT_VER40
  748. struct _PDEV *ppdev,
  749. struct _DRIVERDATA *lpDDHALData,
  750. #else
  751. LPGLOBALDATA lpDDHALData,
  752. #endif
  753. DWORD dwDrawBlt,
  754. DWORD dwDstCoord,
  755. DWORD dwSrcCoord,
  756. DWORD dwKeyCoord,
  757. DWORD dwKeyColor,
  758. DWORD dwExtents,
  759. DWORD dwDstBaseXY,
  760. DWORD dwSrcBaseXY,
  761. DWORD dwRectCnt,
  762. LPRECT pDestRects
  763. );
  764. #endif
  765. #endif /* _BLTP_H_ */
  766. #endif // WINNT_VER35
  767. /* Don't write below this endif */