+ // Ray Gilbert's changes - Corrects the problem of a BMP
+ // being placed next to text in a menu item, and the BMP does
+ // not match the size expected by the system. This will
+ // resize the space so the BMP will fit. Without this, BMPs
+ // must be no larger or smaller than 16x16.
+ if (m_bmpChecked.Ok())
+ {
+ // Is BMP height larger then text height?
+ size_t adjustedHeight = m_bmpChecked.GetHeight() +
+ wxSystemSettings::GetSystemMetric(wxSYS_EDGE_Y);
+ if (*pheight < adjustedHeight)
+ *pheight = adjustedHeight;
+
+ // Does BMP encroach on default check menu position?
+ size_t adjustedWidth = m_bmpChecked.GetWidth() +
+ (wxSystemSettings::GetSystemMetric(wxSYS_EDGE_X) * 2);
+ if (ms_nDefaultMarginWidth < adjustedWidth)
+ *pwidth += adjustedWidth - ms_nDefaultMarginWidth;
+
+ // Do we need to widen margin to fit BMP?
+ if ((size_t)GetMarginWidth() < adjustedWidth)
+ SetMarginWidth(adjustedWidth);
+ }
+