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.

203 lines
5.8 KiB

  1. #ifndef AUTONUM_DEFINED
  2. #define AUTONUM_DEFINED
  3. #include "lsdefs.h"
  4. #include "plscbk.h"
  5. #include "plsrun.h"
  6. #include "pilsobj.h"
  7. #include "plnobj.h"
  8. #include "pdobj.h"
  9. #include "pfmti.h"
  10. #include "pbrko.h"
  11. #include "pobjdim.h"
  12. #include "pdispi.h"
  13. #include "plsdocin.h"
  14. #include "pposichn.h"
  15. #include "plocchnk.h"
  16. #include "plsfgi.h"
  17. #include "pheights.h"
  18. #include "plsqin.h"
  19. #include "plsqout.h"
  20. #include "plssubl.h"
  21. #include "breakrec.h"
  22. #include "brkcond.h"
  23. #include "fmtres.h"
  24. #include "mwcls.h"
  25. #include "lstxtcfg.h"
  26. #include "lskalign.h"
  27. #include "lskjust.h"
  28. #include "plsdnode.h"
  29. #include "plstbcon.h"
  30. #include "plschp.h"
  31. #include "lstflow.h"
  32. #include "brkkind.h"
  33. LSERR WINAPI AutonumCreateILSObj(POLS, PLSC, PCLSCBK, DWORD, PILSOBJ*);
  34. /* CreateILSObj
  35. * pols (IN):
  36. * plsc (IN): LS context
  37. * plscbk (IN): callbacks
  38. * idObj (IN): id of the object
  39. * &pilsobj (OUT): object ilsobj
  40. */
  41. LSERR SetAutonumConfig(PILSOBJ , const LSTXTCFG*);
  42. /* SetAutonumConfig
  43. * pilsobj (IN): object ilsobj
  44. * plstxtconfig (IN): definition of special characters
  45. */
  46. LSERR WINAPI AutonumDestroyILSObj(PILSOBJ);
  47. /* DestroyILSObj
  48. * pilsobj (IN): object ilsobj
  49. */
  50. LSERR WINAPI AutonumSetDoc(PILSOBJ, PCLSDOCINF);
  51. /* SetDoc
  52. * pilsobj (IN): object ilsobj
  53. * lsdocinf (IN): initialization data at document level
  54. */
  55. LSERR WINAPI AutonumCreateLNObj(PCILSOBJ, PLNOBJ*);
  56. /* CreateLNObj
  57. * pilsobj (IN): object ilsobj
  58. * &plnobj (OUT): object lnobj
  59. */
  60. LSERR WINAPI AutonumDestroyLNObj(PLNOBJ);
  61. /* DestroyLNObj
  62. * plnobj (OUT): object lnobj
  63. */
  64. LSERR WINAPI AutonumFmt(PLNOBJ, PCFMTIN, FMTRES*);
  65. /* Fmt
  66. * plnobj (IN): object lnobj
  67. * pfmtin (IN): formatting input
  68. * &fmtres (OUT): formatting result
  69. */
  70. LSERR WINAPI AutonumTruncateChunk(PCLOCCHNK, PPOSICHNK);
  71. /* Truncate
  72. * plocchnk (IN): locchnk to truncate
  73. * posichnk (OUT): truncation point
  74. */
  75. LSERR WINAPI AutonumFindPrevBreakChunk(PCLOCCHNK, PCPOSICHNK, BRKCOND, PBRKOUT);
  76. /* FindPrevBreakChunk
  77. * plocchnk (IN): locchnk to break
  78. * pposichnk (IN): place to start looking for break
  79. * brkcond (IN): recommmendation about the break after chunk
  80. * &brkout (OUT): results of breaking
  81. */
  82. LSERR WINAPI AutonumFindNextBreakChunk(PCLOCCHNK, PCPOSICHNK, BRKCOND, PBRKOUT);
  83. /* FindNextBreakChunk
  84. * plocchnk (IN): locchnk to break
  85. * pposichnk (IN): place to start looking for break
  86. * brkcond (IN): recommmendation about the break before chunk
  87. * &brkout (OUT): results of breaking
  88. */
  89. LSERR WINAPI AutonumForceBreakChunk(PCLOCCHNK, PCPOSICHNK, PBRKOUT);
  90. /* ForceBreakChunk
  91. * plocchnk (IN): locchnk to break
  92. * pposichnk (IN): place to start looking for break
  93. * &brkout (OUT): results of breaking
  94. */
  95. LSERR WINAPI AutonumSetBreak(PDOBJ, BRKKIND, DWORD, BREAKREC*, DWORD*);
  96. /* SetBreak
  97. * pdobj (IN): dobj which is broken
  98. * brkkind (IN): Previous/Next/Force/Imposed was chosen
  99. * rgBreakRecord (IN): array of break records
  100. * nBreakRecord (IN): size of array
  101. * nActualBreakRecord (IN): actual number of used elements in array
  102. */
  103. LSERR WINAPI AutonumGetSpecialEffectsInside(PDOBJ, UINT*);
  104. /* GetSpecialEffects
  105. * pdobj (IN): dobj
  106. * &EffectsFlags (OUT): Special effects inside of this object
  107. */
  108. LSERR WINAPI AutonumCalcPresentation(PDOBJ, long, LSKJUST, BOOL);
  109. /* CalcPresentation
  110. * pdobj (IN): dobj
  111. * dup (IN): dup of dobj
  112. * lskj (IN) current justification mode
  113. * fLastOnLine (IN) this boolean is ignored by autonumbering object
  114. */
  115. LSERR WINAPI AutonumQueryPointPcp(PDOBJ, PCPOINTUV, PCLSQIN, PLSQOUT);
  116. /* QueryPointPcp
  117. * pdobj (IN): dobj to query
  118. * ppointuvQuery (IN): query point (uQuery,vQuery)
  119. * plsqin (IN): query input
  120. * plsqout (OUT): query output
  121. */
  122. LSERR WINAPI AutonumQueryCpPpoint(PDOBJ, LSDCP, PCLSQIN, PLSQOUT);
  123. /* QueryCpPpoint
  124. * pdobj (IN): dobj to query
  125. * dcp (IN): dcp for the query
  126. * plsqin (IN): query input
  127. * plsqout (OUT): query output
  128. */
  129. LSERR WINAPI AutonumEnumerate(PDOBJ, PLSRUN, PCLSCHP, LSCP, LSDCP, LSTFLOW, BOOL,
  130. BOOL, const POINT*, PCHEIGHTS, long);
  131. /* Enum object
  132. * pdobj (IN): dobj to enumerate
  133. * plsrun (IN): from DNODE
  134. * plschp (IN): from DNODE
  135. * cpFirst (IN): from DNODE
  136. * dcp (IN): from DNODE
  137. * lstflow (IN): text flow
  138. * fReverseOrder (IN): enumerate in reverse order
  139. * fGeometryNeeded (IN):
  140. * pptStart (IN): starting position (top left), iff fGeometryNeeded
  141. * pheightsPres(IN): from DNODE, relevant iff fGeometryNeeded
  142. * dupRun(IN): from DNODE, relevant iff fGeometryNeeded
  143. */
  144. LSERR WINAPI AutonumDisplay(PDOBJ, PCDISPIN);
  145. /* Display
  146. * pdobj (IN): dobj to display
  147. * pdispin (IN): input display info
  148. */
  149. LSERR WINAPI AutonumDestroyDobj(PDOBJ);
  150. /* DestroyDObj
  151. * pdobj (IN): dobj to destroy
  152. */
  153. void AllignAutonum95(long, long, LSKALIGN, long, PLSDNODE, long*, long*);
  154. /*
  155. * AllignAutotonum95
  156. * durSpaceAnm (IN) : space after autonumber
  157. * durWidthAnm (IN) : distance from indent to main text
  158. * lskalign (IN) : allignment for autonumber
  159. * durUsed (IN) : width of autonumbering text
  160. * plsdnAnmAfter( IN) : tab dnode to put durAfter
  161. * pdurBefore (OUT) : calculated distance from indent to autonumber
  162. * pdurAfter (OUT) : calculated distance from autonumber to main text
  163. */
  164. LSERR AllignAutonum(PLSTABSCONTEXT, LSKALIGN, BOOL, PLSDNODE , long, long, long*, long*);
  165. /*
  166. * AllignAutonum95
  167. * plstabscontext (IN) : tabs context
  168. * lskalign (IN) : allignment for autonumber
  169. * fAllignmentAfter (IN) : is there tab after autonumber
  170. * plsdnAnmAfter ( IN) : tab dnode to put durAfter
  171. * urAfterAnm (IN) : pen position after autonumber
  172. * durUsed (IN) : width of autonumbering text
  173. * pdurBefore (OUT) : calculated distance from indent to autonumber
  174. * pdurAfter (OUT) : calculated distance from autonumber to main text
  175. */
  176. #endif /* AUTONUM_DEFINED */