public void GenerateGlyph_returnNull_GivenNullArguments()
        {
            // when
            var glyphElement = glyphFactory.GenerateGlyph(null, null);

            // then
            Assert.Null(glyphElement);
        }
Example #2
0
        public void AddGlyph(TGlyphTag tag, SnapshotSpan span)
        {
            var textViewLines = textView.TextViewLines;
            var glyphType     = tag.GetType();

            if (textView.TextViewLines.IntersectsBufferSpan(span))
            {
                var startingLine = GetStartingLine(textViewLines, span) as IWpfTextViewLine;
                if (startingLine != null)
                {
                    var element = (FrameworkElement)glyphFactory.GenerateGlyph(startingLine, tag);
                    if (element != null)
                    {
                        var data = new GlyphData <TGlyphTag>(span, tag, element);
                        element.Width = glyphMarginGrid.Width;

                        // draw where text is
                        element.Height = startingLine.TextHeight + 1; // HACK: +1 to fill gaps
                        data.SetTop(startingLine.TextTop - textView.ViewportTop);

                        glyphs[element] = data;
                        visuals[glyphType].Children.Add(element);
                    }
                }
            }
        }