Code

Add some more forgotten files
authorArcadie M. Cracan <acracan@gmail.com>
Wed, 2 Dec 2009 21:40:56 +0000 (23:40 +0200)
committerArcadie M. Cracan <acracan@gmail.com>
Wed, 2 Dec 2009 21:40:56 +0000 (23:40 +0200)
src/connection-points.cpp [new file with mode: 0644]
src/connection-points.h [new file with mode: 0644]
src/libavoid/.dirstamp [deleted file]

diff --git a/src/connection-points.cpp b/src/connection-points.cpp
new file mode 100644 (file)
index 0000000..9ed98d2
--- /dev/null
@@ -0,0 +1,37 @@
+#include "connection-points.h"
+
+
+bool ConnectionPoint::operator!=(ConnectionPoint& cp)
+{
+    return (id!=cp.id || type!=cp.type || dir!=cp.dir || pos!=cp.pos);
+}
+
+bool ConnectionPoint::operator==(ConnectionPoint& cp)
+{
+    return (id==cp.id && type==cp.type && dir==cp.dir && pos==cp.pos);
+}
+
+
+namespace Inkscape{
+
+SVGIStringStream&
+operator>>(SVGIStringStream& istr, ConnectionPoint& cp)
+{
+    istr>>cp.id>>cp.dir>>cp.pos[Geom::X]>>cp.pos[Geom::Y];
+
+    return istr;
+}
+
+SVGOStringStream&
+operator<<(SVGOStringStream& ostr, const ConnectionPoint& cp)
+{
+    ostr<<cp.id<<' '<<cp.dir<<' ';
+    ::operator<<( ostr, cp.pos[Geom::X] );
+    ostr<<' ';
+    ::operator<<( ostr, cp.pos[Geom::Y] );
+
+    return ostr;
+}
+
+
+}
diff --git a/src/connection-points.h b/src/connection-points.h
new file mode 100644 (file)
index 0000000..c1ddeb4
--- /dev/null
@@ -0,0 +1,70 @@
+#ifndef INKSCAPE_CONNECTION_POINT_H
+#define INKSCAPE_CONNECTION_POINT_H
+
+#include <2geom/point.h>
+//#include <libavoid/vertices.h>
+#include <libavoid/connector.h>
+
+#include "svg/stringstream.h"
+
+
+enum ConnPointType {
+    ConnPointDefault = 0,
+    ConnPointUserDefined = 1
+};
+enum ConnPointDefaultPos{
+    ConnPointPosTL, // Top Left
+    ConnPointPosTC, // Top Centre
+    ConnPointPosTR, // Top Right
+    ConnPointPosCL, // Centre Left
+    ConnPointPosCC, // Centre Centre
+    ConnPointPosCR, // Centre Right
+    ConnPointPosBL, // Bottom Left
+    ConnPointPosBC, // Bottom Centre
+    ConnPointPosBR, // Bottom Right
+};
+
+
+struct ConnectionPoint
+{
+    ConnectionPoint():
+        type(ConnPointDefault), // default to a default connection point
+        id(ConnPointPosCC), // default to the centre point
+        pos(),
+        dir(Avoid::ConnDirAll) // allow any direction
+    {
+    }
+    // type of the connection point
+    // default or user-defined
+    int type;
+
+    /* id of the connection point
+       in the case of default
+       connection points it specifies
+       which of the 9 types the
+       connection point is.
+    */
+    int id;
+
+    /* position related to parent item
+       in the case of default connection
+       points, these positions should be
+       computed by the item's avoidRef
+    */
+    Geom::Point pos;
+
+    // directions from which connections can occur
+    Avoid::ConnDirFlags dir;
+
+    bool operator!=(ConnectionPoint&);
+    bool operator==(ConnectionPoint&);
+};
+
+namespace Inkscape{
+
+SVGIStringStream& operator>>(SVGIStringStream& istr, ConnectionPoint& cp);
+SVGOStringStream& operator<<(SVGOStringStream& ostr, const ConnectionPoint& cp);
+
+}
+
+#endif
\ No newline at end of file
diff --git a/src/libavoid/.dirstamp b/src/libavoid/.dirstamp
deleted file mode 100644 (file)
index e69de29..0000000