From 9c048433edac7d4bfbbf531179b4054b692a0833 Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Thu, 27 Oct 2016 15:48:24 +0300 Subject: [PATCH] better symbol vertical alignment inside the bookmark icon --- .../src/com/intellij/ide/bookmarks/Bookmark.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/bookmarks/Bookmark.java b/platform/lang-impl/src/com/intellij/ide/bookmarks/Bookmark.java index 3a2b9e9b9ec5..b08c4003f614 100644 --- a/platform/lang-impl/src/com/intellij/ide/bookmarks/Bookmark.java +++ b/platform/lang-impl/src/com/intellij/ide/bookmarks/Bookmark.java @@ -55,12 +55,13 @@ import com.intellij.ui.JBColor; import com.intellij.ui.RetrievableIcon; import com.intellij.util.ObjectUtils; import com.intellij.util.PlatformIcons; -import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.awt.*; +import java.awt.font.GlyphVector; +import java.awt.geom.Rectangle2D; import java.lang.ref.Reference; import java.lang.ref.WeakReference; @@ -362,9 +363,14 @@ public class Bookmark implements Navigatable, Comparable { g.setColor(EditorColorsManager.getInstance().getGlobalScheme().getDefaultForeground()); final Font oldFont = g.getFont(); - g.setFont(getBookmarkFont()); - UIUtil.drawCenteredString((Graphics2D)g, new Rectangle(x, y, width, height), Character.toString(myMnemonic)); + Font font = getBookmarkFont(); + g.setFont(font); + // + GlyphVector gv = font.createGlyphVector(((Graphics2D)g).getFontRenderContext(), new char[]{myMnemonic}); + Rectangle2D bounds = gv.getVisualBounds(); + ((Graphics2D)g).drawGlyphVector(gv, (float)(x + (width - bounds.getWidth())/2 - bounds.getX()), + (float)(y + (height - bounds.getHeight())/2 - bounds.getY())); g.setFont(oldFont); }