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.

139 lines
5.0 KiB

  1. #ifndef LSCRSUBL_DEFINED
  2. #define LSCRSUBL_DEFINED
  3. /* Line services formatter fetch/dispatcher interface (to LsCreateLine())
  4. */
  5. #include "lsdefs.h"
  6. #include "lsfrun.h"
  7. #include "lsesc.h"
  8. #include "plssubl.h"
  9. #include "plsdnode.h"
  10. #include "fmtres.h"
  11. #include "objdim.h"
  12. #include "lstflow.h"
  13. #include "lskjust.h"
  14. #include "breakrec.h"
  15. #include "brkkind.h"
  16. #include "brkpos.h"
  17. LSERR WINAPI LsCreateSubline(
  18. PLSC, /* IN: LS context */
  19. LSCP, /* IN: cpFirst */
  20. long, /* IN: urColumnMax */
  21. LSTFLOW, /* IN: text flow */
  22. BOOL); /* IN: fContiguous */
  23. LSERR WINAPI LsFetchAppendToCurrentSubline(
  24. PLSC, /* IN: LS context */
  25. LSDCP, /* IN:Increase cp before fetching */
  26. const LSESC*, /* IN: escape characters */
  27. DWORD, /* IN: # of escape characters */
  28. BOOL*, /* OUT: Successful?---if not, finish
  29. subline, destroy it and start anew */
  30. FMTRES*, /* OUT: result of last formatter */
  31. LSCP*, /* OUT: cpLim */
  32. PLSDNODE*, /* OUT: First DNODE created */
  33. PLSDNODE*); /* OUT: Last DNODE created */
  34. LSERR WINAPI LsFetchAppendToCurrentSublineResume(
  35. PLSC, /* IN: LS context */
  36. const BREAKREC*,/* IN: array of break records */
  37. DWORD, /* IN: number of records in array */
  38. LSDCP, /* IN:Increase cp before fetching */
  39. const LSESC*, /* IN: escape characters */
  40. DWORD, /* IN: # of escape characters */
  41. BOOL*, /* OUT: Successful?---if not, finish
  42. subline, destroy it and start anew */
  43. FMTRES*, /* OUT: result of last formatter */
  44. LSCP*, /* OUT: cpLim */
  45. PLSDNODE*, /* OUT: First DNODE created */
  46. PLSDNODE*); /* OUT: Last DNODE created */
  47. LSERR WINAPI LsAppendRunToCurrentSubline( /* Simple runs only */
  48. PLSC, /* IN: LS context */
  49. const LSFRUN*, /* IN: given run */
  50. BOOL*, /* OUT: Successful?---if not, finish
  51. subline, destroy it and start anew */
  52. FMTRES*, /* OUT: result of last formatter */
  53. LSCP*, /* OUT: cpLim */
  54. PLSDNODE*); /* OUT: DNODE created */
  55. LSERR WINAPI LsResetRMInCurrentSubline(
  56. PLSC, /* IN: LS context */
  57. long); /* IN: urColumnMax */
  58. LSERR WINAPI LsFinishCurrentSubline(
  59. PLSC, /* IN: LS context */
  60. PLSSUBL*); /* OUT: subline context */
  61. LSERR WINAPI LsTruncateSubline(
  62. PLSSUBL, /* IN: subline context */
  63. long, /* IN: urColumnMax */
  64. LSCP*); /* OUT: cpTruncate */
  65. LSERR WINAPI LsFindPrevBreakSubline(
  66. PLSSUBL, /* IN: subline context */
  67. BOOL, /* IN: fFirstSubline */
  68. LSCP, /* IN: truncation cp */
  69. long, /* IN: urColumnMax */
  70. BOOL*, /* OUT: fSuccessful? */
  71. LSCP*, /* OUT: cpBreak */
  72. POBJDIM, /* OUT: objdimSub up to break */
  73. BRKPOS*); /* OUT: Before/Inside/After */
  74. LSERR WINAPI LsFindNextBreakSubline(
  75. PLSSUBL, /* IN: subline context */
  76. BOOL, /* IN: fFirstSubline */
  77. LSCP, /* IN: truncation cp */
  78. long, /* IN: urColumnMax */
  79. BOOL*, /* OUT: fSuccessful? */
  80. LSCP*, /* OUT: cpBreak */
  81. POBJDIM, /* OUT: objdimSub up to break */
  82. BRKPOS*); /* OUT: Before/Inside/After */
  83. LSERR WINAPI LsForceBreakSubline(
  84. PLSSUBL, /* IN: subline context */
  85. BOOL, /* IN: fFirstSubline */
  86. LSCP, /* IN: truncation cp */
  87. long, /* IN: urColumnMax */
  88. LSCP*, /* OUT: cpBreak */
  89. POBJDIM, /* OUT: objdimSub up to break */
  90. BRKPOS*); /* OUT: Before/Inside/After */
  91. LSERR WINAPI LsSetBreakSubline(
  92. PLSSUBL, /* IN: subline context */
  93. BRKKIND, /* IN: Prev/Next/Force/Imposed */
  94. DWORD, /* IN: size of array */
  95. BREAKREC*, /* OUT: array of break records */
  96. DWORD*); /* OUT: number of used elements of the array*/
  97. LSERR WINAPI LsDestroySubline(PLSSUBL);
  98. LSERR WINAPI LsMatchPresSubline(
  99. PLSSUBL); /* IN: subline context */
  100. LSERR WINAPI LsExpandSubline(
  101. PLSSUBL, /* IN: subline context */
  102. LSKJUST, /* IN: justification type */
  103. long); /* IN: dup */
  104. LSERR WINAPI LsCompressSubline(
  105. PLSSUBL, /* IN: subline context */
  106. LSKJUST, /* IN: justification type */
  107. long); /* IN: dup */
  108. LSERR WINAPI LsSqueezeSubline(
  109. PLSSUBL, /* IN: subline context */
  110. long, /* IN: durTarget */
  111. BOOL*, /* OUT: fSuccessful? */
  112. long*); /* OUT: if nof successful,
  113. extra dur */
  114. LSERR WINAPI LsGetSpecialEffectsSubline(
  115. PLSSUBL, /* IN: subline context */
  116. UINT*); /* OUT: special effects */
  117. #endif /* !LSCRSUBL_DEFINED */