From 179fa413b047bede6e32109e2ce82437c5fb8d34 Mon Sep 17 00:00:00 2001 From: MenTaLguY Date: Mon, 16 Jan 2006 02:36:01 +0000 Subject: moving trunk for module inkscape (bzr r1) --- src/guide-snapper.cpp | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/guide-snapper.cpp (limited to 'src/guide-snapper.cpp') diff --git a/src/guide-snapper.cpp b/src/guide-snapper.cpp new file mode 100644 index 000000000..e247c0451 --- /dev/null +++ b/src/guide-snapper.cpp @@ -0,0 +1,52 @@ +/** + * \file guide-snapper.cpp + * \brief Snapping things to guides. + * + * Authors: + * Lauris Kaplinski + * Frank Felfe + * Carl Hetherington + * + * Copyright (C) 1999-2002 Authors + * + * Released under GNU GPL, read the file 'COPYING' for more information + */ + +#include "libnr/nr-values.h" +#include "libnr/nr-point-fns.h" +#include "sp-namedview.h" +#include "sp-guide.h" + +Inkscape::GuideSnapper::GuideSnapper(SPNamedView const *nv, NR::Coord const d) : LineSnapper(nv, d) +{ + +} + +Inkscape::GuideSnapper::LineList Inkscape::GuideSnapper::_getSnapLines(NR::Point const &p) const +{ + LineList s; + + for (GSList const *l = _named_view->guides; l != NULL; l = l->next) { + SPGuide const *g = SP_GUIDE(l->data); + + /* We assume here that guides are horizontal or vertical */ + if (g->normal == component_vectors[NR::X]) { + s.push_back(std::make_pair(NR::X, g->position)); + } else { + s.push_back(std::make_pair(NR::Y, g->position)); + } + } + + return s; +} + +/* + 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 : -- cgit v1.2.3