示例#1
0
        Ice::Int compareRTypes(const RTypeSeq& lhs, const omero::RTypeSeq& rhs) {

            RTypeSeq val(lhs);
            RTypeSeq valR(rhs);

            bool reversed(false);
            if (valR.size() < val.size()) {
                reversed = true;
                RTypeSeq tmp(val);
                valR = val;
                val = tmp;
            }

            std::pair<RTypeSeq::iterator, RTypeSeq::iterator> idx = std::mismatch(
                    val.begin(), val.end(), valR.begin());

            if (idx.first == val.end() &&
                    idx.second == valR.end()) {
                return 0;
            }

            bool lessThan = std::lexicographical_compare(
                    val.begin(), val.end(),
                    valR.begin(), valR.end());
            if (reversed) {
                return lessThan ? 1 : -1;
            } else {
                return lessThan ? -1 : 1;
            }
        }
示例#2
0
文件: vumeter.cpp 项目: antico/osso
void VUMeter::paintValue()
{
    QPainter painter(this);
    painter.setWindow(0, 0, 50, 500);
    painter.setRenderHint(QPainter::TextAntialiasing);
    painter.setBrush(Qt::black);
    painter.drawRect(5, 10, 40, 35);
    painter.setPen(Qt::gray);
    painter.drawLine(5, 45, 45, 45);
    painter.drawLine(45, 10, 45, 45);

    painter.setPen(QPen(colValue, 1));
    QFont valFont("Arial", dimVal, QFont::Bold);
    painter.setFont(valFont);

    QRectF valR(5, 10, 40, 40);
    QString value = QString("%1").arg(val, 0);
    painter.drawText(valR, Qt::AlignCenter, value);
}