• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# TextViewPosition类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中TextViewPosition的典型用法代码示例。如果您正苦于以下问题:C# TextViewPosition类的具体用法?C# TextViewPosition怎么用?C# TextViewPosition使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



TextViewPosition类属于命名空间,在下文中一共展示了TextViewPosition类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: EditorPositionState

 public EditorPositionState(double verticalOffset, double horizontalOffset, TextViewPosition textViewPosition, double DesiredXPos)
 {
     this.VerticalOffset = verticalOffset;
     this.HorizontalOffset = horizontalOffset;
     this.TextViewPosition = textViewPosition;
     this.DesiredXPos = DesiredXPos;
 }
开发者ID:lovebanyi,项目名称:dnSpy,代码行数:7,代码来源:EditorPositionState.cs


示例2: StartSelectionOrSetEndpoint

		public override Selection StartSelectionOrSetEndpoint(TextViewPosition startPosition, TextViewPosition endPosition)
		{
			var document = textArea.Document;
			if (document == null)
				throw ThrowUtil.NoDocumentAssigned();
			return Create(textArea, startPosition, endPosition);
		}
开发者ID:AkshayVats,项目名称:SuperShell,代码行数:7,代码来源:EmptySelection.cs


示例3: SimpleSelection

		/// <summary>
		/// Creates a new SimpleSelection instance.
		/// </summary>
		internal SimpleSelection(TextArea textArea, TextViewPosition start, TextViewPosition end)
			: base(textArea)
		{
			this.start = start;
			this.end = end;
			this.startOffset = textArea.Document.GetOffset(start.Location);
			this.endOffset = textArea.Document.GetOffset(end.Location);
		}
开发者ID:Zolniu,项目名称:DigitalRune,代码行数:11,代码来源:SimpleSelection.cs


示例4: GetXPos

		static double GetXPos(TextArea textArea, TextViewPosition pos)
		{
			DocumentLine documentLine = textArea.Document.GetLineByNumber(pos.Line);
			VisualLine visualLine = textArea.TextView.GetOrConstructVisualLine(documentLine);
			int vc = visualLine.ValidateVisualColumn(pos, true);
			TextLine textLine = visualLine.GetTextLine(vc);
			return visualLine.GetTextLineVisualXPosition(textLine, vc);
		}
开发者ID:Altaxo,项目名称:Altaxo,代码行数:8,代码来源:RectangleSelection.cs


示例5: Create

		internal static Selection Create(TextArea textArea, TextViewPosition start, TextViewPosition end)
		{
			if (textArea == null)
				throw new ArgumentNullException("textArea");
			if (textArea.Document.GetOffset(start.Location) == textArea.Document.GetOffset(end.Location) && start.VisualColumn == end.VisualColumn)
				return textArea.emptySelection;
			else
				return new SimpleSelection(textArea, start, end);
		}
开发者ID:Zolniu,项目名称:DigitalRune,代码行数:9,代码来源:Selection.cs


示例6: Caret

        internal Caret(TextArea textArea)
        {
            this.textArea = textArea;
            this.textView = textArea.TextView;
            position = new TextViewPosition(1, 1, 0);

            caretAdorner = new CaretLayer(textView);
            textView.InsertLayer(caretAdorner, KnownLayer.Caret, LayerInsertionPosition.Replace);
            textView.VisualLinesChanged += TextView_VisualLinesChanged;
            textView.ScrollOffsetChanged += TextView_ScrollOffsetChanged;
        }
开发者ID:hardliner66,项目名称:ATMELGitSCC,代码行数:11,代码来源:Caret.cs


示例7: RectangleSelection

 RectangleSelection(TextArea textArea, int startLine, double startXPos, TextViewPosition end)
     : base(textArea)
 {
     InitDocument();
     this.startLine = startLine;
     endLine = end.Line;
     this.startXPos = startXPos;
     endXPos = GetXPos(textArea, end);
     CalculateSegments();
     topLeftOffset = segments.First().StartOffset;
     bottomRightOffset = segments.Last().EndOffset;
 }
