From 83dc6964f0a5fce3be25bcf774981f6aae807915 Mon Sep 17 00:00:00 2001 From: Robert Roebling <robert@roebling.de> Date: Mon, 28 Feb 2005 14:38:47 +0000 Subject: [PATCH] Changed ComboDropDown button under GTK+ so that it will create a transparent button. This works for the date control, but should be generalized somehow. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/datectlg.cpp | 21 +++++++++++++++++++++ src/gtk/renderer.cpp | 13 ------------- src/gtk1/renderer.cpp | 13 ------------- 3 files changed, 21 insertions(+), 26 deletions(-) diff --git a/src/generic/datectlg.cpp b/src/generic/datectlg.cpp index c035731aab..8a1c2bcf2e 100644 --- a/src/generic/datectlg.cpp +++ b/src/generic/datectlg.cpp @@ -194,12 +194,33 @@ void wxDropdownButton::DoMoveWindow(int x, int y, int w, int h) wxRect r(0,0,bw, bh); wxRendererNative& renderer = wxRendererNative::Get(); + +#ifdef __WXGTK__ + wxColour magic(255,0,255); + dc.SetBrush( wxBrush( magic ) ); + dc.SetPen( *wxTRANSPARENT_PEN ); + dc.DrawRectangle(0,0,bw,bh); + renderer.DrawComboBoxDropButton(this, dc, r); + wxMask *mask = new wxMask( bmp, magic ); + bmp.SetMask( mask ); +#else renderer.DrawComboBoxDropButton(this, dc, r); +#endif SetBitmapLabel(bmp); wxBitmap bmpSel(bw, bh); dc.SelectObject(bmpSel); + +#ifdef __WXGTK__ + dc.SetBrush( wxBrush( magic ) ); + dc.SetPen( *wxTRANSPARENT_PEN ); + dc.DrawRectangle(0,0,bw,bh); + renderer.DrawComboBoxDropButton(this, dc, r, wxCONTROL_PRESSED); + mask = new wxMask( bmpSel, magic ); + bmpSel.SetMask( mask ); +#else renderer.DrawComboBoxDropButton(this, dc, r, wxCONTROL_PRESSED); +#endif SetBitmapSelected(bmpSel); } diff --git a/src/gtk/renderer.cpp b/src/gtk/renderer.cpp index c6e3f69cdc..1094858d74 100644 --- a/src/gtk/renderer.cpp +++ b/src/gtk/renderer.cpp @@ -396,19 +396,6 @@ void wxRendererGTK::DrawComboBoxDropButton(wxWindow *win, else state = GTK_STATE_NORMAL; - // erase background first - gtk_paint_box - ( - button->style, - wdc.m_window, - state, - GTK_SHADOW_NONE, - NULL, - button, - "button", - rect.x, rect.y, rect.width, rect.height - ); - // draw arrow on button gtk_paint_arrow ( diff --git a/src/gtk1/renderer.cpp b/src/gtk1/renderer.cpp index c6e3f69cdc..1094858d74 100644 --- a/src/gtk1/renderer.cpp +++ b/src/gtk1/renderer.cpp @@ -396,19 +396,6 @@ void wxRendererGTK::DrawComboBoxDropButton(wxWindow *win, else state = GTK_STATE_NORMAL; - // erase background first - gtk_paint_box - ( - button->style, - wdc.m_window, - state, - GTK_SHADOW_NONE, - NULL, - button, - "button", - rect.x, rect.y, rect.width, rect.height - ); - // draw arrow on button gtk_paint_arrow ( -- 2.47.2