Property | Type | Description | |
---|---|---|---|
AddBoxToLine | void | ||
AddBoxToLine | void | ||
AddSomethingToLine | bool | ||
AdvanceRenderRunIndexToIch | int | ||
Backtrack | bool | ||
BuildALine | void | ||
ComputeHeight | int | ||
ComputeWidth | int | ||
Fetch | string | ||
FinalizeLine | bool | ||
FullLayout | void | ||
GetLimitOfRunWithSameRenderer | int | ||
GetNextTwsh | LgTrailingWsHandling | ||
Relayout | void | ||
SetParaInfo | void | ||
TopOfNextLine | int | ||
WsInSource | int |
Method | Description | |
---|---|---|
ParaBuilder ( |
Method | Description | |
---|---|---|
AddBoxToLine ( Box boxToAdd, LgEndSegmentType est ) : void | ||
AddBoxToLine ( ILgSegment seg, int ichMin, int dichLim, LgEndSegmentType est, int spaceLeftOnCurrentLine ) : void | ||
AddSomethingToLine ( ) : bool |
Add something to the line. Return true if we should keep trying to add more. (That is, all of the current thing fit, and there is still room left; this routine is not responsible to determine whether there IS anything else to add.) If there is not yet anything in the line, this routine MUST add something; otherwise, it is allowed to fail, returning false without changing anything.
|
|
AdvanceRenderRunIndexToIch ( int ich, int startIndex ) : int | ||
Backtrack ( ) : bool |
Shorten the current line. Currently this is only called when the last thing on the line is a string box. If possible, replace its segment with a shorter one. If this is not possible, and it is not the first thing on the line, remove it altogether. If it IS the first thing on the line, do nothing. We'll live with the bad break, because there is nothing better we know how to do. Returns true if successful, which means FinalizeLine should be called again. False if unsuccessful, to prevent infinite loop.
|
|
BuildALine ( ) : void | ||
ComputeHeight ( ) : int |
Compute the height of the box, not counting surrounding gaps, once its lines have been laid out.
|
|
ComputeWidth ( ) : int |
Compute the width of the box, not counting surrounding gaps, once its lines have been laid out.
|
|
Fetch ( int ichMin, int ichLim ) : string |
Get the specified range of (rendered) characters from the text source.
|
|
FinalizeLine ( ) : bool |
This is called when we have put all we can on the current line. Sometimes we may have put too much! If so, return false, to indicate we can't finalize a line in this state, and trigger backtracking.
|
|
FullLayout ( ) : void | ||
GetLimitOfRunWithSameRenderer ( IRenderEngine renderer, int startIndex ) : int | ||
GetNextTwsh ( ) : LgTrailingWsHandling | ||
Relayout ( SourceChangeDetails details, LayoutCallbacks lcb ) : void |
Redo layout. Should produce the same segments as FullLayout, but assume that segments for text up to details.StartChange may be reused (if not affected by changing line breaks), and segments after details.StartChange+details.DeleteCount may be re-used if a line break works out (and after adjusting their begin offset).
|
|
SetParaInfo ( ) : void | ||
TopOfNextLine ( |
||
WsInSource ( int ich, IVwTextSource source ) : int |
Return the writing system of the character at the specified offset in the source.
|
public ParaBuilder ( |
||
para | ||
layoutInfo | LayoutInfo | |
return | System |