From b7f5cc27140907d888811fdcf925150315243db9 Mon Sep 17 00:00:00 2001 From: Craig Watson Date: Sat, 8 Apr 2017 20:09:11 -0400 Subject: [PATCH] Added sceneSize function to UBGraphicsScene --- src/domain/UBGraphicsScene.cpp | 18 ++++++++++++++++++ src/domain/UBGraphicsScene.h | 2 ++ 2 files changed, 20 insertions(+) diff --git a/src/domain/UBGraphicsScene.cpp b/src/domain/UBGraphicsScene.cpp index fe0cdcc7..f36984b9 100644 --- a/src/domain/UBGraphicsScene.cpp +++ b/src/domain/UBGraphicsScene.cpp @@ -2257,6 +2257,24 @@ QSize UBGraphicsScene::nominalSize() return mNominalSize; } +/** + * @brief Return the scene's boundary size, including any background item + * + * If no background item is present, this returns nominalSize() + */ +QSize UBGraphicsScene::sceneSize() +{ + UBGraphicsPDFItem *pdfItem = qgraphicsitem_cast(backgroundObject()); + + if (pdfItem) { + QRectF targetRect = pdfItem->sceneBoundingRect(); + return targetRect.size().toSize(); + } + + else + return nominalSize(); +} + void UBGraphicsScene::setNominalSize(const QSize& pSize) { if (nominalSize() != pSize) diff --git a/src/domain/UBGraphicsScene.h b/src/domain/UBGraphicsScene.h index 29966f6d..43a29836 100644 --- a/src/domain/UBGraphicsScene.h +++ b/src/domain/UBGraphicsScene.h @@ -277,6 +277,8 @@ class UBGraphicsScene: public UBCoreGraphicsScene, public UBItem QSize nominalSize(); + QSize sceneSize(); + void setNominalSize(const QSize& pSize); void setNominalSize(int pWidth, int pHeight);