+ // draw the bitmap if there is one
+ if ( params && params->m_labelBitmap.IsOk() )
+ {
+ int w = params->m_labelBitmap.GetWidth();
+ int h = params->m_labelBitmap.GetHeight();
+
+ const int margin = 1; // an extra pixel on either side of the bitmap
+
+ bmpWidth = w + 2*margin;
+ labelWidth += bmpWidth;
+
+ int x = rect.x + margin;
+ const int y = rect.y + wxMax(1, (rect.height - h) / 2);
+
+ const int extraSpace = rect.width - labelWidth;
+ if ( params->m_labelText.empty() && extraSpace > 0 )
+ {
+ // use the alignment flags
+ switch (params->m_labelAlignment)
+ {
+ default:
+ case wxALIGN_LEFT:
+ break;
+
+ case wxALIGN_CENTER:
+ x += extraSpace/2;
+ break;