Vec2f ComponentMenuItem::getContentRequestedSize(void) const { if(getComponent() != NULL) { Vec2f ComponentRequestedSize(0.0,0.0); if(getComponent() != NULL) { ComponentRequestedSize = getComponent()->getRequestedSize(); } Pnt2f AcceleratorTextTopLeft, AcceleratorTextBottomRight; getFont()->getBounds(_AcceleratorText, AcceleratorTextTopLeft, AcceleratorTextBottomRight); Vec2f RequestedSize((ComponentRequestedSize.x()) + (AcceleratorTextBottomRight.x() - AcceleratorTextTopLeft.x()), osgMax(getPreferredSize().y(), ComponentRequestedSize.y())); if(!_AcceleratorText.empty()) { RequestedSize[0] += 50.0f; } else { RequestedSize[0] += 25.0f; } return RequestedSize; } else { return Inherited::getContentRequestedSize(); } }
Vec2f MenuItem::getContentRequestedSize(void) const { Pnt2f TextTopLeft, TextBottomRight; getFont()->getBounds(getText(), TextTopLeft, TextBottomRight); Pnt2f AcceleratorTextTopLeft, AcceleratorTextBottomRight; getFont()->getBounds(_AcceleratorText, AcceleratorTextTopLeft, AcceleratorTextBottomRight); Vec2f RequestedSize((TextBottomRight.x() - TextTopLeft.x()) + (AcceleratorTextBottomRight.x() - AcceleratorTextTopLeft.x()), getPreferredSize().y()); if(!_AcceleratorText.empty()) { RequestedSize[0] += 50.0f; } else { RequestedSize[0] += 25.0f; } return RequestedSize; }