@Override public void paint(@NotNull Inlay inlay, @NotNull Graphics g, @NotNull Rectangle targetRegion, @NotNull TextAttributes textAttributes) { Editor editor = inlay.getEditor(); FontMetrics fontMetrics = getFontMetrics(editor).metrics; LineMetrics lineMetrics = fontMetrics.getLineMetrics(text, g); g.setColor(JBColor.GRAY); g.setFont(fontMetrics.getFont()); g.drawString(text, 0, targetRegion.y + (int)(lineMetrics.getHeight() - lineMetrics.getDescent())); g.setColor(JBColor.LIGHT_GRAY); g.drawRect(targetRegion.x, targetRegion.y, targetRegion.width, targetRegion.height); }
public double getDescent() { final LineMetrics fm = TextBlockUtils.getLineMetrics(font.getFont(), text); final double descent = fm.getDescent(); return descent; }
private double getDescent() { final LineMetrics fm = TextBlockUtils.getLineMetrics(fontConfiguration.getFont(), text); final double descent = fm.getDescent(); return descent; }
double getFontHeight(Font font) { LineMetrics lm = font.getLineMetrics(DUMMY_TEXT, gd.getFontRenderContext()); return lm.getAscent() + lm.getDescent(); }
/** * Vertical centering is not trivial, because visually we want centering on characters such as * a,m,e, and not centering on d,g whose center is affected by the full ascent or the full * descent. This method tries to computes the y anchor taking into account those. */ public double getLinePlacementYAnchor() { TextStyle2D textStyle = getLabel().getTextStyle(); LineMetrics lm = textStyle .getFont() .getLineMetrics(textStyle.getLabel(), graphics.getFontRenderContext()); // gracefully handle font size = 0 if (lm.getHeight() > 0) { return (Math.abs(lm.getStrikethroughOffset()) + lm.getDescent() + lm.getLeading()) / lm.getHeight(); } else { return 0; } }
public float getDescent() { return _lineMetrics.getDescent(); }
public float getDescent() { return _lineMetrics.getDescent(); }
public float getDescent() { float maxDescent = -Float.MAX_VALUE; for (LineMetrics met : _lineMetrics) { maxDescent = Math.max(maxDescent, met.getDescent()); } return maxDescent; }
double getDescent(int index) { return getMetric(index).getDescent(); }
protected void paintText(Graphics2D g2, int x, int y, int w, int h) { g2.setFont(this.getFont()); LineMetrics lm = g2.getFontMetrics().getLineMetrics(text, g2); g2.setColor(this.getForeground()); g2.drawString(text, x + insetsToolTip.left, y + h - lm.getDescent() - insetsToolTip.bottom); }
double getFontHeight(Font font) { LineMetrics lm = font.getLineMetrics(DUMMY_TEXT, gd.getFontRenderContext()); return lm.getAscent() + lm.getDescent(); }
double getFontHeight(Font font) { LineMetrics lm = font.getLineMetrics(DUMMY_TEXT, g2d.getFontRenderContext()); return lm.getAscent() + lm.getDescent(); }
double getFontHeight(Font font) { LineMetrics lm = font.getLineMetrics(DUMMY_TEXT, g2d.getFontRenderContext()); return lm.getAscent() + lm.getDescent(); }
public double getDescent() { final LineMetrics fm = TextBlockUtils.getLineMetrics(font.getFont(), text); final double descent = fm.getDescent(); return descent; }
private double getDescent() { final LineMetrics fm = TextBlockUtils.getLineMetrics(fontConfiguration.getFont(), text); final double descent = fm.getDescent(); return descent; }
private double getFontHeight(FontRenderContext frc, Font font) { LineMetrics lm = font.getLineMetrics(DUMMY_TEXT, frc); return lm.getAscent() + lm.getDescent(); }
public int getInsertionPoint(int xArgument, int yArgument) { Font font = textAreaSkin.getFont(); FontRenderContext fontRenderContext = Platform.getFontRenderContext(); LineMetrics lm = font.getLineMetrics("", fontRenderContext); float rowHeight = lm.getAscent() + lm.getDescent(); int i = (int)Math.floor(yArgument / rowHeight); int n = rows.getLength(); return (i < 0 || i >= n) ? -1 : getRowInsertionPoint(i, xArgument); }
public int getInsertionPoint(int x, int y) { Font font = textAreaSkin.getFont(); FontRenderContext fontRenderContext = Platform.getFontRenderContext(); LineMetrics lm = font.getLineMetrics("", fontRenderContext); float rowHeight = lm.getAscent() + lm.getDescent(); int i = (int)Math.floor(y / rowHeight); int n = rows.getLength(); return (i < 0 || i >= n) ? -1 : getRowInsertionPoint(i, x); }
JButton component = new JButton(text); FontMetrics fontMetrics = component.getFontMetrics(component.getFont()); LineMetrics metrics = fontMetrics.getLineMetrics(text, component.getGraphics()); float ascent = metrics.getAscent(), descent = metrics.getDescent(); component.setAlignmentY(ascent / (ascent + descent));
public JavaFont(String fontName, int fontStyle, int fontSize) { super(fontName, fontStyle, fontSize); myFont = UIManager.getCachedJavaFont(fontName, fontStyle, fontSize); frc = new java.awt.font.FontRenderContext(null, true, false); java.awt.font.LineMetrics metrics = myFont.getLineMetrics("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopwrstuvwxyz0123456789", frc); height = metrics.getHeight(); ascent = metrics.getAscent(); leading = metrics.getLeading(); descent = metrics.getDescent(); } public MetaFont deriveFontSize(int newSize, UIManager uiLoader)