本文整理汇总了Java中com.intellij.openapi.editor.ex.util.EditorUtil.textWidth方法的典型用法代码示例。如果您正苦于以下问题:Java EditorUtil.textWidth方法的具体用法?Java EditorUtil.textWidth怎么用?Java EditorUtil.textWidth使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.intellij.openapi.editor.ex.util.EditorUtil
的用法示例。
在下文中一共展示了EditorUtil.textWidth方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: visualPositionToXY
import com.intellij.openapi.editor.ex.util.EditorUtil; //导入方法依赖的package包/类
@Override
@NotNull
public Point visualPositionToXY(@NotNull VisualPosition visible) {
if (myUseNewRendering) return myView.visualPositionToXY(visible);
int y = visibleLineToY(visible.line);
LogicalPosition logical = visualToLogicalPosition(new VisualPosition(visible.line, 0));
int logLine = logical.line;
int lineStartOffset = -1;
int reserved = 0;
int column = visible.column;
if (logical.softWrapLinesOnCurrentLogicalLine > 0) {
int linesToSkip = logical.softWrapLinesOnCurrentLogicalLine;
List<? extends SoftWrap> softWraps = getSoftWrapModel().getSoftWrapsForLine(logLine);
for (SoftWrap softWrap : softWraps) {
if (myFoldingModel.isOffsetCollapsed(softWrap.getStart()) && myFoldingModel.isOffsetCollapsed(softWrap.getStart() - 1)) {
continue;
}
linesToSkip--; // Assuming here that every soft wrap has exactly one line feed
if (linesToSkip > 0) {
continue;
}
lineStartOffset = softWrap.getStart();
int widthInColumns = softWrap.getIndentInColumns();
int widthInPixels = softWrap.getIndentInPixels();
if (widthInColumns <= column) {
column -= widthInColumns;
reserved = widthInPixels;
}
else {
char[] softWrapChars = softWrap.getChars();
int i = CharArrayUtil.lastIndexOf(softWrapChars, '\n', 0, softWrapChars.length);
int start = 0;
if (i >= 0) {
start = i + 1;
}
return new Point(EditorUtil.textWidth(this, softWrap.getText(), start, column + 1, Font.PLAIN, 0), y);
}
break;
}
}
if (logLine < 0) {
lineStartOffset = 0;
}
else if (lineStartOffset < 0) {
lineStartOffset = logLine >= myDocument.getLineCount() ? myDocument.getTextLength() : myDocument.getLineStartOffset(logLine);
}
int x = getTabbedTextWidth(lineStartOffset, column, reserved);
return new Point(x, y);
}
示例2: visualPositionToXY
import com.intellij.openapi.editor.ex.util.EditorUtil; //导入方法依赖的package包/类
@Override
@NotNull
public Point visualPositionToXY(@NotNull VisualPosition visible) {
if (myUseNewRendering) return myView.visualPositionToXY(visible);
int y = visibleLineToY(visible.line);
LogicalPosition logical = visualToLogicalPosition(new VisualPosition(visible.line, 0));
int logLine = logical.line;
int lineStartOffset = -1;
int reserved = 0;
int column = visible.column;
if (logical.softWrapLinesOnCurrentLogicalLine > 0) {
int linesToSkip = logical.softWrapLinesOnCurrentLogicalLine;
List<? extends SoftWrap> softWraps = getSoftWrapModel().getSoftWrapsForLine(logLine);
for (SoftWrap softWrap : softWraps) {
if (myFoldingModel.isOffsetCollapsed(softWrap.getStart()) && myFoldingModel.isOffsetCollapsed(softWrap.getStart() - 1)) {
continue;
}
linesToSkip--; // Assuming here that every soft wrap has exactly one line feed
if (linesToSkip > 0) {
continue;
}
lineStartOffset = softWrap.getStart();
int widthInColumns = softWrap.getIndentInColumns();
int widthInPixels = softWrap.getIndentInPixels();
if (widthInColumns <= column) {
column -= widthInColumns;
reserved = widthInPixels;
}
else {
char[] softWrapChars = softWrap.getChars();
int i = CharArrayUtil.lastIndexOf(softWrapChars, '\n', 0, softWrapChars.length);
int start = 0;
if (i >= 0) {
start = i + 1;
}
return new Point(EditorUtil.textWidth(this, softWrap.getText(), start, column + 1, Font.PLAIN, 0), y);
}
break;
}
}
if (logLine < 0) {
lineStartOffset = 0;
}
else if (lineStartOffset < 0) {
if (logLine >= myDocument.getLineCount()) {
lineStartOffset = myDocument.getTextLength();
}
else {
lineStartOffset = myDocument.getLineStartOffset(logLine);
}
}
int x = getTabbedTextWidth(lineStartOffset, column, reserved);
return new Point(x, y);
}
示例3: visualPositionToXY
import com.intellij.openapi.editor.ex.util.EditorUtil; //导入方法依赖的package包/类
@Override
@NotNull
public Point visualPositionToXY(@NotNull VisualPosition visible) {
if (myUseNewRendering) return myView.visualPositionToXY(visible);
int y = visibleLineToY(visible.line);
LogicalPosition logical = visualToLogicalPosition(new VisualPosition(visible.line, 0));
int logLine = logical.line;
int lineStartOffset = -1;
int reserved = 0;
int column = visible.column;
if (logical.softWrapLinesOnCurrentLogicalLine > 0) {
int linesToSkip = logical.softWrapLinesOnCurrentLogicalLine;
List<? extends SoftWrap> softWraps = getSoftWrapModel().getSoftWrapsForLine(logLine);
for (SoftWrap softWrap : softWraps) {
if (myFoldingModel.isOffsetCollapsed(softWrap.getStart()) && myFoldingModel.isOffsetCollapsed(softWrap.getStart() - 1)) {
continue;
}
linesToSkip--; // Assuming here that every soft wrap has exactly one line feed
if (linesToSkip > 0) {
continue;
}
lineStartOffset = softWrap.getStart();
int widthInColumns = softWrap.getIndentInColumns();
int widthInPixels = softWrap.getIndentInPixels();
if (widthInColumns <= column) {
column -= widthInColumns;
reserved = widthInPixels;
}
else {
char[] softWrapChars = softWrap.getChars();
int i = CharArrayUtil.lastIndexOf(softWrapChars, '\n', 0, softWrapChars.length);
int start = 0;
if (i >= 0) {
start = i + 1;
}
return new Point(EditorUtil.textWidth(this, softWrap.getText(), start, column + 1, Font.PLAIN, 0), y);
}
break;
}
}
if (logLine < 0) {
lineStartOffset = 0;
}
else if (lineStartOffset < 0) {
lineStartOffset = logLine >= myDocument.getLineCount() ? myDocument.getTextLength() : myDocument.getLineStartOffset(logLine);
}
int x = getTabbedTextWidth(lineStartOffset, column, reserved);
return new Point(x, y);
}