summaryrefslogtreecommitdiffstats
path: root/kviewshell/simplePageSize.cpp
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit47d455dd55be855e4cc691c32f687f723d9247ee (patch)
tree52e236aaa2576bdb3840ebede26619692fed6d7d /kviewshell/simplePageSize.cpp
downloadtdegraphics-47d455dd55be855e4cc691c32f687f723d9247ee.tar.gz
tdegraphics-47d455dd55be855e4cc691c32f687f723d9247ee.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdegraphics@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kviewshell/simplePageSize.cpp')
-rw-r--r--kviewshell/simplePageSize.cpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/kviewshell/simplePageSize.cpp b/kviewshell/simplePageSize.cpp
new file mode 100644
index 00000000..cc235ef8
--- /dev/null
+++ b/kviewshell/simplePageSize.cpp
@@ -0,0 +1,49 @@
+// SimplePageSize.cpp
+//
+// Part of KVIEWSHELL - A framework for multipage text/gfx viewers
+//
+// (C) 2002-2005 Stefan Kebekus
+// Distributed under the GPL
+
+// Add header files alphabetically
+
+#include <config.h>
+
+#include <kdebug.h>
+#include <qpaintdevice.h>
+
+#include "simplePageSize.h"
+
+
+double SimplePageSize::zoomForHeight(Q_UINT32 height) const
+{
+ if (!isValid()) {
+ kdError(1223) << "SimplePageSize::zoomForHeight() called when paper height was invalid" << endl;
+ return 0.1;
+ }
+ return (double)(height)/(QPaintDevice::x11AppDpiY()*(pageHeight.getLength_in_inch()));
+}
+
+
+double SimplePageSize::zoomForWidth(Q_UINT32 width) const
+{
+ if (!isValid()) {
+ kdError(1223) << "SimplePageSize::zoomForWidth() called when paper width was invalid" << endl;
+ return 0.1;
+ }
+ return (double)(width)/(QPaintDevice::x11AppDpiX()*(pageWidth.getLength_in_inch()));
+}
+
+
+double SimplePageSize::zoomToFitInto(const SimplePageSize &target) const
+{
+ if (!isValid() || isSmall() || !target.isValid()) {
+ kdWarning(1223) << "SimplePageSize::zoomToFitInto(...) with unsuitable source of target" << endl;
+ return 1.0;
+ }
+
+ double z1 = target.width() / pageWidth;
+ double z2 = target.height() / pageHeight;
+
+ return QMIN(z1,z2);
+}