From 616c49a5053830a5e0a31c71fd6114926e43235f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Janouch?= Date: Mon, 10 Jan 2011 16:49:13 +0100 Subject: Make a separate library. This is required for gtkdoc-scangobj. So far it's much like it's been before, the main differences are that source files are in two directories from now on and the build process has two stages. --- liblogdiag/ld-canvas.h | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 liblogdiag/ld-canvas.h (limited to 'liblogdiag/ld-canvas.h') diff --git a/liblogdiag/ld-canvas.h b/liblogdiag/ld-canvas.h new file mode 100644 index 0000000..702f2fe --- /dev/null +++ b/liblogdiag/ld-canvas.h @@ -0,0 +1,91 @@ +/* + * ld-canvas.h + * + * This file is a part of logdiag. + * Copyright Přemysl Janouch 2010. All rights reserved. + * + * See the file LICENSE for licensing information. + * + */ + +#ifndef __LD_CANVAS_H__ +#define __LD_CANVAS_H__ + +G_BEGIN_DECLS + + +#define LD_TYPE_CANVAS (ld_canvas_get_type ()) +#define LD_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_CAST \ + ((obj), LD_TYPE_CANVAS, LdCanvas)) +#define LD_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST \ + ((klass), LD_TYPE_CANVAS, LdCanvasClass)) +#define LD_IS_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE \ + ((obj), LD_TYPE_CANVAS)) +#define LD_IS_CANVAS_CLASS(klass) (G_TYPE_CHECK_INSTANCE_TYPE \ + ((klass), LD_TYPE_CANVAS)) +#define LD_CANVAS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS \ + ((obj), LD_CANVAS, LdCanvasClass)) + +typedef struct _LdCanvas LdCanvas; +typedef struct _LdCanvasPrivate LdCanvasPrivate; +typedef struct _LdCanvasClass LdCanvasClass; + + +/** + * LdCanvas: + */ +struct _LdCanvas +{ +/*< private >*/ + GtkDrawingArea parent_instance; + LdCanvasPrivate *priv; + +/*< public >*/ +}; + +struct _LdCanvasClass +{ +/*< private >*/ + GtkDrawingAreaClass parent_class; + + guint cancel_operation_signal; + + void (*set_scroll_adjustments) (LdCanvas *self, + GtkAdjustment *horizontal, GtkAdjustment *vertical); + void (*cancel_operation) (LdCanvas *self); +}; + + +/** + * LD_CANVAS_BASE_UNIT: + * + * Length of the base unit in milimetres. + */ +#define LD_CANVAS_BASE_UNIT_LENGTH 2.5 + + +GType ld_canvas_get_type (void) G_GNUC_CONST; + +LdCanvas *ld_canvas_new (void); + +void ld_canvas_set_diagram (LdCanvas *self, LdDiagram *diagram); +LdDiagram *ld_canvas_get_diagram (LdCanvas *self); +void ld_canvas_set_library (LdCanvas *self, LdLibrary *library); +LdLibrary *ld_canvas_get_library (LdCanvas *self); + +void ld_canvas_widget_to_diagram_coords (LdCanvas *self, + gdouble wx, gdouble wy, gdouble *dx, gdouble *dy); +void ld_canvas_diagram_to_widget_coords (LdCanvas *self, + gdouble dx, gdouble dy, gdouble *wx, gdouble *wy); + +gdouble ld_canvas_get_zoom (LdCanvas *self); +void ld_canvas_set_zoom (LdCanvas *self, gdouble zoom); + +void ld_canvas_add_object_begin (LdCanvas *self, LdDiagramObject *object); + +/* TODO: The rest of the interface. */ + + +G_END_DECLS + +#endif /* ! __LD_CANVAS_H__ */ -- cgit v1.2.3