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.

50 lines
1.4 KiB

  1. #ifndef LSTFLOW_DEFINED
  2. #define LSTFLOW_DEFINED
  3. #include "lsdefs.h"
  4. typedef DWORD LSTFLOW;
  5. #define lstflowDefault 0
  6. #define lstflowES 0
  7. #define lstflowEN 1
  8. #define lstflowSE 2
  9. #define lstflowSW 3
  10. #define lstflowWS 4
  11. #define lstflowWN 5
  12. #define lstflowNE 6
  13. #define lstflowNW 7
  14. /*
  15. * The eight possible text flows are listed clockwise starting with default (Latin) one.
  16. *
  17. * lstflowES is the coordinate system used when line grows to East and text grows to South.
  18. * (Next letter is to the right (east) of previous, next line is created below (south) the previous.)
  19. *
  20. * For lstflowES positive u moves to the right, positive v moves up. (V axis is always in the direction
  21. * of ascender, opposite to text growing direction.
  22. *
  23. * Notice it is not the way axes are pointing in the default Windows mapping mode MM_TEXT.
  24. * In MM_TEXT vertical (y) axis increase from top to bottom,
  25. * in lstflowES vertical (v) axis increase from bottom to top.
  26. */
  27. #define fUDirection 0x00000004L
  28. #define fVDirection 0x00000001L
  29. #define fUVertical 0x00000002L
  30. /*
  31. * The three bits that constitute lstflow happens to have well defined meanings.
  32. *
  33. * Middle bit: on for vertical writing, off for horizontal.
  34. * First (low value) bit: "on" means v-axis points right or down (positive).
  35. * Third bit: "off" means u-axis points right or down (positive).
  36. *
  37. * See examples of usage in lstfset.c
  38. *
  39. */
  40. #endif /* !LSTFLOW_DEFINED */