From caefef71482531ff82c444d552f406cbfbd360b8 Mon Sep 17 00:00:00 2001 From: "Liam P. White" Date: Wed, 25 Feb 2015 18:08:51 -0500 Subject: Collect util/ into a static library (bzr r13948) --- src/Makefile.am | 1 + src/display/canvas-axonomgrid.cpp | 2 +- src/display/canvas-grid.cpp | 4 +- src/helper/Makefile_insert | 1 + src/helper/mathfns.h | 82 ++++++++++++++++++++++++++++++++++++++ src/snap.cpp | 2 +- src/sp-shape.cpp | 2 +- src/util/CMakeLists.txt | 5 +-- src/util/Makefile_insert | 12 ++++-- src/util/mathfns.h | 83 --------------------------------------- 10 files changed, 99 insertions(+), 95 deletions(-) create mode 100644 src/helper/mathfns.h delete mode 100644 src/util/mathfns.h (limited to 'src') diff --git a/src/Makefile.am b/src/Makefile.am index db70b3956..a8f69fbfc 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -34,6 +34,7 @@ noinst_LIBRARIES = \ livarot/libvarot.a \ 2geom/lib2geom.a \ libdepixelize/libdepixelize.a \ + util/libutil.a \ libinkversion.a all_libs = \ diff --git a/src/display/canvas-axonomgrid.cpp b/src/display/canvas-axonomgrid.cpp index 88c23bf62..a2df86823 100644 --- a/src/display/canvas-axonomgrid.cpp +++ b/src/display/canvas-axonomgrid.cpp @@ -50,7 +50,7 @@ #include "svg/svg-color.h" #include "2geom/line.h" #include "2geom/angle.h" -#include "util/mathfns.h" +#include "helper/mathfns.h" #include "round.h" #include "util/units.h" diff --git a/src/display/canvas-grid.cpp b/src/display/canvas-grid.cpp index 0f58096ce..9b9f64529 100644 --- a/src/display/canvas-grid.cpp +++ b/src/display/canvas-grid.cpp @@ -35,7 +35,7 @@ #include "ui/widget/registered-widget.h" #include "desktop.h" #include "sp-canvas-util.h" -#include "util/mathfns.h" +#include "helper/mathfns.h" #include "display/cairo-utils.h" #include "display/canvas-axonomgrid.h" @@ -50,7 +50,7 @@ #include "sp-root.h" #include "svg/svg-color.h" #include "svg/stringstream.h" -#include "util/mathfns.h" +#include "helper/mathfns.h" #include "xml/node-event-vector.h" #include "verbs.h" #include "display/sp-canvas.h" diff --git a/src/helper/Makefile_insert b/src/helper/Makefile_insert index 4c6437f13..5cb4cea8d 100644 --- a/src/helper/Makefile_insert +++ b/src/helper/Makefile_insert @@ -14,6 +14,7 @@ ink_common_sources += \ helper/geom-nodetype.h \ helper/gnome-utils.cpp \ helper/gnome-utils.h \ + helper/mathfns.h \ helper/png-write.cpp \ helper/png-write.h \ helper/sp-marshal.cpp \ diff --git a/src/helper/mathfns.h b/src/helper/mathfns.h new file mode 100644 index 000000000..8fb88dc26 --- /dev/null +++ b/src/helper/mathfns.h @@ -0,0 +1,82 @@ +/* + * ... some mathmatical functions + * + * Authors: + * Johan Engelen + * + * Copyright (C) 2007 Johan Engelen + * + * Released under GNU GPL, read the file 'COPYING' for more information + */ + +#ifndef SEEN_INKSCAPE_UTIL_MATHFNS_H +#define SEEN_INKSCAPE_UTIL_MATHFNS_H + +#include <2geom/point.h> + +namespace Inkscape { + +namespace Util { + +/** + * Returns area in triangle given by points; may be negative. + */ +inline double +triangle_area (Geom::Point p1, Geom::Point p2, Geom::Point p3) +{ + using Geom::X; + using Geom::Y; + return (p1[X]*p2[Y] + p1[Y]*p3[X] + p2[X]*p3[Y] - p2[Y]*p3[X] - p1[Y]*p2[X] - p1[X]*p3[Y]); +} + +/** + * \return x rounded to the nearest multiple of c1 plus c0. + * + * \note + * If c1==0 (and c0 is finite), then returns +/-inf. This makes grid spacing of zero + * mean "ignore the grid in this dimension". + */ +inline double round_to_nearest_multiple_plus(double x, double const c1, double const c0) +{ + return floor((x - c0) / c1 + .5) * c1 + c0; +} + +/** + * \return x rounded to the lower multiple of c1 plus c0. + * + * \note + * If c1==0 (and c0 is finite), then returns +/-inf. This makes grid spacing of zero + * mean "ignore the grid in this dimension". + */ +inline double round_to_lower_multiple_plus(double x, double const c1, double const c0 = 0) +{ + return floor((x - c0) / c1) * c1 + c0; +} + +/** + * \return x rounded to the upper multiple of c1 plus c0. + * + * \note + * If c1==0 (and c0 is finite), then returns +/-inf. This makes grid spacing of zero + * mean "ignore the grid in this dimension". + */ +inline double round_to_upper_multiple_plus(double x, double const c1, double const c0 = 0) +{ + return ceil((x - c0) / c1) * c1 + c0; +} + +} + +} + +#endif +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 : diff --git a/src/snap.cpp b/src/snap.cpp index 8138e4546..96b5ab53c 100644 --- a/src/snap.cpp +++ b/src/snap.cpp @@ -33,7 +33,7 @@ #include "sp-guide.h" #include "preferences.h" #include "ui/tools/tool-base.h" -#include "util/mathfns.h" +#include "helper/mathfns.h" using std::vector; using Inkscape::Util::round_to_upper_multiple_plus; using Inkscape::Util::round_to_lower_multiple_plus; diff --git a/src/sp-shape.cpp b/src/sp-shape.cpp index 16f9ec13b..78135d459 100644 --- a/src/sp-shape.cpp +++ b/src/sp-shape.cpp @@ -47,7 +47,7 @@ #include "bad-uri-exception.h" #include "xml/repr.h" -#include "util/mathfns.h" // for triangle_area() +#include "helper/mathfns.h" // for triangle_area() #include "splivarot.h" // for bounding box calculation diff --git a/src/util/CMakeLists.txt b/src/util/CMakeLists.txt index 732e01b0c..8fd8c8c66 100644 --- a/src/util/CMakeLists.txt +++ b/src/util/CMakeLists.txt @@ -31,7 +31,6 @@ set(util_SRC list.h longest-common-suffix.h map-list.h - mathfns.h reference.h reverse-list.h share.h @@ -43,5 +42,5 @@ set(util_SRC ziptool.h ) -# add_inkscape_lib(util_LIB "${util_SRC}") -add_inkscape_source("${util_SRC}") +add_inkscape_lib(util_LIB "${util_SRC}") +# add_inkscape_source("${util_SRC}") diff --git a/src/util/Makefile_insert b/src/util/Makefile_insert index 6d2e63278..c23dffbca 100644 --- a/src/util/Makefile_insert +++ b/src/util/Makefile_insert @@ -1,8 +1,13 @@ ## Makefile.am fragment sourced by src/Makefile.am. -ink_common_sources += \ - util/ziptool.h \ - util/ziptool.cpp \ +util/all: util/libutil.a + +util/clean: + rm -f util/libutil.a $(util_libutil_a_OBJECTS) + +util_libutil_a_SOURCES = \ + util/ziptool.h \ + util/ziptool.cpp \ util/accumulators.h \ util/compose.hpp \ util/copy.h \ @@ -26,7 +31,6 @@ ink_common_sources += \ util/list-copy.h \ util/longest-common-suffix.h \ util/map-list.h \ - util/mathfns.h \ util/reference.h \ util/reverse-list.h \ util/share.h \ diff --git a/src/util/mathfns.h b/src/util/mathfns.h deleted file mode 100644 index 830e159da..000000000 --- a/src/util/mathfns.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Inkscape::Util::... some mathmatical functions - * - * Authors: - * Johan Engelen - * - * Copyright (C) 2007 Johan Engelen - * - * Released under GNU GPL, read the file 'COPYING' for more information - */ - -#ifndef SEEN_INKSCAPE_UTIL_MATHFNS_H -#define SEEN_INKSCAPE_UTIL_MATHFNS_H - -#include <2geom/point.h> - -namespace Inkscape { - -namespace Util { - -/** - * Returns area in triangle given by points; may be negative. - */ -inline double -triangle_area (Geom::Point p1, Geom::Point p2, Geom::Point p3) -{ - using Geom::X; - using Geom::Y; - return (p1[X]*p2[Y] + p1[Y]*p3[X] + p2[X]*p3[Y] - p2[Y]*p3[X] - p1[Y]*p2[X] - p1[X]*p3[Y]); -} - -/** - * \return x rounded to the nearest multiple of c1 plus c0. - * - * \note - * If c1==0 (and c0 is finite), then returns +/-inf. This makes grid spacing of zero - * mean "ignore the grid in this dimension". - */ -inline double round_to_nearest_multiple_plus(double x, double const c1, double const c0) -{ - return floor((x - c0) / c1 + .5) * c1 + c0; -} - -/** - * \return x rounded to the lower multiple of c1 plus c0. - * - * \note - * If c1==0 (and c0 is finite), then returns +/-inf. This makes grid spacing of zero - * mean "ignore the grid in this dimension". - */ -inline double round_to_lower_multiple_plus(double x, double const c1, double const c0 = 0) -{ - return floor((x - c0) / c1) * c1 + c0; -} - -/** - * \return x rounded to the upper multiple of c1 plus c0. - * - * \note - * If c1==0 (and c0 is finite), then returns +/-inf. This makes grid spacing of zero - * mean "ignore the grid in this dimension". - */ -inline double round_to_upper_multiple_plus(double x, double const c1, double const c0 = 0) -{ - return ceil((x - c0) / c1) * c1 + c0; -} - - -} - -} - -#endif -/* - Local Variables: - mode:c++ - c-file-style:"stroustrup" - c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) - indent-tabs-mode:nil - fill-column:99 - End: -*/ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 : -- cgit v1.2.3