diff options
author | Armin Le Grand <alg@apache.org> | 2014-03-19 16:17:02 +0000 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-03-28 14:31:08 +0100 |
commit | 6e61ecd09679a66060f932835622821d39e92f01 (patch) | |
tree | 4ce71adaa6da133cab09660b3efc1341104022a2 /basegfx | |
parent | c7190108f02921868cb617040aebdb2d22c02c1f (diff) |
Merge back branch alg_writerframes to trunk
(cherry picked from commit b635b4fa4e42053d30ab639643d2236a20243f62)
Conflicts:
comphelper/inc/comphelper/TypeGeneration.hxx
comphelper/source/property/TypeGeneration.cxx
cui/source/factory/dlgfact.hxx
cui/source/inc/cuitabarea.hxx
cui/source/tabpages/tabarea.cxx
cui/source/tabpages/tabarea.hrc
cui/source/tabpages/tabarea.src
cui/source/tabpages/tparea.cxx
drawinglayer/source/primitive2d/polypolygonprimitive2d.cxx
drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx
drawinglayer/source/texture/texture.cxx
editeng/inc/editeng/unotext.hxx
editeng/source/items/frmitems.cxx
include/drawinglayer/texture/texture.hxx
include/editeng/brushitem.hxx
include/svx/sdr/primitive2d/sdrdecompositiontools.hxx
include/svx/svxids.hrc
include/xmloff/xmltypes.hxx
reportdesign/source/ui/misc/UITools.cxx
sc/source/ui/drawfunc/drawsh.cxx
sfx2/source/dialog/tabdlg.cxx
svl/source/undo/undo.cxx
svx/inc/svx/unoshprp.hxx
sw/Library_sw.mk
sw/inc/doc.hxx
sw/inc/format.hxx
sw/inc/frmfmt.hxx
sw/inc/swatrset.hxx
sw/inc/unomap.hxx
sw/inc/unoprnms.hxx
sw/source/core/access/accpara.cxx
sw/source/core/attr/format.cxx
sw/source/core/attr/swatrset.cxx
sw/source/core/doc/docdraw.cxx
sw/source/core/doc/docfly.cxx
sw/source/core/doc/notxtfrm.cxx
sw/source/core/inc/frame.hxx
sw/source/core/inc/frmtool.hxx
sw/source/core/layout/atrfrm.cxx
sw/source/core/layout/paintfrm.cxx
sw/source/core/text/inftxt.cxx
sw/source/core/text/porfld.cxx
sw/source/core/text/txtfly.cxx
sw/source/core/txtnode/fntcache.cxx
sw/source/core/uibase/app/docst.cxx
sw/source/core/uibase/app/docstyle.cxx
sw/source/core/uibase/shells/drawdlg.cxx
sw/source/core/uibase/shells/frmsh.cxx
sw/source/core/unocore/unoframe.cxx
sw/source/core/unocore/unomap.cxx
sw/source/core/unocore/unoprnms.cxx
sw/source/core/unocore/unostyle.cxx
sw/source/ui/fmtui/tmpdlg.cxx
sw/source/ui/fmtui/tmpdlg.src
sw/source/ui/frmdlg/frmdlg.cxx
sw/source/ui/frmdlg/frmpage.src
sw/source/ui/inc/frmsh.hxx
xmloff/source/text/txtprhdl.cxx
xmloff/source/text/txtprmap.cxx
Change-Id: Id3ffaa83bb5594d287f1ac8f2c1c9cf55c70946d
Diffstat (limited to 'basegfx')
-rw-r--r-- | basegfx/Library_basegfx.mk | 1 | ||||
-rw-r--r-- | basegfx/source/numeric/ftools.cxx | 49 |
2 files changed, 50 insertions, 0 deletions
diff --git a/basegfx/Library_basegfx.mk b/basegfx/Library_basegfx.mk index de2430ca8644..36666472ba56 100644 --- a/basegfx/Library_basegfx.mk +++ b/basegfx/Library_basegfx.mk @@ -37,6 +37,7 @@ $(eval $(call gb_Library_add_exception_objects,basegfx,\ basegfx/source/matrix/b2dhommatrix \ basegfx/source/matrix/b2dhommatrixtools \ basegfx/source/matrix/b3dhommatrix \ + basegfx/source/numeric/ftools \ basegfx/source/pixel/bpixel \ basegfx/source/point/b2dpoint \ basegfx/source/point/b2ipoint \ diff --git a/basegfx/source/numeric/ftools.cxx b/basegfx/source/numeric/ftools.cxx new file mode 100644 index 000000000000..a67bc56bd74e --- /dev/null +++ b/basegfx/source/numeric/ftools.cxx @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#include <basegfx/numeric/ftools.hxx> +#include <algorithm> + +namespace basegfx +{ + double snapToNearestMultiple(double v, const double fStep) + { + if(fTools::equalZero(fStep)) + { + // with a zero step, all snaps to 0.0 + return 0.0; + } + else + { + const double fHalfStep(fStep * 0.5); + const double fChange(fHalfStep - fmod(v + fHalfStep, fStep)); + + if(basegfx::fTools::equal(fabs(v), fabs(fChange))) + { + return 0.0; + } + else + { + return v + fChange; + } + } + } +} // end of namespace basegfx + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |