From a4713f939ba701991bf32ef4285b63bef0273adc Mon Sep 17 00:00:00 2001 From: Shahzaib Ibrahim Date: Thu, 13 Nov 2025 14:30:01 +0100 Subject: [PATCH] Adjust selection bounds for CTabRenderring Selected tabs highlight look slightly off and more noticeable when zoom is not 100%. These adjusted value shows no gaps from top and better aligned highlights for tabs (Theme is enabled) --- .../e4/ui/workbench/renderers/swt/CTabRendering.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/CTabRendering.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/CTabRendering.java index ddbdc346105..c8d190dee6b 100644 --- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/CTabRendering.java +++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/CTabRendering.java @@ -626,11 +626,11 @@ void drawSelectedTab(int itemIndex, GC gc, Rectangle bounds) { if (onBottom) { highlightOnTop = !highlightOnTop; } - int highlightHeight = 2; - int verticalOffset = highlightOnTop ? 0 : bounds.height - (highlightHeight - 1); + int highlightHeight = 2 + (superimposeKeylineOutline && highlightOnTop ? OUTER_KEYLINE_WIDTH : 0); + int verticalOffset = highlightOnTop ? 0 : outlineBoundsForOutline.height - (highlightHeight - 1); int horizontalOffset = itemIndex == 0 || cornerSize == SQUARE_CORNER ? 0 : 1; int widthAdjustment = cornerSize == SQUARE_CORNER ? 0 : 1; - gc.fillRectangle(bounds.x + horizontalOffset, bounds.y + verticalOffset, bounds.width - widthAdjustment, + gc.fillRectangle(outlineBoundsForOutline.x + horizontalOffset, outlineBoundsForOutline.y + verticalOffset, outlineBoundsForOutline.width - widthAdjustment, highlightHeight); }