Code

Merge GSoC2009 Connectors into trunk
[inkscape.git] / src / sp-conn-end.h
index a565b6404f08146a9d660e978ef14c23e808ae93..5e9dbb9dae35620eb7d5a21154fd3552bf8bb694 100644 (file)
@@ -5,6 +5,8 @@
 #include <sigc++/connection.h>
 
 #include "sp-use-reference.h"
+#include "connection-points.h"
+#include "conn-avoid-ref.h"
 
 
 class SPConnEnd {
@@ -14,6 +16,15 @@ public:
     SPUseReference ref;
     gchar *href;
 
+    /* In the following, type refers to connection point type,
+       i.e. default (one of the 9 combinations of right, centre,
+       left, top, bottom) or user-defined. The id serves to identify
+       the connection point in a list of connection points.
+    */
+
+    ConnPointType type;
+    int id;
+
     /** Change of href string (not a modification of the attributes of the referrent). */
     sigc::connection _changed_connection;
 
@@ -23,7 +34,7 @@ public:
     /** A sigc connection for transformed signal, used to do move compensation. */
     sigc::connection _transformed_connection;
 
-    void setAttacherHref(gchar const *);
+    void setAttacherHref(gchar const *, SPPath *);
 
 private:
     SPConnEnd(SPConnEnd const &);
@@ -32,8 +43,9 @@ private:
 
 void sp_conn_end_href_changed(SPObject *old_ref, SPObject *ref,
                               SPConnEnd *connEnd, SPPath *path, unsigned const handle_ix);
-void sp_conn_adjust_invalid_path(SPPath *const path);
-void sp_conn_adjust_path(SPPath *const path);
+void sp_conn_reroute_path(SPPath *const path);
+void sp_conn_reroute_path_immediate(SPPath *const path);
+void sp_conn_redraw_path(SPPath *const path);
 void sp_conn_end_detach(SPObject *const owner, unsigned const handle_ix);