+ if (!button->HasVMT()) return;
+ if (g_blockEventsOnDrag) return;
+
+ button->NotFocus();
+}
+
+//-----------------------------------------------------------------------------
+// "pressed"
+//-----------------------------------------------------------------------------
+
+static void gtk_bmpbutton_press_callback( GtkWidget *WXUNUSED(widget), wxBitmapButton *button )
+{
+ if (!button->HasVMT()) return;
+ if (g_blockEventsOnDrag) return;
+
+ button->StartSelect();
+}
+
+//-----------------------------------------------------------------------------
+// "released"
+//-----------------------------------------------------------------------------
+
+static void gtk_bmpbutton_release_callback( GtkWidget *WXUNUSED(widget), wxBitmapButton *button )
+{
+ if (!button->HasVMT()) return;
+ if (g_blockEventsOnDrag) return;
+
+ button->EndSelect();
+}
+
+//-----------------------------------------------------------------------------
+// wxBitmapButton
+//-----------------------------------------------------------------------------
+
+IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton,wxControl)
+
+wxBitmapButton::wxBitmapButton()
+{
+}
+
+bool wxBitmapButton::Create( wxWindow *parent, wxWindowID id, const wxBitmap &bitmap,
+ const wxPoint &pos, const wxSize &size,
+ long style, const wxValidator& validator, const wxString &name )
+{
+ m_needParent = TRUE;