bool QPlatformPrintDevice::isValidPageLayout(const QPageLayout &layout, int resolution) const { // Check the page size is supported if (!supportedPageSize(layout.pageSize()).isValid()) return false; // Check the margins are valid QMarginsF pointMargins = layout.margins(QPageLayout::Point); QMarginsF printMargins = printableMargins(layout.pageSize(), layout.orientation(), resolution); return pointMargins.left() >= printMargins.left() && pointMargins.right() >= printMargins.right() && pointMargins.top() >= printMargins.top() && pointMargins.bottom() >= printMargins.bottom(); }
QDebug operator<<(QDebug dbg, const QPageLayout &layout) { QDebugStateSaver saver(dbg); if (layout.isValid()) { QString output = QStringLiteral("QPageLayout(%1, %2, l:%3 r:%4 t:%5 b:%6 %7)"); QString units; switch (layout.units()) { case QPageLayout::Millimeter: units = QStringLiteral("mm"); break; case QPageLayout::Point: units = QStringLiteral("pt"); break; case QPageLayout::Inch: units = QStringLiteral("in"); break; case QPageLayout::Pica: units = QStringLiteral("pc"); break; case QPageLayout::Didot: units = QStringLiteral("DD"); break; case QPageLayout::Cicero: units = QStringLiteral("CC"); break; } output = output.arg(layout.pageSize().name()) .arg(layout.orientation() == QPageLayout::Portrait ? QStringLiteral("Portrait") : QStringLiteral("Landscape")) .arg(layout.margins().left()) .arg(layout.margins().right()) .arg(layout.margins().top()) .arg(layout.margins().bottom()) .arg(units); dbg.nospace() << output; } else { dbg.nospace() << "QPageLayout()"; } return dbg; }