本文整理汇总了C#中ITextViewLine.GetInsertionBufferPositionFromXCoordinate方法的典型用法代码示例。如果您正苦于以下问题:C# ITextViewLine.GetInsertionBufferPositionFromXCoordinate方法的具体用法?C# ITextViewLine.GetInsertionBufferPositionFromXCoordinate怎么用?C# ITextViewLine.GetInsertionBufferPositionFromXCoordinate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ITextViewLine
的用法示例。
在下文中一共展示了ITextViewLine.GetInsertionBufferPositionFromXCoordinate方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetSpan
public VirtualSnapshotSpan GetSpan(ITextViewLine line) {
if (textSelection.TextView.TextSnapshot != textSnapshot)
throw new InvalidOperationException();
var start = line.GetInsertionBufferPositionFromXCoordinate(xLeft);
var end = line.GetInsertionBufferPositionFromXCoordinate(xRight);
if (start <= end)
return new VirtualSnapshotSpan(start, end);
return new VirtualSnapshotSpan(end, start);
}
示例2: MoveTo
CaretPosition MoveTo(ITextViewLine textLine, double xCoordinate, bool captureHorizontalPosition, bool captureVerticalPosition, bool canAutoIndent) {
if (textLine == null)
throw new ArgumentNullException(nameof(textLine));
bool filterPos = true;
// Don't auto indent if it's at column 0
if (canAutoIndent && CanAutoIndent(textLine) && xCoordinate > textLine.TextRight) {
var wpfView = textView as IWpfTextView;
if (wpfView != null) {
int indentation = IndentHelper.GetDesiredIndentation(textView, smartIndentationService, textLine.Start.GetContainingLine()) ?? 0;
var textBounds = textLine.GetExtendedCharacterBounds(new VirtualSnapshotPoint(textLine.Start, indentation));
xCoordinate = textBounds.Leading;
filterPos = false;
}
}
var bufferPosition = textLine.GetInsertionBufferPositionFromXCoordinate(xCoordinate);
Affinity = textLine.IsLastTextViewLineForSnapshotLine || bufferPosition.Position != textLine.End ? PositionAffinity.Successor : PositionAffinity.Predecessor;
if (filterPos)
bufferPosition = FilterColumn(bufferPosition);
SetExplicitPosition(bufferPosition);
if (captureHorizontalPosition)
preferredXCoordinate = Left;
if (captureVerticalPosition)
SavePreferredYCoordinate();
return Position;
}