X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/05d9753817cac280b05d14b0aeb26018700d1764..ec184e324214ea06f0c056ab626de5f32bcdad3b:/src/gtk/renderer.cpp diff --git a/src/gtk/renderer.cpp b/src/gtk/renderer.cpp index 77ce8a0a4f..86ebfa8b4a 100644 --- a/src/gtk/renderer.cpp +++ b/src/gtk/renderer.cpp @@ -43,7 +43,7 @@ class WXDLLEXPORT wxRendererGTK : public wxDelegateRendererNative { public: // draw the header control button (used by wxListCtrl) - virtual void DrawHeaderButton(wxWindow *win, + virtual int DrawHeaderButton(wxWindow *win, wxDC& dc, const wxRect& rect, int flags = 0, @@ -181,7 +181,7 @@ wxRendererGTK::GetTreeWidget() // list/tree controls drawing // ---------------------------------------------------------------------------- -void +int wxRendererGTK::DrawHeaderButton(wxWindow *win, wxDC& dc, const wxRect& rect, @@ -212,7 +212,7 @@ wxRendererGTK::DrawHeaderButton(wxWindow *win, dc.LogicalToDeviceX(rect.x) - x_diff, rect.y, rect.width, rect.height ); - DrawHeaderButtonContents(win, dc, rect, flags, sortArrow, params); + return DrawHeaderButtonContents(win, dc, rect, flags, sortArrow, params); } // draw a ">" or "v" button @@ -510,6 +510,10 @@ wxRendererGTK::DrawItemSelectionRect(wxWindow *win, wxASSERT_MSG( gdk_window, wxT("cannot use wxRendererNative on wxDC of this type") ); + int x_diff = 0; + if (win->GetLayoutDirection() == wxLayout_RightToLeft) + x_diff = rect.width; + GtkStateType state; if (flags & wxCONTROL_SELECTED) { @@ -524,7 +528,7 @@ wxRendererGTK::DrawItemSelectionRect(wxWindow *win, NULL, win->m_wxwindow, "cell_even", - dc.LogicalToDeviceX(rect.x), + dc.LogicalToDeviceX(rect.x) - x_diff, dc.LogicalToDeviceY(rect.y), rect.width, rect.height );