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.

112 lines
2.9 KiB

  1. #ifndef LSSTRING_DEFINED
  2. #define LSSTRING_DEFINED
  3. #include "lsidefs.h"
  4. #include "pilsobj.h"
  5. #include "plnobj.h"
  6. #include "plsrun.h"
  7. #include "lstflow.h"
  8. #include "txtobj.h"
  9. LSERR GetWidths(PLNOBJ, PLSRUN, long, LPWSTR, LSCP, long, long, LSTFLOW, long*, long*);
  10. /*
  11. PLNOBJ (IN) - pointer to lnobj
  12. PLSRUN (IN) - plsrun
  13. long (IN) - first index in dur array to use
  14. LPWSTR (IN) - array of characters
  15. LSCP (IN) - cpFirst
  16. long(IN) - number of characters
  17. long (IN) - width until right margin
  18. LSTFLOW (IN) - text flow
  19. long* (OUT) - number of characters for which width has been fetched
  20. long* (OUT) - total width of these characters
  21. */
  22. LSERR FormatString(PLNOBJ, PTXTOBJ, WCHAR*, long, long*, long, long);
  23. /* function is called to format a Local Run
  24. PLNOBJ (IN) - pointer to lnobj
  25. PTXTOBJ (IN) - pointer to dobj
  26. WCHAR* (IN) - pointer to the character array
  27. long (IN) - number of characters
  28. long* (IN) - pointer to the spaces array
  29. long (IN) - number of spaces
  30. long (IN) - width of all chars
  31. */
  32. LSERR FillRegularPresWidths(PLNOBJ, PLSRUN, LSTFLOW, PTXTOBJ);
  33. /*
  34. PLNOBJ (IN) - pointer to lnobj
  35. PLSRUN (IN) - plsrun
  36. LSTFLOW (IN) - lstflow
  37. PTXTOBJ (IN) - pointer to dobj
  38. */
  39. LSERR GetOneCharDur(PILSOBJ, PLSRUN, WCHAR, LSTFLOW, long*);
  40. /*
  41. PILSOBJ (IN) - pointer to the ilsobj
  42. PLSRUN (IN) - plsrun
  43. WCHAR (IN) - character code
  44. LSTFLOW (IN) - text flow
  45. long* (OUT) - presentation width of the character
  46. */
  47. LSERR GetOneCharDup(PILSOBJ, PLSRUN, WCHAR, LSTFLOW, long, long*);
  48. /*
  49. PILSOBJ (IN) - pointer to the ilsobj
  50. PLSRUN (IN) - plsrun
  51. WCHAR (IN) - character code
  52. LSTFLOW (IN) - text flow
  53. long (IN) - reference width of the character
  54. long* (OUT) - presentation width of the character
  55. */
  56. LSERR GetVisiCharDup(PILSOBJ, PLSRUN, WCHAR, LSTFLOW, long*);
  57. /*
  58. PILSOBJ (IN) - pointer to the ilsobj
  59. PLSRUN (IN) - plsrun
  60. WCHAR (IN) - visi character code
  61. LSTFLOW (IN) - text flow
  62. long* (OUT) - presentation width of the character
  63. */
  64. LSERR AddCharacterWithWidth(PLNOBJ, PTXTOBJ, WCHAR, long, WCHAR, long);
  65. /* adds character with specified width in the display list
  66. PLNOBJ (IN) - pointer to lnobj
  67. PTXTOBJ (IN) - pointer to dobj
  68. WCHAR (IN) - character for rgwchOrig
  69. long (IN) - width in reference units
  70. WCHAR (IN) - character for rgwch
  71. long (IN) - width in preview units
  72. */
  73. void FixSpaces(PLNOBJ, PTXTOBJ, WCHAR);
  74. /*
  75. PLNOBJ (IN) - pointer to lnobj
  76. PTXTOBJ (IN) - pointer to dobj
  77. WCHAR (IN) - VisiSpace code
  78. */
  79. LSERR AddSpaces(PLNOBJ, PTXTOBJ, long, long);
  80. /*
  81. PLNOBJ (IN) - pointer to the lnobj
  82. PTXTOBJ (IN) - poiter to dobj
  83. long (IN) - reference width of space;
  84. long (IN) - number of trailing spaces to be added
  85. */
  86. void FlushStringState(PILSOBJ);
  87. /*
  88. PILSOBJ (IN) - pointer to the ilsobj
  89. */
  90. LSERR IncreaseWchMacBy2(PLNOBJ);
  91. /*
  92. PLNOBJ (IN) - pointer to the lnobj
  93. */
  94. #endif /* !LSSTRING_DEFINED */