+#endif // GTK+ 2.x/1.x
+}
+
+void wxRendererGTK::DrawComboBoxDropButton(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags)
+{
+ if (gs_button == NULL)
+ PrepareButtonDraw();
+
+ // device context must inherit from wxWindowDC
+ // (so it must be wxClientDC, wxMemoryDC or wxPaintDC)
+ wxWindowDC& wdc = (wxWindowDC&)dc;
+
+ // only doing debug-time checking here (it should probably be enough)
+ wxASSERT ( wdc.IsKindOf(CLASSINFO(wxWindowDC)) );
+
+ GtkStateType state = GTK_STATE_NORMAL;
+ GtkShadowType shadow = GTK_SHADOW_OUT;
+
+ if ( flags & wxCONTROL_PRESSED )
+ shadow = GTK_SHADOW_IN;
+ else if ( flags & wxCONTROL_CURRENT )
+ state = GTK_STATE_PRELIGHT;
+ else if ( flags & wxCONTROL_DISABLED )
+ state = GTK_STATE_INSENSITIVE;
+
+ gtk_paint_box
+ (
+ gs_button->style,
+ //GTK_PIZZA(wdc->m_window)->bin_window,
+ wdc.m_window,
+ state,
+ shadow,
+ NULL,
+ gs_button,
+ "button",
+ dc.XLOG2DEV(rect.x), rect.y, rect.width, rect.height
+ );
+
+ // draw arrow on button
+
+ int arr_wid = rect.width/2;
+ int arr_hei = rect.height/2;
+ arr_wid += arr_wid & 1;
+ arr_hei += arr_hei & 1;
+
+ gtk_paint_arrow
+ (
+ gs_button->style,
+ //GTK_PIZZA(wdc->m_window)->bin_window,
+ wdc.m_window,
+ state,
+ shadow,
+ NULL,
+ gs_button,
+ "arrow",
+ GTK_ARROW_DOWN,
+ TRUE,
+ dc.XLOG2DEV(rect.x) + (rect.width/2-arr_wid/2) + 1,
+ rect.y + (rect.height/2-arr_hei/2) + 1,
+ arr_wid,
+ arr_hei
+ );
+