Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/internal/LineNode.java')
-rw-r--r--bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/internal/LineNode.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/internal/LineNode.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/internal/LineNode.java
index 11b6830bb..968407ba9 100644
--- a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/internal/LineNode.java
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/internal/LineNode.java
@@ -19,6 +19,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
@@ -56,6 +57,7 @@ public class LineNode extends StackPane {
DebugMarker debugUpdateCaret;
private HBox debugBox;
+ /** line index */
int index;
LineHelper lineHelper;
@@ -241,6 +243,17 @@ public class LineNode extends StackPane {
return Collections.emptyList();
}
+
+ public Optional<TextNode> findTextNode(Point2D localLocation) {
+ for (TextNode t : this.currentTextNodes) {
+ Bounds segmentBounds = t.getBoundsInParent();
+ if (segmentBounds.contains(localLocation)) {
+ return Optional.of(t);
+ }
+ }
+ return Optional.empty();
+ }
+
}
public class SelectionLayer extends Region {
@@ -738,6 +751,10 @@ public class LineNode extends StackPane {
return results;
}
+ public Optional<TextNode> findTextNode(Point2D localLocation) {
+ return this.textLayer.findTextNode(localLocation);
+ }
+
/**
* Check if the offset is between the start and end
*

Back to the top