Example #1
0
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();
    }
}
Example #2
0
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;
}