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.

48 lines
1.8 KiB

  1. #ifndef TABUTILS_DEFINED
  2. #define TABUTILS_DEFINED
  3. #include "lsdefs.h"
  4. #include "plstbcon.h"
  5. #include "plsdnode.h"
  6. #include "lsktab.h"
  7. #include "plssubl.h"
  8. #define SetCpInPara(lstabscontext, cp) \
  9. lstabscontext.cpInPara = (cp);
  10. #define InitLineTabsContext(lstabscontext, ColumnMax, cp, ResolveTabsAsWord97) \
  11. lstabscontext.fTabsInitialized = fFalse;\
  12. lstabscontext.urColumnMax = (ColumnMax);\
  13. lstabscontext.plsdnPendingTab = NULL;\
  14. lstabscontext.fResolveTabsAsWord97 = (ResolveTabsAsWord97);\
  15. SetCpInPara(lstabscontext, cp);
  16. #define CancelPendingTab(plstabscontext) ((plstabscontext)->plsdnPendingTab = NULL)
  17. LSERR GetCurTabInfoCore(
  18. PLSTABSCONTEXT plstabscontext, /* IN: Pointer to LS tabs context */
  19. PLSDNODE plsdnTab, /* IN: plsdnTab */
  20. long urBeforeTab, /* IN: position before this tab */
  21. BOOL fResolveAllTabsAsLeft, /* IN: switch all other tab to left */
  22. LSKTAB* plsktab, /* OUT: Type of current tab */
  23. BOOL* pfBreakThroughTab); /* OUT: fBreakThroughTab */
  24. LSERR ResolvePrevTabCore(
  25. PLSTABSCONTEXT plstabscontext, /* IN: Pointer to LS tabs context */
  26. PLSDNODE plsdnCurrent, /* IN: current dnode */
  27. long urCurrentPen, /* IN: Current pen position */
  28. long* pdurPendingTab); /* OUT: offset because of pending tab */
  29. LSERR InitTabsContextForAutoDecimalTab(PLSTABSCONTEXT plstabscontext, /* IN: Pointer to LS tabs context */
  30. long durAutoDecimalTab); /* IN: durAutoDecimalTab */
  31. LSERR GetMarginAfterBreakThroughTab(PLSTABSCONTEXT plstabscontext, /* IN: pointer to LS tabs context */
  32. PLSDNODE plsdnTab, /* IN: tab which triggered breakthrough tab */
  33. long* purNewMargin); /* OUT: new margin because of breakthrough tab */
  34. #endif /* TABUTILS_DEFINED */