summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: a3c80b0)
raw | patch | inline | side by side (parent: a3c80b0)
| author | cth103 <cth103@users.sourceforge.net> | |
| Thu, 4 May 2006 14:14:43 +0000 (14:14 +0000) | ||
| committer | cth103 <cth103@users.sourceforge.net> | |
| Thu, 4 May 2006 14:14:43 +0000 (14:14 +0000) |
diff --git a/src/grid-snapper.h b/src/grid-snapper.h
index 73a1f25008c4c5ff730f9222dcda1bfac62b1aa4..247823ac7738cb4cb022a86ffc0b08f13a4a4f68 100644 (file)
--- a/src/grid-snapper.h
+++ b/src/grid-snapper.h
class GridSnapper : public LineSnapper
{
public:
- GridSnapper() {}
GridSnapper(SPNamedView const *nv, NR::Coord const d);
private:
diff --git a/src/guide-snapper.h b/src/guide-snapper.h
index 654149f5c5fa90fbaaee64bc70803addd1896b11..f4c7b2de711de71723b4749fb4585d2beeb234a7 100644 (file)
--- a/src/guide-snapper.h
+++ b/src/guide-snapper.h
class GuideSnapper : public LineSnapper
{
public:
- GuideSnapper() {}
GuideSnapper(SPNamedView const *nv, NR::Coord const d);
private:
diff --git a/src/line-snapper.h b/src/line-snapper.h
index 72afab76d0c4e3a3f091cbd4046b1c072621e2ec..581466d330533b4ebbdd005c4d31440525253b9e 100644 (file)
--- a/src/line-snapper.h
+++ b/src/line-snapper.h
class LineSnapper : public Snapper
{
public:
- LineSnapper() {}
LineSnapper(SPNamedView const *nv, NR::Coord const d);
protected:
typedef std::list<std::pair<NR::Dim2, NR::Coord> > LineList;
private:
- virtual SnappedPoint _doFreeSnap(NR::Point const &p,
+ SnappedPoint _doFreeSnap(NR::Point const &p,
std::list<SPItem const *> const &it) const;
SnappedPoint _doConstrainedSnap(NR::Point const &p,
diff --git a/src/object-snapper.h b/src/object-snapper.h
index 98d457088856bb482adec17ffb4ae3628381aedc..189e96e3e249c925303a8c55edd967a4605b70f6 100644 (file)
--- a/src/object-snapper.h
+++ b/src/object-snapper.h
class ObjectSnapper : public Snapper
{
public:
- ObjectSnapper() {}
ObjectSnapper(SPNamedView const *nv, NR::Coord const d);
void setSnapToNodes(bool s) {
}
private:
- virtual SnappedPoint _doFreeSnap(NR::Point const &p,
+ SnappedPoint _doFreeSnap(NR::Point const &p,
std::list<SPItem const *> const &it) const;
SnappedPoint _doConstrainedSnap(NR::Point const &p,
diff --git a/src/snap.cpp b/src/snap.cpp
index 940d4c77208c6f17f898423baf692080a67892d0..452a1e496bb7583396480dfbbbf6b6b2b0a9f42e 100644 (file)
--- a/src/snap.cpp
+++ b/src/snap.cpp
#include <libnr/nr-scale-ops.h>
#include <libnr/nr-values.h>
+SnapManager::SnapManager(SPNamedView* v) : grid(v, 0), guide(v, 0), object(v, 0)
+{
+
+}
+
SnapManager::SnapperList SnapManager::getSnappers() const
{
SnapManager::SnapperList s;
diff --git a/src/snap.h b/src/snap.h
index 49c4987898dc8ee454404a4c40dfc7de718faf14..c77e8df41aeb5441af1ef84da91feb0d48fc20ef 100644 (file)
--- a/src/snap.h
+++ b/src/snap.h
class SnapManager
{
public:
+ SnapManager(SPNamedView* v);
+
bool willSnapSomething() const;
Inkscape::SnappedPoint freeSnap(Inkscape::Snapper::PointType t,
diff --git a/src/sp-namedview.cpp b/src/sp-namedview.cpp
index 4be180237da119729dc7461c799463b5bcbacadd..129ef2c8c9a0128faa73bb6487e14fbd725f031a 100644 (file)
--- a/src/sp-namedview.cpp
+++ b/src/sp-namedview.cpp
static void sp_namedview_init(SPNamedView *nv)
{
- // explicitly call a contructor
- new(nv) SPNamedView();
-
nv->editable = TRUE;
nv->showgrid = FALSE;
nv->showguides = TRUE;
nv->default_layer_id = 0;
nv->connector_spacing = defaultConnSpacing;
+
+ new (&nv->snap_manager) SnapManager(nv);
}
static void sp_namedview_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
((SPObjectClass *) parent_class)->release(object);
}
- namedview->~SPNamedView();
+ namedview->snap_manager.~SnapManager();
}
static void sp_namedview_set(SPObject *object, unsigned int key, const gchar *value)