summaryrefslogtreecommitdiff
path: root/basegfx/inc
diff options
context:
space:
mode:
authorTim Hardeck <thardeck@suse.com>2012-01-18 16:42:55 +0100
committerJan Holesovsky <kendy@suse.cz>2012-01-25 12:35:54 +0100
commit315d2ddc161e4b296febe9e54c3cfc9270310bfe (patch)
treedbf07bd17f430ef980074f27f5a540a34abea5c5 /basegfx/inc
parent554bcf4205ede6ec3adb9f39e676b77054b1e8a1 (diff)
optimized zoom to use more common intervals
Round zoom values beginning with 50 to a multiple of 5, with 100 to one of 10, with 500 to one of 50 and with 1000 to one of 100. The step 100 is enforced to have one fixed point.
Diffstat (limited to 'basegfx/inc')
-rw-r--r--basegfx/inc/basegfx/tools/zoomtools.hxx52
1 files changed, 52 insertions, 0 deletions
diff --git a/basegfx/inc/basegfx/tools/zoomtools.hxx b/basegfx/inc/basegfx/tools/zoomtools.hxx
new file mode 100644
index 000000000000..566418d3a8a8
--- /dev/null
+++ b/basegfx/inc/basegfx/tools/zoomtools.hxx
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2012 Tim Hardeck <thardeck@suse.com>
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef _BGFX_TOOLS_ZOOMTOOLS_HXX
+#define _BGFX_TOOLS_ZOOMTOOLS_HXX
+
+#include <sal/types.h>
+#include <basegfx/basegfxdllapi.h>
+
+//////////////////////////////////////////////////////////////////////////////
+
+namespace basegfx
+{
+ /** This namespace provides functions for optimized geometric zooming
+ */
+ namespace zoomtools
+ {
+ BASEGFX_DLLPUBLIC long zoomOut(long nCurrent);
+ BASEGFX_DLLPUBLIC long zoomIn(long nCurrent);
+ BASEGFX_DLLPUBLIC int zoomOut(int nCurrent);
+ BASEGFX_DLLPUBLIC int zoomIn(int nCurrent);
+ }
+}
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */