public override void UpdateUIViewPortOverride(UILayerUpdateContext context)
        {
            this.LastUpdateContext = context;

            string currentWord = this.GetCurrentWord();
            if (string.IsNullOrEmpty(currentWord))
            {
                return;
            }

            List<SpanLayoutBox> list = new List<SpanLayoutBox>();
            LayoutBox currentParagraphBox = null;
            foreach (SpanLayoutBox spanBox in context.GetVisibleTextLayoutBoxes())
            {
                if (spanBox.IsFormattingSymbol)
                {
                    this.FlushBoxes(list, currentWord);
                }
                else if (currentParagraphBox != null && currentParagraphBox != spanBox.Parent)
                {
                    this.FlushBoxes(list, currentWord);
                    list.Add(spanBox);
                }
                else
                {
                    list.Add(spanBox);
                }

                currentParagraphBox = spanBox.Parent;
            }
            this.FlushBoxes(list, currentWord);

        }
        public override void UpdateUIViewPortOverride(UILayerUpdateContext context)
        {
            if (string.IsNullOrEmpty(word))
            {
                return;
            }

            this.HighlightOccurrencesInVisibleBoxes(context.GetVisibleTextLayoutBoxes());
        }
 public override void UpdateUIViewPortOverride(UILayerUpdateContext context)
 {
     if (this.ShouldUpdateUI())
     {
         foreach (AnnotationMarkerLayoutBox marker in context.GetVisibleLayoutBoxes<AnnotationMarkerLayoutBox>(AnnotationBoxFilter))
         {
             this.AddRangeBracket(marker);
         }
     }
 }
        public override void UpdateUIViewPortOverride(UILayerUpdateContext context)
        {
            this.LastUpdateContext = context;

            InlineLayoutBox currnetInline = this.Document.CaretPosition.GetCurrentInlineBox();
            ParagraphLineInfo lineInfo = this.Document.CaretPosition.GetCurrentInlineBox().LineInfo;
            float lineY = GetLineY(currnetInline);
            RectangleF paragraphRectangle = currnetInline.Parent.ControlBoundingRectangle;

            this.AddRectangle(new RectangleF(
                paragraphRectangle.X,
                lineY,
                paragraphRectangle.Width,
                lineInfo.Height));
        }