mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
EA-76958 - IAE: VisualPosition.<init>
This commit is contained in:
+3
@@ -242,6 +242,9 @@ class EditorCoordinateMapper {
|
||||
int maxOffset = 0;
|
||||
for (VisualLineFragmentsIterator.Fragment fragment : VisualLineFragmentsIterator.create(myView, visualLineStartOffset, false)) {
|
||||
if (p.x <= fragment.getStartX()) {
|
||||
if (fragment.getStartVisualColumn() == 0) {
|
||||
return new VisualPosition(visualLine, 0);
|
||||
}
|
||||
int markerWidth = myView.getEditor().getSoftWrapModel().getMinDrawingWidthInPixels(SoftWrapDrawingType.AFTER_SOFT_WRAP);
|
||||
float indent = fragment.getStartX() - markerWidth;
|
||||
if (p.x <= indent) {
|
||||
|
||||
@@ -22,7 +22,9 @@ import com.intellij.openapi.editor.FoldRegion;
|
||||
import com.intellij.openapi.editor.LogicalPosition;
|
||||
import com.intellij.openapi.editor.VisualPosition;
|
||||
import com.intellij.openapi.editor.ex.DocumentEx;
|
||||
import com.intellij.openapi.editor.ex.EditorEx;
|
||||
import com.intellij.openapi.editor.ex.util.EditorUtil;
|
||||
import com.intellij.openapi.editor.markup.TextAttributes;
|
||||
import com.intellij.testFramework.EditorTestUtil;
|
||||
|
||||
import java.awt.*;
|
||||
@@ -230,4 +232,11 @@ public class EditorImplTest extends AbstractEditorTest {
|
||||
mouse().clickAt(0, 10);
|
||||
assertEquals(new VisualPosition(0, 7), myEditor.getCaretModel().getVisualPosition());
|
||||
}
|
||||
|
||||
public void testXYToVisualPositionWhenPrefixIsSet() throws Exception {
|
||||
initText("abc");
|
||||
configureSoftWraps(1000); // to make sure soft wrap character width is properly mocked
|
||||
((EditorEx)myEditor).setPrefixTextAndAttributes(">", new TextAttributes());
|
||||
assertEquals(new VisualPosition(0, 0), myEditor.xyToVisualPosition(new Point(1, 0)));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user