windows-nt/Source/XPSP1/NT/windows/richedit/lssrc/lssubset.c

213 lines
6.6 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/* LSSUBSET.C */
#include "lssubset.h"
#include "lsidefs.h"
#include "lssubl.h"
#include "sublutil.h"
/* L S S B G E T O B J D I M S U B L I N E*/
/*----------------------------------------------------------------------------
%%Function: LssbGetObjDimSubline
%%Contact: igorzv
Parameters:
plssubl - (IN) ptr to subline context
plstflow - (OUT) subline's lstflow
pobjdim - (OUT) dimensions of subline
----------------------------------------------------------------------------*/
LSERR WINAPI LssbGetObjDimSubline(PLSSUBL plssubl, LSTFLOW* plstflow, POBJDIM pobjdim)
{
if (!FIsLSSUBL(plssubl)) return lserrInvalidParameter;
if (plstflow == NULL) return lserrInvalidParameter;
if (pobjdim == NULL) return lserrInvalidParameter;
*plstflow = plssubl->lstflow;
return GetObjDimSublineCore(plssubl, pobjdim);
}
/* L S S B G E T D U P S U B L I N E*/
/*----------------------------------------------------------------------------
%%Function: LssbGetDupSubline
%%Contact: igorzv
Parameters:
plssubl - (IN) ptr to subline context
plstflow - (OUT) subline's lstflow
pdup - (OUT) width of subline
----------------------------------------------------------------------------*/
LSERR WINAPI LssbGetDupSubline(PLSSUBL plssubl, LSTFLOW* plstflow, long* pdup)
{
if (!FIsLSSUBL(plssubl)) return lserrInvalidParameter;
if (plstflow == NULL) return lserrInvalidParameter;
if (pdup == NULL) return lserrInvalidParameter;
*plstflow = plssubl->lstflow;
return GetDupSublineCore(plssubl, pdup);
}
/* L S S B F D O N E P R E S S U B L I N E*/
/*----------------------------------------------------------------------------
%%Function: LssbFDonePresSubline
%%Contact: igorzv
Parameters:
plssubl - (IN) ptr to subline context
pfDonePresSubline - (OUT) is presentation coordinates are already calculated
----------------------------------------------------------------------------*/
LSERR WINAPI LssbFDonePresSubline(PLSSUBL plssubl, BOOL* pfDonePresSubline)
{
if (!FIsLSSUBL(plssubl)) return lserrInvalidParameter;
if (pfDonePresSubline == NULL) return lserrInvalidParameter;
*pfDonePresSubline = !plssubl->fDupInvalid;
return lserrNone;
}
/* L S S B F D O N E D I S P L A Y*/
/*----------------------------------------------------------------------------
%%Function: LssbFDoneDisplay
%%Contact: igorzv
Parameters:
plssubl - (IN) ptr to subline context
pfDonePresSubline - (OUT) is subline has been accepted for display with
upper subline
----------------------------------------------------------------------------*/
LSERR WINAPI LssbFDoneDisplay(PLSSUBL plssubl, BOOL* pfDoneDisplay)
{
if (!FIsLSSUBL(plssubl)) return lserrInvalidParameter;
if (pfDoneDisplay == NULL) return lserrInvalidParameter;
*pfDoneDisplay = plssubl->fAcceptedForDisplay;
return lserrNone;
}
/* L S S B G E T P L S R U N S F R O M S U B L I N E*/
/*----------------------------------------------------------------------------
%%Function: LssbGetPlsrunsFromSubline
%%Contact: igorzv
Parameters:
plssubl - (IN) ptr to subline context
cDnodes - (IN) number of dnodes in subline
rgplsrun - (OUT) array of plsrun's
----------------------------------------------------------------------------*/
LSERR WINAPI LssbGetPlsrunsFromSubline(PLSSUBL plssubl, DWORD cDnodes, PLSRUN* rgplsrun)
{
if (!FIsLSSUBL(plssubl)) return lserrInvalidParameter;
if (rgplsrun == NULL) return lserrInvalidParameter;
return GetPlsrunFromSublineCore(plssubl, cDnodes, rgplsrun);
}
/* L S S B G E T N U M B E R D N O D E S I N S U B L I N E*/
/*----------------------------------------------------------------------------
%%Function: LssbGetNumberDnodesInSubline
%%Contact: igorzv
Parameters:
plssubl - (IN) ptr to subline context
pcDnodes - (OUT) number of dnodes in subline
----------------------------------------------------------------------------*/
LSERR WINAPI LssbGetNumberDnodesInSubline(PLSSUBL plssubl, DWORD* pcDnodes)
{
if (!FIsLSSUBL(plssubl)) return lserrInvalidParameter;
if (pcDnodes == NULL) return lserrInvalidParameter;
return GetNumberDnodesCore(plssubl, pcDnodes);
}
/* L S S B G E T V I S I B L E D C P I N S U B L I N E*/
/*----------------------------------------------------------------------------
%%Function: LssbGetVisibleDcpInSubline
%%Contact: igorzv
Parameters:
plssubl - (IN) ptr to subline context
pdcp - (OUT) number of characters
----------------------------------------------------------------------------*/
LSERR WINAPI LssbGetVisibleDcpInSubline(PLSSUBL plssubl, LSDCP* pdcp)
{
if (!FIsLSSUBL(plssubl)) return lserrInvalidParameter;
if (pdcp == NULL) return lserrInvalidParameter;
return GetVisibleDcpInSublineCore(plssubl, pdcp);
}
/* L S S B G E T G E T D U R T R A I L I N S U B L I N E*/
/*----------------------------------------------------------------------------
%%Function: LssbGetDurTrailInSubline
%%Contact: igorzv
Parameters:
plssubl - (IN) ptr to subline context
pdurTrail - (OUT) width of trailing area in subline
----------------------------------------------------------------------------*/
LSERR WINAPI LssbGetDurTrailInSubline(PLSSUBL plssubl, long* pdurTrail)
{
if (!FIsLSSUBL(plssubl)) return lserrInvalidParameter;
if (pdurTrail == NULL) return lserrInvalidParameter;
return GetDurTrailInSubline(plssubl, pdurTrail);
}
/* L S S B G E T G E T D U R T R A I L W I T H P E N S I N S U B L I N E*/
/*----------------------------------------------------------------------------
%%Function: LssbGetDurTrailWithPensInSubline
%%Contact: igorzv
Parameters:
plssubl - (IN) ptr to subline context
pdurTrail - (OUT) width of trailing area in subline
----------------------------------------------------------------------------*/
LSERR WINAPI LssbGetDurTrailWithPensInSubline(PLSSUBL plssubl, long* pdurTrail)
{
if (!FIsLSSUBL(plssubl)) return lserrInvalidParameter;
if (pdurTrail == NULL) return lserrInvalidParameter;
return GetDurTrailWithPensInSubline(plssubl, pdurTrail);
}
/* L S S B F I S S U B L I N E E M P T Y*/
/*----------------------------------------------------------------------------
%%Function: LssbFIsSublineEmpty
%%Contact: igorzv
Parameters:
plssubl - (IN) ptr to subline context
pfEmpty - (OUT) is this subline empty
----------------------------------------------------------------------------*/
LSERR WINAPI LssbFIsSublineEmpty(PLSSUBL plssubl, BOOL* pfEmpty)
{
if (!FIsLSSUBL(plssubl)) return lserrInvalidParameter;
if (pfEmpty == NULL) return lserrInvalidParameter;
return FIsSublineEmpty(plssubl, pfEmpty);
}