From: Marko Luukkainen Date: Tue, 25 Feb 2020 08:59:35 +0000 (+0000) Subject: Merge "Add line bounds to highlight bounds to get actual bounds." X-Git-Tag: v1.43.0~82 X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=commitdiff_plain;h=099781f64b56dc39c873bd63bb0b86e9643b7579;hp=944d9daa96376eb3078607e384c9c6cec3b2d482 Merge "Add line bounds to highlight bounds to get actual bounds." --- diff --git a/bundles/org.simantics.diagram/src/org/simantics/diagram/elements/TextNode.java b/bundles/org.simantics.diagram/src/org/simantics/diagram/elements/TextNode.java index 2991d234c..77eb78922 100644 --- a/bundles/org.simantics.diagram/src/org/simantics/diagram/elements/TextNode.java +++ b/bundles/org.simantics.diagram/src/org/simantics/diagram/elements/TextNode.java @@ -410,6 +410,7 @@ public class TextNode extends G2DNode implements IDynamicSelectionPainterNode, L this.scaleRecip = 1.0 / scale; this.caret = 0; this.selectionTail = 0; + resetCaches(); } @@ -1437,6 +1438,9 @@ public class TextNode extends G2DNode implements IDynamicSelectionPainterNode, L y += line.layout.getDescent() + line.layout.getLeading() + line.layout.getAscent(); Rectangle2D bbox = line.layout.getLogicalHighlightShape(0, lineText.length()).getBounds2D(); + // HighlightShape is not large enough, if font is italic. + Rectangle2D bbox2 = line.layout.getBounds(); + bbox.add(bbox2); bbox.setFrame(bbox.getX(), bbox.getY() + line.drawPosY, bbox.getWidth(), bbox.getHeight()); line.bbox = bbox; }