diff --git a/platform/platform-impl/src/com/intellij/ide/minimap/hover/MinimapHoverPresenter.kt b/platform/platform-impl/src/com/intellij/ide/minimap/hover/MinimapHoverPresenter.kt index 6b0d1e644c2b..dd4f41bb315e 100644 --- a/platform/platform-impl/src/com/intellij/ide/minimap/hover/MinimapHoverPresenter.kt +++ b/platform/platform-impl/src/com/intellij/ide/minimap/hover/MinimapHoverPresenter.kt @@ -7,8 +7,10 @@ import com.intellij.ide.minimap.geometry.MinimapLineGeometryUtil import com.intellij.ide.minimap.render.MinimapRenderContext import com.intellij.openapi.editor.colors.EditorColors import com.intellij.ui.JBColor +import com.intellij.util.ui.JBUI import java.awt.Color import java.awt.Graphics2D +import java.awt.Rectangle import kotlin.math.roundToInt class MinimapHoverPresenter(private val panel: MinimapPanel) { @@ -40,7 +42,17 @@ class MinimapHoverPresenter(private val panel: MinimapPanel) { val context = lastContext ?: return val lineHeight = computeLineHeight(context) - hoverPainter.paint(graphics, target.rect, target.declarationWidth, lineHeight, hoverColor()) + val leftInset = hoverFrameLeftInset() + if (leftInset == 0) { + hoverPainter.paint(graphics, target.rect, target.declarationWidth, lineHeight, hoverColor()) + } + else { + val rect = Rectangle(target.rect) + rect.x += leftInset + rect.width = (rect.width - leftInset).coerceAtLeast(1) + val declarationWidth = (target.declarationWidth - leftInset).coerceAtLeast(1) + hoverPainter.paint(graphics, rect, declarationWidth, lineHeight, hoverColor()) + } } fun hide() { @@ -62,4 +74,8 @@ class MinimapHoverPresenter(private val panel: MinimapPanel) { return scheme.getAttributes(EditorColors.REFERENCE_HYPERLINK_COLOR)?.foregroundColor ?: JBColor.BLUE } + + private fun hoverFrameLeftInset(): Int { + return if (panel.settings.state.rightAligned) JBUI.scale(1) else 0 + } } diff --git a/platform/platform-impl/src/com/intellij/ide/minimap/layers/factories/EditorSeparatorLayerFactory.kt b/platform/platform-impl/src/com/intellij/ide/minimap/layers/factories/EditorSeparatorLayerFactory.kt index ec5d6712121a..ddcc1e9d0826 100644 --- a/platform/platform-impl/src/com/intellij/ide/minimap/layers/factories/EditorSeparatorLayerFactory.kt +++ b/platform/platform-impl/src/com/intellij/ide/minimap/layers/factories/EditorSeparatorLayerFactory.kt @@ -8,14 +8,14 @@ import com.intellij.ide.minimap.layers.MinimapLayerId import com.intellij.ide.minimap.layers.MinimapLayerIds import com.intellij.ide.minimap.layers.MinimapLayerRenderState import com.intellij.ide.minimap.settings.MinimapSettings -import com.intellij.openapi.ui.OnePixelDivider +import com.intellij.ui.JBColor import com.intellij.util.ui.JBUI import java.awt.Graphics2D internal class EditorSeparatorLayerFactory : MinimapLayerFactory { override val id: MinimapLayerId = MinimapLayerIds.EDITOR_SEPARATOR override val order: Int = 100 - private val leftBorder = JBUI.Borders.customLineLeft(OnePixelDivider.BACKGROUND) + private val leftBorder = JBUI.Borders.customLineLeft(JBColor.namedColor("EditorPane.splitBorder", JBColor.border())) override fun createLayer(panel: MinimapPanel): MinimapLayer { return object : MinimapLayer { @@ -24,7 +24,7 @@ internal class EditorSeparatorLayerFactory : MinimapLayerFactory { override fun isApplicable(state: MinimapLayerRenderState): Boolean { val minimapState = MinimapSettings.getInstance().state - return minimapState.rightAligned && minimapState.insideScrollbar + return minimapState.rightAligned } override fun paint(graphics: Graphics2D, state: MinimapLayerRenderState) {