summaryrefslogtreecommitdiffstats
path: root/ganv/edge.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-12-08 22:34:35 +0000
committerDavid Robillard <d@drobilla.net>2011-12-08 22:34:35 +0000
commitcf71d7ee9914de3936456eebe6d87948b46b2e57 (patch)
treef9a90d23a3e9e2f68adf329952de33b6e452f9b4 /ganv/edge.h
parentf808fa7d26df3b42c0bb33c49894920b0f975ec9 (diff)
downloadganv-cf71d7ee9914de3936456eebe6d87948b46b2e57.tar.gz
ganv-cf71d7ee9914de3936456eebe6d87948b46b2e57.tar.bz2
ganv-cf71d7ee9914de3936456eebe6d87948b46b2e57.zip
Hide implementations.
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@3837 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'ganv/edge.h')
-rw-r--r--ganv/edge.h48
1 files changed, 13 insertions, 35 deletions
diff --git a/ganv/edge.h b/ganv/edge.h
index 15da68a..461aa17 100644
--- a/ganv/edge.h
+++ b/ganv/edge.h
@@ -23,37 +23,21 @@
G_BEGIN_DECLS
-#define GANV_TYPE_EDGE (ganv_edge_get_type())
-#define GANV_EDGE(obj) (GTK_CHECK_CAST((obj), GANV_TYPE_EDGE, GanvEdge))
-#define GANV_EDGE_CLASS(klass) (GTK_CHECK_CLASS_CAST((klass), GANV_TYPE_EDGE, GanvEdgeClass))
-#define GANV_IS_EDGE(obj) (GTK_CHECK_TYPE((obj), GANV_TYPE_EDGE))
-#define GANV_IS_EDGE_CLASS(klass) (GTK_CHECK_CLASS_TYPE((klass), GANV_TYPE_EDGE))
-#define GANV_EDGE_GET_CLASS(obj) (GTK_CHECK_GET_CLASS((obj), GANV_TYPE_EDGE, GanvEdgeClass))
+#define GANV_TYPE_EDGE (ganv_edge_get_type())
+#define GANV_EDGE(obj) (GTK_CHECK_CAST((obj), GANV_TYPE_EDGE, GanvEdge))
+#define GANV_EDGE_CLASS(klass) (GTK_CHECK_CLASS_CAST((klass), GANV_TYPE_EDGE, GanvEdgeClass))
+#define GANV_IS_EDGE(obj) (GTK_CHECK_TYPE((obj), GANV_TYPE_EDGE))
+#define GANV_IS_EDGE_CLASS(klass) (GTK_CHECK_CLASS_TYPE((klass), GANV_TYPE_EDGE))
+#define GANV_EDGE_GET_CLASS(obj) (GTK_CHECK_GET_CLASS((obj), GANV_TYPE_EDGE, GanvEdgeClass))
+#define GANV_EDGE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), GANV_TYPE_EDGE, GanvEdgeImpl))
typedef struct _GanvEdgeClass GanvEdgeClass;
-
-typedef struct {
- double x1, y1, x2, y2;
- double cx1, cy1, cx2, cy2;
- double handle_x, handle_y, handle_radius;
- double width;
- gboolean curved;
- gboolean arrowhead;
-} GanvEdgeCoords;
+typedef struct _GanvEdgeImpl GanvEdgeImpl;
struct _GanvEdge
{
GnomeCanvasItem item;
- GanvNode* tail;
- GanvNode* head;
- GanvEdgeCoords coords;
- GanvEdgeCoords old_coords;
- double dash_length;
- double dash_offset;
- guint color;
- gboolean selected;
- gboolean highlighted;
- gboolean ghost;
+ GanvEdgeImpl* impl;
};
struct _GanvEdgeClass {
@@ -97,17 +81,11 @@ void
ganv_edge_tick(GanvEdge* edge,
double seconds);
-static inline GanvNode*
-ganv_edge_get_tail(const GanvEdge* edge)
-{
- return edge->tail;
-}
+GanvNode*
+ganv_edge_get_tail(const GanvEdge* edge);
-static inline GanvNode*
-ganv_edge_get_head(const GanvEdge* edge)
-{
- return edge->head;
-}
+GanvNode*
+ganv_edge_get_head(const GanvEdge* edge);
G_END_DECLS