diff options
author | Felipe Heidrich <fheidric> | 2009-10-01 20:54:07 +0000 |
---|---|---|
committer | Felipe Heidrich <fheidric> | 2009-10-01 20:54:07 +0000 |
commit | 6384119f0991b9686159e4c1ab4031958e1a87bf (patch) | |
tree | eb3108fa9ed9cddba79124f8e087a88f60732b06 | |
parent | 670729bfb4582fa29fa221faed226712a0baf256 (diff) | |
download | eclipse.platform.swt-6384119f0991b9686159e4c1ab4031958e1a87bf.tar.gz eclipse.platform.swt-6384119f0991b9686159e4c1ab4031958e1a87bf.tar.xz eclipse.platform.swt-6384119f0991b9686159e4c1ab4031958e1a87bf.zip |
Bug 291030 - Repaint cheese with RTL scrollable in bottom left corner
-rwxr-xr-x | bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Scrollable.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Scrollable.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Scrollable.java index c4ac04add5..e70338ebc1 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Scrollable.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Scrollable.java @@ -332,10 +332,15 @@ LRESULT wmNCPaint (int /*long*/ hwnd, int /*long*/ wParam, int /*long*/ lParam) vVisible = (psbi.rgstate [0] & OS.STATE_SYSTEM_INVISIBLE) == 0; } RECT cornerRect = new RECT (); - cornerRect.right = windowRect.right - windowRect.left - trimRect.right; cornerRect.bottom = windowRect.bottom - windowRect.top - trimRect.bottom; - cornerRect.left = cornerRect.right - (hVisible ? OS.GetSystemMetrics (OS.SM_CXVSCROLL) : 0); cornerRect.top = cornerRect.bottom - (vVisible ? OS.GetSystemMetrics (OS.SM_CYHSCROLL) : 0); + if ((bits2 & OS.WS_EX_LEFTSCROLLBAR) != 0) { + cornerRect.left = trimRect.left; + cornerRect.right = cornerRect.left + (hVisible ? OS.GetSystemMetrics (OS.SM_CXVSCROLL) : 0); + } else { + cornerRect.right = windowRect.right - windowRect.left - trimRect.right; + cornerRect.left = cornerRect.right - (hVisible ? OS.GetSystemMetrics (OS.SM_CXVSCROLL) : 0); + } if (cornerRect.left != cornerRect.right && cornerRect.top != cornerRect.bottom) { int /*long*/ hDC = OS.GetWindowDC (hwnd); OS.FillRect (hDC, cornerRect, OS.COLOR_BTNFACE + 1); |