开发者ID:arkanoid1,项目名称:Yanitta,代码行数:12,代码来源:RectangleSelection.cs


示例8: GetOffsetForLinesInSegmentOnScreen

        private static IEnumerable<Tuple<int, int>> GetOffsetForLinesInSegmentOnScreen(TextView textView, ISegment segment,
            bool extendToFullWidthAtLineEnd = false)
        {
            var segmentStart = segment.Offset;
            var segmentEnd = segment.Offset + segment.Length;

            if (segmentStart > textView.TextDocument.TextLength)
            {
                segmentStart = textView.TextDocument.TextLength;
            }

            if (segmentEnd > textView.TextDocument.TextLength)
            {
                segmentEnd = textView.TextDocument.TextLength;
            }

            var start = new TextViewPosition(textView.TextDocument.GetLocation(segmentStart));
            var end = new TextViewPosition(textView.TextDocument.GetLocation(segmentEnd));

            foreach (var line in textView.VisualLines)
            {
                if (!line.DocumentLine.IsDeleted)
                {
                    if (line.Offset > segmentEnd)
                    {
                        break;
                    }

                    if (line.EndOffset < segmentStart)
                    {
                        continue;
                    }

                    // find start and begining in current line.
                    var lineStartOffset = line.Offset;

                    if (segment.Offset > line.Offset)
                    {
                        lineStartOffset = line.Offset + (segment.Offset - line.Offset);
                    }

                    var lineEndOffset = line.EndOffset;

                    if (segment.EndOffset < line.EndOffset)
                    {
                        lineEndOffset = line.EndOffset - (line.EndOffset - segment.EndOffset);
                    }

                    // generate rect for section in this line.
                    yield return new Tuple<int, int>(lineStartOffset, lineEndOffset);
                }
            }
        }
开发者ID:VitalElement,项目名称:AvalonStudio,代码行数:53,代码来源:VisualLineGeometryBuilder.cs


示例9: RectangleSelection

 private RectangleSelection(TextArea textArea, TextViewPosition start, int endLine, double endXPos)
     : base(textArea)
 {
     InitDocument();
     this.startLine = start.Line;
     this.endLine = endLine;
     this.startXPos = GetXPos(textArea, start);
     this.endXPos = endXPos;
     CalculateSegments();
     this.topLeftOffset = this.segments.First().StartOffset;
     this.bottomRightOffset = this.segments.Last().EndOffset;
 }
开发者ID:arkanoid1,项目名称:FakePacketSender,代码行数:12,代码来源:RectangleSelection.cs


示例10: GetViewPortPosition

        public static Rect GetViewPortPosition(TextView textView, int offset)
        {
            var position = new TextViewPosition(textView.GetLocation(offset));

            if (position.Line > 0)
            {
                return GetTextPositionInViewPort(textView, position);
            }
            else
            {
                return new Rect();
            }
        }
开发者ID:VitalElement,项目名称:AvalonStudio,代码行数:13,代码来源:VisualLineGeometryBuilder.cs


示例11: GetWordUnderMouse

        public static string GetWordUnderMouse(this TextDocument document, TextViewPosition position)
        {
            string wordHovered = string.Empty;

            var line = position.Line;
            var column = position.Column;

            var offset = document.GetOffset(line, column);
            if (offset >= document.TextLength)
                offset--;

            var textAtOffset = document.GetText(offset, 1);

            // Get text backward of the mouse position, until the first space
            while (!string.IsNullOrWhiteSpace(textAtOffset))
            {
                wordHovered = textAtOffset + wordHovered;

                offset--;

                if (offset < 0)
                    break;

                textAtOffset = document.GetText(offset, 1);
            }

            // Get text forward the mouse position, until the first space
            offset = document.GetOffset(line, column);
            if (offset < document.TextLength - 1)
            {
                offset++;

                textAtOffset = document.GetText(offset, 1);

                while (!string.IsNullOrWhiteSpace(textAtOffset))
                {
                    wordHovered = wordHovered + textAtOffset;

                    offset++;

                    if (offset >= document.TextLength)
                        break;

                    textAtOffset = document.GetText(offset, 1);
                }
            }

            return wordHovered;
        }
开发者ID:CadeLaRen,项目名称:digiCamControl,代码行数:49,代码来源:AvalonEditExtensions.cs


示例12: GetTextPositionInViewPort

        public static Rect GetTextPositionInViewPort(TextView textView, TextViewPosition position)
        {
            if (position.Line - 1 < textView.VisualLines.Count)
            {
                return new Rect(textView.VisualLines[position.Line - 1].RenderedText.HitTestTextPosition(position.Column - 1).X + textView.TextSurfaceBounds.X,
                    textView.CharSize.Height * (position.Line - 1),
                    textView.CharSize.Width,
                    textView.CharSize.Height);
            }

            return new Rect(textView.TextSurfaceBounds.X + textView.CharSize.Width * (position.Column - 1),
                textView.CharSize.Height * (position.Line - 1),
                textView.CharSize.Width,
                textView.CharSize.Height);
        }
开发者ID:VitalElement,项目名称:AvalonStudio,代码行数:15,代码来源:VisualLineGeometryBuilder.cs


示例13: AddSpacesIfRequired

		internal string AddSpacesIfRequired(string newText, TextViewPosition start, TextViewPosition end)
		{
			if (EnableVirtualSpace && InsertVirtualSpaces(newText, start, end)) {
				var line = textArea.Document.GetLineByNumber(start.Line);
				string lineText = textArea.Document.GetText(line);
				var vLine = textArea.TextView.GetOrConstructVisualLine(line);
				int colDiff = start.VisualColumn - vLine.VisualLengthWithEndOfLineMarker;
				if (colDiff > 0) {
					string additionalSpaces = "";
					if (!textArea.Options.ConvertTabsToSpaces && lineText.Trim('\t').Length == 0) {
						int tabCount = (int)(colDiff / textArea.Options.IndentationSize);
						additionalSpaces = new string('\t', tabCount);
						colDiff -= tabCount * textArea.Options.IndentationSize;
					}
					additionalSpaces += new string(' ', colDiff);
					return additionalSpaces + newText;
				}
			}
			return newText;
		}
开发者ID:Altaxo,项目名称:Altaxo,代码行数:20,代码来源:Selection.cs


示例14: GetWordUnderMouse

        public static string GetWordUnderMouse(this TextDocument document, TextViewPosition position, bool cancelDot)
        {
            string wordHovered = string.Empty;
            int line = position.Line;
            int column = position.Column;
            int offset = document.GetOffset(line, column);
            if (offset >= document.TextLength)
                offset--;
            string textAtOffset = document.GetText(offset, 1);

            // Get text backward of the mouse position, until the first space
            while (!string.IsNullOrWhiteSpace(textAtOffset) && !StringContainsBreaks(textAtOffset, true))
            {
                wordHovered = textAtOffset + wordHovered;
                offset--;
                if (offset < 0)
                    break;
                textAtOffset = document.GetText(offset, 1);
            }

            // Get text forward the mouse position, until the first space
            offset = document.GetOffset(line, column);
            if (offset < document.TextLength - 1) {
                offset++;

                textAtOffset = document.GetText(offset, 1);
                while (!string.IsNullOrWhiteSpace(textAtOffset) && !StringContainsBreaks(textAtOffset, false)) {
                    wordHovered = wordHovered + textAtOffset;
                    offset++;
                    if (offset >= document.TextLength)
                        break;
                    textAtOffset = document.GetText(offset, 1);
                }
            }
            return wordHovered;
        }
开发者ID:nonconforme,项目名称:UrhoAngelscriptIDE,代码行数:36,代码来源:AvalonExtensions.cs


