void tst_QStaticText::drawOverlinedText() { QPixmap imageDrawText(1000, 1000); QPixmap imageDrawStaticText(1000, 1000); imageDrawText.fill(Qt::white); imageDrawStaticText.fill(Qt::white); QString s = QString::fromLatin1("Foobar"); QFont font; font.setOverline(true); { QPainter p(&imageDrawText); p.setFont(font); p.drawText(QPointF(50, 50), s); } { QPainter p(&imageDrawStaticText); QStaticText text = QStaticText(s); p.setFont(font); p.drawStaticText(QPointF(50, 50 - QFontMetricsF(p.font()).ascent()), text); } #if defined(DEBUG_SAVE_IMAGE) imageDrawText.save("drawOverlinedText_imageDrawText.png"); imageDrawStaticText.save("drawOverlinedText_imageDrawStaticText.png"); #endif QCOMPARE(imageDrawText, imageDrawStaticText); }
void TextSettingsDialog::accept() { QFont curFont = fontComboBox->currentFont(); curFont.setPointSize(sizeSpinBox->value()); curFont.setBold(boldToolButton->isChecked()); curFont.setItalic(italicToolButton->isChecked()); curFont.setUnderline(underlineToolButton->isChecked()); curFont.setOverline(overlineToolButton->isChecked()); changedSettings[LABEL_FONT] = curFont; QDialog::accept(); }
void tst_QFont::resolve() { QFont font; font.setPointSize(font.pointSize() * 2); font.setItalic(false); font.setWeight(QFont::Normal); font.setUnderline(false); font.setStrikeOut(false); font.setOverline(false); font.setStretch(QFont::Unstretched); QFont font1; font1.setWeight(QFont::Bold); QFont font2 = font1.resolve(font); QVERIFY(font2.weight() == font1.weight()); QVERIFY(font2.pointSize() == font.pointSize()); QVERIFY(font2.italic() == font.italic()); QVERIFY(font2.underline() == font.underline()); QVERIFY(font2.overline() == font.overline()); QVERIFY(font2.strikeOut() == font.strikeOut()); QVERIFY(font2.stretch() == font.stretch()); QFont font3; font3.setStretch(QFont::UltraCondensed); QFont font4 = font3.resolve(font1).resolve(font); QVERIFY(font4.stretch() == font3.stretch()); QVERIFY(font4.weight() == font.weight()); QVERIFY(font4.pointSize() == font.pointSize()); QVERIFY(font4.italic() == font.italic()); QVERIFY(font4.underline() == font.underline()); QVERIFY(font4.overline() == font.overline()); QVERIFY(font4.strikeOut() == font.strikeOut()); QFont f1,f2,f3; f2.setPointSize(45); f3.setPointSize(55); QFont f4 = f1.resolve(f2); QCOMPARE(f4.pointSize(), 45); f4 = f4.resolve(f3); QCOMPARE(f4.pointSize(), 55); }
void QPicturePaintEngine::drawTextItem(const QPointF &p , const QTextItem &ti) { Q_D(QPicturePaintEngine); #ifdef QT_PICTURE_DEBUG qDebug() << " -> drawTextItem():" << p << ti.text(); #endif const QTextItemInt &si = static_cast<const QTextItemInt &>(ti); if (si.chars == 0) QPaintEngine::drawTextItem(p, ti); // Draw as path if (d->pic_d->formatMajor >= 9) { int pos; SERIALIZE_CMD(QPicturePrivate::PdcDrawTextItem); QFont fnt = ti.font(); fnt.setUnderline(false); fnt.setStrikeOut(false); fnt.setOverline(false); qreal justificationWidth = 0; if (si.justified) justificationWidth = si.width.toReal(); d->s << p << ti.text() << fnt << ti.renderFlags() << double(fnt.d->dpi)/qt_defaultDpi() << justificationWidth; writeCmdLength(pos, /*brect=*/QRectF(), /*corr=*/false); } else if (d->pic_d->formatMajor >= 8) { // old old (buggy) format int pos; SERIALIZE_CMD(QPicturePrivate::PdcDrawTextItem); d->s << QPointF(p.x(), p.y() - ti.ascent()) << ti.text() << ti.font() << ti.renderFlags(); writeCmdLength(pos, /*brect=*/QRectF(), /*corr=*/false); } else { // old (buggy) format int pos; SERIALIZE_CMD(QPicturePrivate::PdcDrawText2); d->s << p << ti.text(); writeCmdLength(pos, QRectF(p, QSizeF(1,1)), true); } }
void tst_QFont::compare() { QFont font; { QFont font2 = font; font2.setPointSize( 24 ); QVERIFY( font != font2 ); QCOMPARE(font < font2,!(font2 < font)); } { QFont font2 = font; font2.setPixelSize( 24 ); QVERIFY( font != font2 ); QCOMPARE(font < font2,!(font2 < font)); } font.setPointSize(12); font.setItalic(false); font.setWeight(QFont::Normal); font.setUnderline(false); font.setStrikeOut(false); font.setOverline(false); { QFont font2 = font; font2.setPointSize( 24 ); QVERIFY( font != font2 ); QCOMPARE(font < font2,!(font2 < font)); } { QFont font2 = font; font2.setPixelSize( 24 ); QVERIFY( font != font2 ); QCOMPARE(font < font2,!(font2 < font)); } { QFont font2 = font; font2.setItalic(true); QVERIFY( font != font2 ); QCOMPARE(font < font2,!(font2 < font)); font2.setItalic(false); QVERIFY( font == font2 ); QVERIFY(!(font < font2)); font2.setWeight(QFont::Bold); QVERIFY( font != font2 ); QCOMPARE(font < font2,!(font2 < font)); font2.setWeight(QFont::Normal); QVERIFY( font == font2 ); QVERIFY(!(font < font2)); font.setUnderline(true); QVERIFY( font != font2 ); QCOMPARE(font < font2,!(font2 < font)); font.setUnderline(false); QVERIFY( font == font2 ); QVERIFY(!(font < font2)); font.setStrikeOut(true); QVERIFY( font != font2 ); QCOMPARE(font < font2,!(font2 < font)); font.setStrikeOut(false); QVERIFY( font == font2 ); QVERIFY(!(font < font2)); font.setOverline(true); QVERIFY( font != font2 ); QCOMPARE(font < font2,!(font2 < font)); font.setOverline(false); QVERIFY( font == font2 ); QVERIFY(!(font < font2)); font.setCapitalization(QFont::SmallCaps); QVERIFY( font != font2 ); QCOMPARE(font < font2,!(font2 < font)); font.setCapitalization(QFont::MixedCase); QVERIFY( font == font2 ); QVERIFY(!(font < font2)); } #if defined(Q_WS_X11) { QFont font1, font2; font1.setRawName("-Adobe-Helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1"); font2.setRawName("-Adobe-Helvetica-medium-r-normal--24-240-75-75-p-130-iso8859-1"); QVERIFY(font1 != font2); } #endif }
void tst_QFont::compare() { QFont font; { QFont font2 = font; font2.setPointSize(24); QVERIFY(font != font2); QCOMPARE(font < font2,!(font2 < font)); } { QFont font2 = font; font2.setPixelSize(24); QVERIFY(font != font2); QCOMPARE(font < font2,!(font2 < font)); } font.setPointSize(12); font.setItalic(false); font.setWeight(QFont::Normal); font.setUnderline(false); font.setStrikeOut(false); font.setOverline(false); { QFont font2 = font; font2.setPointSize(24); QVERIFY(font != font2); QCOMPARE(font < font2,!(font2 < font)); } { QFont font2 = font; font2.setPixelSize(24); QVERIFY(font != font2); QCOMPARE(font < font2,!(font2 < font)); } { QFont font2 = font; font2.setItalic(true); QVERIFY(font != font2); QCOMPARE(font < font2,!(font2 < font)); font2.setItalic(false); QCOMPARE(font, font2); QVERIFY(!(font < font2)); font2.setWeight(QFont::Bold); QVERIFY(font != font2); QCOMPARE(font < font2,!(font2 < font)); font2.setWeight(QFont::Normal); QCOMPARE(font, font2); QVERIFY(!(font < font2)); font.setUnderline(true); QVERIFY(font != font2); QCOMPARE(font < font2,!(font2 < font)); font.setUnderline(false); QCOMPARE(font, font2); QVERIFY(!(font < font2)); font.setStrikeOut(true); QVERIFY(font != font2); QCOMPARE(font < font2,!(font2 < font)); font.setStrikeOut(false); QCOMPARE(font, font2); QVERIFY(!(font < font2)); font.setOverline(true); QVERIFY(font != font2); QCOMPARE(font < font2,!(font2 < font)); font.setOverline(false); QCOMPARE(font, font2); QVERIFY(!(font < font2)); font.setCapitalization(QFont::SmallCaps); QVERIFY(font != font2); QCOMPARE(font < font2,!(font2 < font)); font.setCapitalization(QFont::MixedCase); QCOMPARE(font, font2); QVERIFY(!(font < font2)); } }
void QFontProto::setOverline(bool enable) { QFont *item = qscriptvalue_cast<QFont*>(thisObject()); if (item) item->setOverline(enable); }