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.

85 lines
2.2 KiB

  1. /************************************************************/
  2. /* Windows Write, Copyright 1985-1992 Microsoft Corporation */
  3. /************************************************************/
  4. #define ichMaxLine 255
  5. #define cpMaxTl (ichMaxLine + cchInsBlock)
  6. #define ichpMacInitFormat 10 /* Initial mac of char runs in a line */
  7. #define dypBaselineMin 2
  8. #define wbWhite 0 /* Word break types */
  9. #define wbText 1
  10. #define wbPunct 2
  11. #define wbAny 3 /* used when searching with wildcards */
  12. #ifdef DBCS /* was in JAPAN, changed it to DBCS */
  13. /* brought from WIN2. */
  14. #define wbKanjiText 4
  15. #define wbKanjiTextFirst 5
  16. #endif /* DBCS */
  17. #define dxpTab 40
  18. /* Formatted line structure.
  19. Reorganized KJS, CS Sept 3
  20. Shuffled for word alignment bz, 6/11/85 */
  21. /* booleans in bytes to simplify machine code */
  22. struct FLI
  23. {
  24. typeCP cpMin;
  25. int ichCpMin;
  26. typeCP cpMac;
  27. int ichCpMac;
  28. int ichMac;
  29. int dcpDepend;
  30. unsigned fSplat : 8;
  31. /* First character in region where spaces have additional pixel */
  32. unsigned ichFirstWide : 8;
  33. /* ichMac, with trailing blanks excluded */
  34. int ichReal;
  35. int doc;
  36. int xpLeft;
  37. int xpRight;
  38. /* xpRight, with trailing blanks excluded */
  39. int xpReal;
  40. /* the right margin where insert will have to break the line */
  41. int xpMarg;
  42. unsigned fGraphics : 8;
  43. unsigned fAdjSpace : 8; /* Whether you adjust the spaces */
  44. unsigned dxpExtra;
  45. /* the interesting positions in order from top to bottom are:
  46. top: yp+dypLine
  47. top of ascenders: yp+dypAfter+dypFont
  48. base line: yp+dypBase
  49. bottom of descenders: yp+dypAfter
  50. bottom of line: yp
  51. distances between the points can be determined by algebraic subtraction.
  52. e.g. space before = yp+dypLine - (yp+dypAfter+dypFont)
  53. */
  54. int dypLine;
  55. int dypAfter;
  56. int dypFont;
  57. int dypBase;
  58. int fSplatNext; /* Splat on following line? */
  59. int ichLastTab;
  60. int flm;
  61. int rgdxp[ichMaxLine]; /* NOTE this differs from fce.rgdxp==CHAR! */
  62. CHAR rgch[ichMaxLine];
  63. };
  64. #define cwFLI (sizeof(struct FLI) / sizeof(int))
  65. #define cwFLIBase (cwFLI - ichMaxLine - (ichMaxLine / sizeof (int)))
  66. #define flmPrinting 1
  67. #define flmCharMode 2
  68. #define flmNoMSJ 4
  69. #define flmSandMode 8
  70.