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.

59 lines
1.5 KiB

  1. /******************************Module*Header*******************************\
  2. * Module Name: TextOut.c
  3. *
  4. * Text
  5. *
  6. * Copyright (c) 1992 Microsoft Corporation
  7. *
  8. \**************************************************************************/
  9. #include "driver.h"
  10. /****************************************************************************
  11. * DrvTextOut
  12. ***************************************************************************/
  13. BOOL DrvTextOut(
  14. SURFOBJ* pso,
  15. STROBJ* pstro,
  16. FONTOBJ* pfo,
  17. CLIPOBJ* pco,
  18. RECTL* prclExtra,
  19. RECTL* prclOpaque,
  20. BRUSHOBJ* pboFore,
  21. BRUSHOBJ* pboOpaque,
  22. POINTL* pptlOrg,
  23. MIX mix)
  24. {
  25. BOOL b;
  26. PPDEV ppdev;
  27. ppdev = (PPDEV) pso->dhpdev;
  28. pso = ppdev->pSurfObj;
  29. // It may be that the opaquing rectangle is larger than the text rectangle,
  30. // so we'll want to use that to tell the bank manager which banks to
  31. // enumerate:
  32. pco = pcoBankStart(ppdev,
  33. (prclOpaque != NULL) ? prclOpaque : &pstro->rclBkGround,
  34. pso,
  35. pco);
  36. do {
  37. b = EngTextOut(pso,
  38. pstro,
  39. pfo,
  40. pco,
  41. prclExtra,
  42. prclOpaque,
  43. pboFore,
  44. pboOpaque,
  45. pptlOrg,
  46. mix);
  47. } while (b && bBankEnum(ppdev, pso, pco));
  48. return(b);
  49. }
  50.