// Implemented in button.cpp
void wxButtonCallback (Widget w, XtPointer clientData, XtPointer ptr);
-Pixmap XCreateInsensitivePixmap( Display *display, Pixmap pixmap );
+// Pixmap XCreateInsensitivePixmap( Display *display, Pixmap pixmap );
IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton, wxButton)
XmNactivateCallback, (XtCallbackProc) wxButtonCallback,
(XtPointer) this);
- SetCanAddEventHandler(TRUE);
-
wxSize best = m_bmpNormal.Ok() ? GetBestSize() : wxSize(30, 30);
if( size.x != -1 ) best.x = size.x;
if( size.y != -1 ) best.y = size.y;
wxBitmap newBitmap =
wxCreateMaskedBitmap(m_bmpNormalOriginal, col);
m_bmpNormal = newBitmap;
+ m_bitmapCache.SetBitmap( m_bmpNormal );
- pixmap = (Pixmap) m_bmpNormal.GetPixmap();
+ pixmap = (Pixmap) m_bmpNormal.GetDrawable();
}
else
- pixmap = (Pixmap) m_bmpNormal.GetLabelPixmap(m_mainWidget);
+ {
+ m_bitmapCache.SetBitmap( m_bmpNormal );
+ pixmap = (Pixmap) m_bitmapCache.GetLabelPixmap(m_mainWidget);
+ }
if (m_bmpDisabledOriginal.Ok())
{
wxCreateMaskedBitmap(m_bmpDisabledOriginal, col);
m_bmpDisabled = newBitmap;
- insensPixmap = (Pixmap) m_bmpDisabled.GetPixmap();
+ insensPixmap = (Pixmap) m_bmpDisabled.GetDrawable();
}
else
- insensPixmap = (Pixmap) m_bmpNormal.GetInsensPixmap(m_mainWidget);
+ insensPixmap = (Pixmap) m_bitmapCache.GetInsensPixmap(m_mainWidget);
}
else
- insensPixmap = (Pixmap) m_bmpNormal.GetInsensPixmap(m_mainWidget);
+ insensPixmap = (Pixmap) m_bitmapCache.GetInsensPixmap(m_mainWidget);
// Now make the bitmap representing the armed state
if (m_bmpSelectedOriginal.Ok())
wxCreateMaskedBitmap(m_bmpSelectedOriginal, col);
m_bmpSelected = newBitmap;
- armPixmap = (Pixmap) m_bmpSelected.GetPixmap();
+ armPixmap = (Pixmap) m_bmpSelected.GetDrawable();
}
else
- armPixmap = (Pixmap) m_bmpNormal.GetArmPixmap(m_mainWidget);
+ armPixmap = (Pixmap) m_bitmapCache.GetArmPixmap(m_mainWidget);
}
else
- armPixmap = (Pixmap) m_bmpNormal.GetArmPixmap(m_mainWidget);
+ armPixmap = (Pixmap) m_bitmapCache.GetArmPixmap(m_mainWidget);
+#if 0
// <- the Get...Pixmap()-functions return the same pixmap!
if (insensPixmap == pixmap)
{
XCreateInsensitivePixmap(DisplayOfScreen(XtScreen((Widget) m_mainWidget)), pixmap);
m_insensPixmap = (WXPixmap) insensPixmap;
}
+#endif
XtVaSetValues ((Widget) m_mainWidget,
XmNlabelPixmap, pixmap,
void wxBitmapButton::ChangeBackgroundColour()
{
- DoChangeBackgroundColour(m_mainWidget, m_backgroundColour, TRUE);
+ wxDoChangeBackgroundColour(m_mainWidget, m_backgroundColour, TRUE);
// Must reset the bitmaps since the colours have changed.
DoSetBitmap();