#ifndef LSTXTBRS_DEFINED #define LSTXTBRS_DEFINED #include "lsidefs.h" #include "pdobj.h" #include "plocchnk.h" #include "pobjdim.h" #include "lstflow.h" #include "lschnke.h" #include "txtils.h" #include "txtobj.h" typedef struct hyphout { long durHyphen; long dupHyphen; long durPrev; long dupPrev; long durPrevPrev; long dupPrevPrev; long ddurDnodePrev; long ddurDnodePrevPrev; long durChangeTotal; long iwchLim; long dwchYsr; WCHAR wchPrev; WCHAR wchPrevPrev; long igindHyphen; long igindPrev; long igindPrevPrev; GINDEX gindHyphen; GINDEX gindPrev; GINDEX gindPrevPrev; } HYPHOUT; typedef struct ysrinf { WORD kysr; /* Kind of Ysr - see "lskysr.h" */ WCHAR wchYsr; /* YSR char code */ } YSRINF; #define FCanBreak(pilsobj,b1, b2) \ ((pilsobj)->plsbrk[(pilsobj)->pilsbrk[(pilsobj)->cBreakingClasses * (b1) + (b2)]].fBreak) #define FCanBreakAcrossSpaces(pilsobj, b1, b2) \ ((pilsobj)->plsbrk[(pilsobj)->pilsbrk[pilsobj->cBreakingClasses * (b1) + (b2)]].fBreakAcrossSpaces) BOOL FindNonSpaceBefore(PCLSCHNK rglschnk, long itxtobjCur, long iwchCur, long* pitxtobjBefore, long* piwchBefore); BOOL FindNonSpaceAfter(PCLSCHNK rglschnk, DWORD clschnk, long itxtobjCur, long iwchCur, long* pitxtobjAfter, long* piwchAfter); BOOL FindPrevChar(PCLSCHNK rglschnk, long itxtobjCur, long iwchCur, long* pitxtobjBefore, long* piwchBefore); BOOL FindNextChar(PCLSCHNK rglschnk, DWORD clschnk, long itxtobjSpace, long iwchSpace, long* pitxtobjAfter, long* piwchAfter); LSERR CalcPartWidths(PTXTOBJ ptxtobj, long dwchLim, POBJDIM pobjdim, long* pdur); LSERR CalcPartWidthsGlyphs(PTXTOBJ ptxtobj, long dwchLim, POBJDIM pobjdim, long* pdur); LSERR CheckHotZone(PCLOCCHNK plocchnk, long itxtobj, long iwch, BOOL* pfInHyphenZone); LSERR ProcessYsr(PCLOCCHNK plocchnk, long itxtobjYsr, long dwchYsr, long itxtobjPrev, long itxtobjPrevPrev, YSRINF ysrinf, BOOL* pfSuccess, HYPHOUT* phyphout); LSERR GetPbrkinf(PILSOBJ pilsobj, PDOBJ pdobj, BRKKIND brkkind, BREAKINFO** ppbrkinf); #endif /* !LSTXTBRS_DEFINED */