void TAbstractTextBox::_draw(TRenderTarget& target) {
    if (needsRedraw == true) {
        TRenderTarget& localTarget = renderImage.getRenderTarget();
        localTarget.clear();

        sf::RectangleShape innerBorder( sf::Vector2f(size.x, size.y) );
        innerBorder.setFillColor(_currentColor());

        if (0.f < borderSize) {
            innerBorder.setOutlineColor(_currentBorderColor());
            innerBorder.setOutlineThickness(borderSize);
        }
        localTarget.draw(innerBorder);

        if (text->GetText().empty() == false) {
            text->Draw(localTarget, TCoordinate(borderSize, borderSize));
        }

        renderImage.createDrawingObject();
        needsRedraw = false;
    }

    const TCoordinate position = GetScreenPosition();
    renderImage.getDrawingObject().setPosition(position.x, position.y);
    target.draw(renderImage.getDrawingObject());

#if defined(_DEBUG)
    if (Debug::show_frames() == true) {
        sf::RectangleShape boundingRect( sf::Vector2f(size.x, size.y) );
        boundingRect.setFillColor(sf::Color(0, 255 - 55 * mouseOver, 0, 128));
        boundingRect.setPosition(position.x, position.y);
        target.draw(boundingRect);

        sf::Text rectText;
        rectText.setString(name);
        rectText.setPosition(position.x, position.y);
        target.draw(rectText);
    }
#endif
}
Beispiel #2
0
void QtCurveHandler::setBorderSize()
{
    switch (m_config.borderSize()) {
    case QtCurveConfig::BORDER_NONE:
    case QtCurveConfig::BORDER_NO_SIDES:
        m_borderSize = 1;
        break;
    case QtCurveConfig::BORDER_TINY:
        m_borderSize = 2;
        break;
    case QtCurveConfig::BORDER_LARGE:
        m_borderSize = 8;
        break;
    case QtCurveConfig::BORDER_VERY_LARGE:
        m_borderSize = 12;
        break;
    case QtCurveConfig::BORDER_HUGE:
        m_borderSize = 18;
        break;
    case QtCurveConfig::BORDER_VERY_HUGE:
        m_borderSize = 27;
        break;
    case QtCurveConfig::BORDER_OVERSIZED:
        m_borderSize = 40;
        break;
    case QtCurveConfig::BORDER_NORMAL:
    default:
        m_borderSize = 4;
    }

    if (!outerBorder() && (m_borderSize == 1 || m_borderSize > 4)) {
        m_borderSize--;
    } else if (outerBorder() && innerBorder() &&
               m_config.borderSize() <= QtCurveConfig::BORDER_NORMAL) {
        m_borderSize += 2;
    }
}