From fb56485c07c7e1d87036cb6e66853051bba98547 Mon Sep 17 00:00:00 2001 From: Anatoly Mihalchenko Date: Fri, 16 Dec 2011 18:16:46 +0300 Subject: [PATCH] Sankore 378 --- src/tools/UBAbstractDrawRuler.cpp | 8 ++++++-- src/tools/UBAbstractDrawRuler.h | 15 +++++++-------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/tools/UBAbstractDrawRuler.cpp b/src/tools/UBAbstractDrawRuler.cpp index 3c8b8169..e69aa815 100644 --- a/src/tools/UBAbstractDrawRuler.cpp +++ b/src/tools/UBAbstractDrawRuler.cpp @@ -35,7 +35,6 @@ const QColor UBAbstractDrawRuler::sDarkBackgroundDrawColor = QColor(0xff, 0xff, const int UBAbstractDrawRuler::sLeftEdgeMargin = 10; const int UBAbstractDrawRuler::sDegreeToQtAngleUnit = 16; const int UBAbstractDrawRuler::sRotationRadius = 15; -const int UBAbstractDrawRuler::sPixelsPerMillimeter = 5; const int UBAbstractDrawRuler::sFillTransparency = 127; const int UBAbstractDrawRuler::sDrawTransparency = 192; const int UBAbstractDrawRuler::sRoundingRadius = sLeftEdgeMargin / 2; @@ -44,7 +43,12 @@ const int UBAbstractDrawRuler::sRoundingRadius = sLeftEdgeMargin / 2; UBAbstractDrawRuler::UBAbstractDrawRuler() : mShowButtons(false) , mAntiScaleRatio(1.0) -{} +{ + //we actually need to evaluate pixels per millimeter + QDesktopWidget* desktop = UBApplication::desktop(); + int dpiCommon = (desktop->physicalDpiX() + desktop->physicalDpiY()) / 2; + sPixelsPerMillimeter = qRound(dpiCommon / 25.4f);//because 1inch = 25.4 mm +} void UBAbstractDrawRuler::create(QGraphicsItem& item) { diff --git a/src/tools/UBAbstractDrawRuler.h b/src/tools/UBAbstractDrawRuler.h index cf98e2f5..0e632eff 100644 --- a/src/tools/UBAbstractDrawRuler.h +++ b/src/tools/UBAbstractDrawRuler.h @@ -70,14 +70,13 @@ protected: static const QColor sDarkBackgroundMiddleFillColor; static const QColor sDarkBackgroundDrawColor; - static const int sLeftEdgeMargin; - static const int sDegreeToQtAngleUnit; - static const int sRotationRadius; - static const int sPixelsPerMillimeter; - static const int sFillTransparency; - static const int sDrawTransparency; - static const int sRoundingRadius; - + static const int sLeftEdgeMargin; + static const int sDegreeToQtAngleUnit; + static const int sRotationRadius; + static const int sFillTransparency; + static const int sDrawTransparency; + static const int sRoundingRadius; + int sPixelsPerMillimeter; }; #endif