You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm seeing this artifact in an RCP application that uses org.eclipse.e4.ui.workbench.renderers.swt_0.15.200.v20210816-1658, running on Windows 10 and 11, but the relevant code snippet seems to be present on master as well. I didn't encounter it in any version of the IDE however.
A small example that reproduces the issue:
Shellshell = newShell(SWT.DIALOG_TRIM | SWT.PRIMARY_MODAL);
shell.setText("CTabRendering example");
shell.setLayout(newGridLayout(1, false));
CTabFolderfolder = newCTabFolder(shell, SWT.NONE);
folder.setLayoutData(newGridData(SWT.FILL, SWT.FILL, true, true));
CTabRenderingrenderer = newCTabRendering(folder);
renderer.setShadowVisible(false);
renderer.setCornerRadius(0); // change to a value greater than 6 to enable rounded tabsfolder.setRenderer(renderer);
CTabItemtab1 = newCTabItem(folder, SWT.NONE);
tab1.setText("Folder tab 1");
shell.setSize(600, 500);
shell.open();
finalDisplaydisplay = shell.getDisplay();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) { display.sleep(); }
}
The rendered result with square tabs:
With rounded tabs:
When the tab is rendered in inactive mode, the polyline skips visiting the upper right part and heads straight to the lower right corner:
The last points in the polyline were visiting the lower right and lower
left corners of the CTabFolder's client area before heading back to the
starting point. These are now removed.
This makes "computeSquareTabOutline" behave the same way as
"computeRoundTabOutline" does, which did not attempt to draw lines
outside of the tab itself (also a horizontal leading/trailing line when
in active mode).
The last points in the polyline were visiting the lower right and lower
left corners of the CTabFolder's client area before heading back to the
starting point. These are now removed.
This makes "computeSquareTabOutline" behave the same way as
"computeRoundTabOutline" does, which did not attempt to draw lines
outside of the tab itself (also a horizontal leading/trailing line when
in active mode).
I'm seeing this artifact in an RCP application that uses
org.eclipse.e4.ui.workbench.renderers.swt_0.15.200.v20210816-1658
, running on Windows 10 and 11, but the relevant code snippet seems to be present on master as well. I didn't encounter it in any version of the IDE however.A small example that reproduces the issue:
The rendered result with square tabs:
With rounded tabs:
When the tab is rendered in inactive mode, the polyline skips visiting the upper right part and heads straight to the lower right corner:
eclipse.platform.ui/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/CTabRendering.java
Lines 414 to 423 in c5d422e
The text was updated successfully, but these errors were encountered: