|
|
#ifndef SETFMTST_DEFINED
#define SETFMTST_DEFINED
#include "zqfromza.h"
#include "lsdefs.h"
/* M A X */ /*----------------------------------------------------------------------------
%%Macro: Max %%Contact: igorzv
Returns the maximum of two values a and b. ----------------------------------------------------------------------------*/ #define Max(a,b) ((a) < (b) ? (b) : (a))
#define SetDnodeToFinish(plsc, plsdn) ((plsc)->lslistcontext.plsdnToFinish = plsdn)
#define SetCurrentSubline(plsc, plssubl) ((plsc)->lslistcontext.plssublCurrent = plssubl)
#define AdvanceCurrentCpLimSubl(plssubl, dcp) ((plssubl)->cpLim += dcp)
#define AdvanceCurrentCpLim(plsc, dcp) AdvanceCurrentCpLimSubl(GetCurrentSubline(plsc), dcp)
#define SetCurrentCpLimSubl(plssubl, cp) ((plssubl)->cpLim = cp)
#define SetCurrentCpLim(plsc, cp) SetCurrentCpLimSubl(GetCurrentSubline(plsc), cp)
#define SetCurrentUrSubl(plssubl, ur) ((plssubl)->urCur = ur)
#define SetCurrentUr(plsc, ur) SetCurrentUrSubl(GetCurrentSubline(plsc), ur)
#define SetCurrentVrSubl(plssubl, vr) ((plssubl)->vrCur = vr)
#define SetCurrentVr(plsc, vr) SetCurrentVrSubl(GetCurrentSubline(plsc), vr)
#define AdvanceCurrentUrSubl(plssubl, dur) if ((plssubl)->urCur >= uLsInfiniteRM - dur) \
return lserrTooLongParagraph; \ ((plssubl)->urCur += dur); #define AdvanceCurrentUr(plsc, dur) AdvanceCurrentUrSubl(GetCurrentSubline(plsc), dur)
#define AdvanceCurrentVrSubl(plssubl, dvr) if ((plssubl)->vrCur >= uLsInfiniteRM - dvr) \
return lserrTooLongParagraph; \ ((plssubl)->vrCur += dvr);
#define AdvanceCurrentVr(plsc, dvr) AdvanceCurrentVrSubl(GetCurrentSubline(plsc), dvr)
#define SetCurrentDnodeSubl(plssubl, plsdn) ((plssubl)->plsdnLast = (plsdn)); \
if ((plsdn) == NULL) ((plssubl)->plsdnFirst = NULL); #define SetCurrentDnode(plsc, plsdn) SetCurrentDnodeSubl(GetCurrentSubline(plsc), plsdn)
#define SetBreakthroughLine(plsc, urRightMargin) \
(plsc)->plslineCur->lslinfo.fTabInMarginExLine = fTrue; \ (plsc)->lsadjustcontext.urRightMarginJustify = \ (plsc)->urRightMarginBreak == 0 ? \ (plsc)->lsadjustcontext.urRightMarginJustify + (urRightMargin) \ : \ ((plsc)->lsadjustcontext.urRightMarginJustify / \ (plsc)->urRightMarginBreak )\ * (urRightMargin); \ (plsc)->urRightMarginBreak = (urRightMargin); \ (plsc)->plslineCur->lssubl.urColumnMax = (urRightMargin); \
#define IncreaseFormatDepth(plsc) ((plsc)->lslistcontext.nDepthFormatLineCurrent++, \
(plsc)->plslineCur->lslinfo.nDepthFormatLineMax = \ Max((plsc)->lslistcontext.nDepthFormatLineCurrent, \ (plsc)->plslineCur->lslinfo.nDepthFormatLineMax))
#define DecreaseFormatDepth(plsc) ((plsc)->lslistcontext.nDepthFormatLineCurrent--)
#define SetCpLimDisplaySubl(plssubl, cp) ((plssubl)->cpLimDisplay = cp)
#define SetCpLimDisplay(plsc, cp) SetCpLimDisplaySubl(GetCurrentSubline(plsc), cp)
#define SetLastDnodeDisplaySubl(plssubl, plsdn) ((plssubl)->plsdnLastDisplay = plsdn)
#define SetLastDnodeDisplay(plsc, plsdn) SetLastDnodeDisplaySubl(GetCurrentSubline(plsc), plsdn)
#endif /* SETFMTST_DEFINED */
|