]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/notebook.cpp
Minor header cleaning.
[wxWidgets.git] / src / msw / notebook.cpp
index 9134dfc3e0d0a0f9246866da332a7786f791545d..bfc98f9e01554de3fc38d8c1162694e38270ff11 100644 (file)
@@ -911,6 +911,9 @@ void wxNotebook::OnPaint(wxPaintEvent& WXUNUSED(event))
     wxBitmap bmp(rc.right, rc.bottom);
     memdc.SelectObject(bmp);
 
+    const wxLayoutDirection dir = dc.GetLayoutDirection();
+    memdc.SetLayoutDirection(dir);
+
     // if there is no special brush just use the solid background colour
 #if wxUSE_UXTHEME
     HBRUSH hbr = (HBRUSH)m_hbrBackground;
@@ -928,7 +931,10 @@ void wxNotebook::OnPaint(wxPaintEvent& WXUNUSED(event))
 
     MSWDefWindowProc(WM_PAINT, (WPARAM)memdc.GetHDC(), 0);
 
-    dc.Blit(0, 0, rc.right, rc.bottom, &memdc, 0, 0);
+    // For some reason in RTL mode, source offset has to be -1, otherwise the 
+    // right border (physical) remains unpainted.
+    const wxCoord ofs = dir == wxLayout_RightToLeft ? -1 : 0;
+    dc.Blit(ofs, 0, rc.right, rc.bottom, &memdc, ofs, 0);
 }
 
 #endif // USE_NOTEBOOK_ANTIFLICKER