internal void AddHookupToRun(TextClientRun run, LiteralStringParaHookup stringHookup) { run.Hookup = stringHookup; stringHookup.ClientRunIndex = stringHookup.ParaBox.Source.ClientRuns.IndexOf(run); if (CurrentHookup != null) { CurrentHookup.InsertChildHookup(run.Hookup, CurrentHookup.Children.Count); } }
/// <summary> /// Return an insertion point at specified position in THIS RUN within the paragraph. /// </summary> public InsertionPoint SelectAt(ParaBox para, int ichRun, bool associatePrevious) { LiteralStringParaHookup hookup = Hookup; if (hookup == null) { hookup = new LiteralStringParaHookup(null, para); hookup.ClientRunIndex = para.Source.ClientRuns.IndexOf(this); } return(new InsertionPoint(hookup, ichRun, associatePrevious)); }
internal InsertionPoint(LiteralStringParaHookup hookup, int position, bool fAssocPrev) { Hookup = hookup; StringPosition = position; AssociatePrevious = fAssocPrev; }