示例15: InsertVirtualSpaces

 bool InsertVirtualSpaces(string newText, TextViewPosition start, TextViewPosition end)
 {
     return (!string.IsNullOrEmpty(newText) || !(IsInVirtualSpace(start) && IsInVirtualSpace(end)))
         && newText != "\r\n"
         && newText != "\n"
         && newText != "\r";
 }
开发者ID:eolandezhang,项目名称:Diagram,代码行数:7,代码来源:Selection.cs


示例16: StartSelectionOrSetEndpoint

 /// <summary>
 /// If this selection is empty, starts a new selection from <paramref name="startPosition"/> to
 /// <paramref name="endPosition"/>, otherwise, changes the endpoint of this selection.
 /// </summary>
 public abstract Selection StartSelectionOrSetEndpoint(TextViewPosition startPosition, TextViewPosition endPosition);
开发者ID:eolandezhang,项目名称:Diagram,代码行数:5,代码来源:Selection.cs


示例17: SetEndpoint

 /// <summary>
 /// Returns a new selection with the changed end point.
 /// </summary>
 /// <exception cref="NotSupportedException">Cannot set endpoint for empty selection</exception>
 public abstract Selection SetEndpoint(TextViewPosition endPosition);
开发者ID:eolandezhang,项目名称:Diagram,代码行数:5,代码来源:Selection.cs


示例18: GetCharacterBounds

 static Rect GetCharacterBounds(this TextView textView, TextViewPosition pos, HwndSource source)
 {
     VisualLine vl = textView.GetVisualLine(pos.Line);
     if (vl == null)
         return EMPTY_RECT;
     // this may happen during layout changes in AvalonDock, so we just return an empty rectangle
     // in those cases. It should be refreshed immediately.
     if (source.RootVisual == null || !source.RootVisual.IsAncestorOf(textView))
         return EMPTY_RECT;
     TextLine line = vl.GetTextLine(pos.VisualColumn);
     Rect displayRect;
     // calculate the display rect for the current character
     if (pos.VisualColumn < vl.VisualLengthWithEndOfLineMarker) {
         displayRect = line.GetTextBounds(pos.VisualColumn, 1).First().Rectangle;
         displayRect.Offset(0, vl.GetTextLineVisualYPosition(line, VisualYPosition.LineTop));
     } else {
         // if we are in virtual space, we just use one wide-space as character width
         displayRect = new Rect(vl.GetVisualPosition(pos.VisualColumn, VisualYPosition.TextTop),
                                new Size(textView.WideSpaceWidth, textView.DefaultLineHeight));
     }
     // adjust to current scrolling
     displayRect.Offset(-textView.ScrollOffset);
     return textView
         .TransformToAncestor(source.RootVisual).TransformBounds(displayRect) // rect on root visual
         .TransformToDevice(source.RootVisual); // rect on HWND
 }
开发者ID:piaolingzxh,项目名称:Justin,代码行数:26,代码来源:ImeNativeWrapper.cs


示例19: StartSelectionOrSetEndpoint

 /// <inheritdoc/>
 public override Selection StartSelectionOrSetEndpoint(TextViewPosition startPosition, TextViewPosition endPosition)
 {
     return SetEndpoint(endPosition);
 }
开发者ID:arkanoid1,项目名称:FakePacketSender,代码行数:5,代码来源:RectangleSelection.cs


示例20: SetPosition

        /// <summary>
        /// Positions the completion window at the specified position.
        /// </summary>
        protected void SetPosition(TextViewPosition position)
        {
            TextView textView = this.TextArea.TextView;

            visualLocation = textView.GetVisualPosition(position, VisualYPosition.LineBottom);
            visualLocationTop = textView.GetVisualPosition(position, VisualYPosition.LineTop);
            UpdatePosition();
        }
开发者ID:Jaimerh,项目名称:lsystems-csharp-lib,代码行数:11,代码来源:CompletionWindowBase.cs



注:本文中的TextViewPosition类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# TextWriter类代码示例发布时间:2022-05-24
下一篇:
C# TextViewContext类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap