Пример #1
0
bool NumberInputType::sizeShouldIncludeDecoration(int defaultSize, int& preferredSize) const
{
    preferredSize = defaultSize;

    const String stepString = element()->fastGetAttribute(stepAttr);
    if (equalIgnoringCase(stepString, "any"))
        return false;

    const Decimal minimum = parseToDecimalForNumberType(element()->fastGetAttribute(minAttr));
    if (!minimum.isFinite())
        return false;

    const Decimal maximum = parseToDecimalForNumberType(element()->fastGetAttribute(maxAttr));
    if (!maximum.isFinite())
        return false;

    const Decimal step = parseToDecimalForNumberType(stepString, 1);
    ASSERT(step.isFinite());

    RealNumberRenderSize size = calculateRenderSize(minimum).max(calculateRenderSize(maximum).max(calculateRenderSize(step)));

    preferredSize = size.sizeBeforeDecimalPoint + size.sizeAfteDecimalPoint + (size.sizeAfteDecimalPoint ? 1 : 0);

    return true;
}
Пример #2
0
	void GuiObject::sizeChanged(){
		ob_type::Vector2* newPos = calculateRenderPosision(new ob_type::Vector2());
		if(newPos){
			setAbsolutePosition(newPos);
			delete newPos;
		}
		ob_type::Vector2* newSize = calculateRenderSize(new ob_type::Vector2());
		if(newSize){
			setAbsoluteSize(newSize);
			delete newSize;
		}
	}