+ void SetPressedBitmap( const wxBitmap& bitmap )
+ {
+ NSButton* button = GetNSButton();
+ [button setAlternateImage: bitmap.GetNSImage()];
+ [button setButtonType:NSMomentaryChangeButton];
+ }
+
+private:
+ NSButton *GetNSButton() const
+ {
+ wxASSERT( [m_osxView isKindOfClass:[NSButton class]] );
+
+ return static_cast<NSButton *>(m_osxView);
+ }
+};
+
+extern "C" void SetBezelStyleFromBorderFlags(NSButton *v, long style);
+
+// set bezel style depending on the wxBORDER_XXX flags specified by the style
+void SetBezelStyleFromBorderFlags(NSButton *v, long style)
+{
+ if ( style & wxBORDER_NONE )
+ {
+ [v setBezelStyle:NSShadowlessSquareBezelStyle];
+ [v setBordered:NO];
+ }
+ else // we do have a border
+ {
+ // see trac #11128 for a thorough discussion
+ if ( (style & wxBORDER_MASK) == wxBORDER_RAISED )
+ [v setBezelStyle:NSRegularSquareBezelStyle];
+ else if ( (style & wxBORDER_MASK) == wxBORDER_SUNKEN )
+ [v setBezelStyle:NSSmallSquareBezelStyle];
+ else
+ [v setBezelStyle:NSShadowlessSquareBezelStyle];
+ }
+}
+
+} // anonymous namespace
+
+wxWidgetImplType* wxWidgetImpl::CreateButton( wxWindowMac* wxpeer,
+ wxWindowMac* WXUNUSED(parent),
+ wxWindowID id,