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/connection-points.h | |
| 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/connection-points.h')
| -rw-r--r-- | src/connection-points.h | 70 |
1 files changed, 70 insertions, 0 deletions
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 |
