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.

129 lines
3.6 KiB

  1. #ifndef TATENAKYOKO_DEFINED
  2. #define TATENAKYOKO_DEFINED
  3. #include "lsimeth.h"
  4. /*
  5. *
  6. * Tatenakayoko object callbacks to client application
  7. *
  8. */
  9. typedef struct TATENAKYOKOCBK
  10. {
  11. LSERR (WINAPI *pfnGetTatenakayokoLinePosition)(
  12. POLS pols,
  13. LSCP cp,
  14. LSTFLOW lstflow,
  15. PLSRUN plsrun,
  16. long dvr,
  17. PHEIGHTS pheightsRef,
  18. PHEIGHTS pheightsPres,
  19. long *pdvpDescentReservedForClient);
  20. /* GetTatenakayokoLinePosition
  21. * pols (IN): The client context for the request.
  22. *
  23. * cp (IN): the cp of the Tatenakayoko object.
  24. *
  25. * lstflow (IN): the lstflow of Tatenakayoko parent subline
  26. *
  27. * plsrun (IN): the plsrun of the Tatenakayoko object.
  28. *
  29. * dvr (IN): the total height of the tatenakayoko object with respect to
  30. * the current flow of the line in reference units.
  31. *
  32. * pheightsRef (OUT): specifies heights of Tatenakayoko object in reference
  33. * device units.
  34. *
  35. * pdvrDescentReservedForClient (OUT): specifies the part of the descent area
  36. * that the client is reserving for its own use (usually for the purpose
  37. * of underlining) in reference device units. The object will begin its
  38. * display area below the baseline at the difference between *pdvrDescent
  39. * and *pdvrDescentReservedForClient.
  40. *
  41. * pheightsPres (OUT): specifies heights of Tatenakayoko object in presenatation
  42. * device units.
  43. *
  44. * pdvpDescentReservedForClient (OUT): specifies the part of the descent area
  45. * that the client is reserving for its own use (usually for the purpose
  46. * of underlining) in presentation device units. The object will begin its
  47. * display area below the baseline at the difference between *pdvpDescent
  48. * and pheightsPres.dvDescent.
  49. *
  50. */
  51. LSERR (WINAPI* pfnTatenakayokoEnum)(
  52. POLS pols,
  53. PLSRUN plsrun,
  54. PCLSCHP plschp,
  55. LSCP cp,
  56. LSDCP dcp,
  57. LSTFLOW lstflow,
  58. BOOL fReverse,
  59. BOOL fGeometryNeeded,
  60. const POINT* pt,
  61. PCHEIGHTS pcheights,
  62. long dupRun,
  63. LSTFLOW lstflowT,
  64. PLSSUBL plssubl);
  65. /* TatenakayokoEnum
  66. *
  67. * pols (IN): client context.
  68. *
  69. * plsrun (IN): plsrun for the entire Tatenakayoko Object.
  70. *
  71. * plschp (IN): is lschp for lead character of Tatenakayoko Object.
  72. *
  73. * cp (IN): is cp of first character of Tatenakayoko Object.
  74. *
  75. * dcp (IN): is number of characters in Tatenakayoko Object
  76. *
  77. * lstflow (IN): is text flow at Tatenakayoko Object.
  78. *
  79. * fReverse (IN): is whether text should be reversed for visual order.
  80. *
  81. * fGeometryNeeded (IN): is whether Geometry should be returned.
  82. *
  83. * pt (IN): is starting position , iff fGeometryNeeded .
  84. *
  85. * pcheights (IN): is height of Tatenakayoko object, iff fGeometryNeeded.
  86. *
  87. * dupRun (IN): is length of Tatenakayoko Object, iff fGeometryNeeded.
  88. *
  89. * lstflowT (IN): is text flow for Tatenakayoko object.
  90. *
  91. * plssubl (IN): is subline for Tatenakayoko object.
  92. */
  93. } TATENAKAYOKOCBK;
  94. /*
  95. *
  96. * Tatenakayoko object initialization data that the client application must return
  97. * when the Tatenakayoko object handler calls the GetObjectHandlerInfo callback.
  98. */
  99. #define TATENAKAYOKO_VERSION 0x300
  100. typedef struct TATENAKAYOKOINIT
  101. {
  102. DWORD dwVersion; /* Version. Only TATENAKAYOKO_VERSION is valid. */
  103. WCHAR wchEndTatenakayoko; /* Character marking end of Tatenakayoko object */
  104. WCHAR wchUnused1; /* For alignment */
  105. WCHAR wchUnused2; /* For alignment */
  106. WCHAR wchUnused3; /* For alignment */
  107. TATENAKAYOKOCBK tatenakayokocbk; /* Client application callbacks */
  108. } TATENAKAYOKOINIT, *PTATENAKAYOKOINIT;
  109. LSERR WINAPI LsGetTatenakayokoLsimethods(
  110. LSIMETHODS *plsim);
  111. /* GetTatenakayokoLsimethods
  112. *
  113. * plsim (OUT): Tatenakayoko object methods for Line Services
  114. *
  115. */
  116. #endif /* TATENAKYOKO_DEFINED */