aboutsummaryrefslogtreecommitdiff
path: root/src/ld-canvas.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ld-canvas.c')
-rw-r--r--src/ld-canvas.c44
1 files changed, 21 insertions, 23 deletions
diff --git a/src/ld-canvas.c b/src/ld-canvas.c
index e8c6021..03a8285 100644
--- a/src/ld-canvas.c
+++ b/src/ld-canvas.c
@@ -47,14 +47,19 @@
*/
typedef void (*OperationEnd) (LdCanvas *self);
-struct _AddObjectData
+enum
{
- LdDiagramObject *object;
- gboolean visible;
+ OPER_0,
+ OPER_ADD_OBJECT
};
typedef struct _AddObjectData AddObjectData;
+struct _AddObjectData
+{
+ LdDiagramObject *object;
+ gboolean visible;
+};
/*
* LdCanvasPrivate:
@@ -82,31 +87,16 @@ struct _LdCanvasPrivate
gdouble zoom;
gint operation;
- OperationEnd operation_end;
union
{
AddObjectData add_object;
}
operation_data;
+ OperationEnd operation_end;
};
#define OPER_DATA(self, member) ((self)->priv->operation_data.member)
-G_DEFINE_TYPE (LdCanvas, ld_canvas, GTK_TYPE_DRAWING_AREA);
-
-enum
-{
- PROP_0,
- PROP_DIAGRAM,
- PROP_LIBRARY
-};
-
-enum
-{
- OPER_0,
- OPER_ADD_OBJECT
-};
-
/*
* DrawData:
* @self: Our #LdCanvas.
@@ -114,6 +104,8 @@ enum
* @exposed_rect: The area that is to be redrawn.
* @scale: Computed size of one diagram unit in pixels.
*/
+typedef struct _DrawData DrawData;
+
struct _DrawData
{
LdCanvas *self;
@@ -122,8 +114,12 @@ struct _DrawData
gdouble scale;
};
-typedef struct _DrawData DrawData;
-
+enum
+{
+ PROP_0,
+ PROP_DIAGRAM,
+ PROP_LIBRARY
+};
static void ld_canvas_get_property (GObject *object, guint property_id,
GValue *value, GParamSpec *pspec);
@@ -170,6 +166,8 @@ static void draw_object (LdDiagramObject *diagram_object, DrawData *data);
static void draw_symbol (LdDiagramSymbol *diagram_symbol, DrawData *data);
+G_DEFINE_TYPE (LdCanvas, ld_canvas, GTK_TYPE_DRAWING_AREA);
+
static void
ld_canvas_class_init (LdCanvasClass *klass)
{
@@ -252,10 +250,10 @@ ld_canvas_init (LdCanvas *self)
self->priv->y = 0;
self->priv->zoom = 1;
- g_signal_connect (self, "expose-event",
- G_CALLBACK (on_expose_event), NULL);
g_signal_connect (self, "size-allocate",
G_CALLBACK (on_size_allocate), NULL);
+ g_signal_connect (self, "expose-event",
+ G_CALLBACK (on_expose_event), NULL);
g_signal_connect (self, "motion-notify-event",
G_CALLBACK (on_motion_notify), NULL);