diff options
| author | Arcadie M. Cracan <acracan@gmail.com> | 2009-12-02 21:40:56 +0000 |
|---|---|---|
| committer | Arcadie M. Cracan <acracan@gmail.com> | 2009-12-02 21:40:56 +0000 |
| commit | af83df8da26b21a9fa55c29c40c7bf7bb27c6a33 (patch) | |
| tree | cf5563488fc3d691bdedaf914cf57b70edf9c1cf /src | |
| parent | Add forgotten libavoid files (diff) | |
| download | inkscape-af83df8da26b21a9fa55c29c40c7bf7bb27c6a33.tar.gz inkscape-af83df8da26b21a9fa55c29c40c7bf7bb27c6a33.zip | |
Add some more forgotten files
(bzr r8857)
Diffstat (limited to 'src')
| -rw-r--r-- | src/connection-points.cpp | 37 | ||||
| -rw-r--r-- | src/connection-points.h | 70 | ||||
| -rw-r--r-- | src/libavoid/.dirstamp | 0 |
3 files changed, 107 insertions, 0 deletions
diff --git a/src/connection-points.cpp b/src/connection-points.cpp new file mode 100644 index 000000000..9ed98d211 --- /dev/null +++ b/src/connection-points.cpp @@ -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 index 000000000..c1ddeb481 --- /dev/null +++ b/src/connection-points.h @@ -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 index e69de29bb..000000000 --- a/src/libavoid/.dirstamp +++ /dev/null |
