aboutsummaryrefslogtreecommitdiff
path: root/liblogdiag/ld-symbol.h
diff options
context:
space:
mode:
authorPřemysl Janouch <p.janouch@gmail.com>2011-01-10 16:49:13 +0100
committerPřemysl Janouch <p.janouch@gmail.com>2011-01-10 17:07:02 +0100
commit616c49a5053830a5e0a31c71fd6114926e43235f (patch)
tree8a21f60862a86d5fb2faf5ed7fd70aa7a2ce69d5 /liblogdiag/ld-symbol.h
parent63b36a2b5b8e04f5d96fa9aa8d212a01c73aad49 (diff)
downloadlogdiag-616c49a5053830a5e0a31c71fd6114926e43235f.tar.gz
logdiag-616c49a5053830a5e0a31c71fd6114926e43235f.tar.xz
logdiag-616c49a5053830a5e0a31c71fd6114926e43235f.zip
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.
Diffstat (limited to 'liblogdiag/ld-symbol.h')
-rw-r--r--liblogdiag/ld-symbol.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/liblogdiag/ld-symbol.h b/liblogdiag/ld-symbol.h
new file mode 100644
index 0000000..409eba5
--- /dev/null
+++ b/liblogdiag/ld-symbol.h
@@ -0,0 +1,74 @@
+/*
+ * ld-symbol.h
+ *
+ * This file is a part of logdiag.
+ * Copyright Přemysl Janouch 2010 - 2011. All rights reserved.
+ *
+ * See the file LICENSE for licensing information.
+ *
+ */
+
+#ifndef __LD_SYMBOL_H__
+#define __LD_SYMBOL_H__
+
+G_BEGIN_DECLS
+
+
+#define LD_TYPE_SYMBOL (ld_symbol_get_type ())
+#define LD_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_CAST \
+ ((obj), LD_TYPE_SYMBOL, LdSymbol))
+#define LD_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST \
+ ((klass), LD_TYPE_SYMBOL, LdSymbolClass))
+#define LD_IS_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE \
+ ((obj), LD_TYPE_SYMBOL))
+#define LD_IS_SYMBOL_CLASS(klass) (G_TYPE_CHECK_INSTANCE_TYPE \
+ ((klass), LD_TYPE_SYMBOL))
+#define LD_SYMBOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS \
+ ((obj), LD_SYMBOL, LdSymbolClass))
+
+typedef struct _LdSymbol LdSymbol;
+typedef struct _LdSymbolPrivate LdSymbolPrivate;
+typedef struct _LdSymbolClass LdSymbolClass;
+
+
+struct _LdSymbol
+{
+/*< private >*/
+ GObject parent_instance;
+ LdSymbolPrivate *priv;
+};
+
+/**
+ * LdSymbolClass:
+ * @parent_class: The parent class.
+ * @get_name: Get the name of the symbol.
+ * @get_human_name: Get the localized human name of the symbol.
+ * @get_area: Get the area of the symbol.
+ * @get_terminals: Get a list of symbol terminals.
+ * @draw: Draw the symbol on a Cairo surface.
+ */
+struct _LdSymbolClass
+{
+ GObjectClass parent_class;
+
+ const gchar *(*get_name) (LdSymbol *self);
+ const gchar *(*get_human_name) (LdSymbol *self);
+ void (*get_area) (LdSymbol *self, LdRectangle *area);
+ const LdPointArray *(*get_terminals) (LdSymbol *self);
+ void (*draw) (LdSymbol *self, cairo_t *cr);
+};
+
+
+GType ld_symbol_get_type (void) G_GNUC_CONST;
+
+const gchar *ld_symbol_get_name (LdSymbol *self);
+const gchar *ld_symbol_get_human_name (LdSymbol *self);
+void ld_symbol_get_area (LdSymbol *self, LdRectangle *area);
+const LdPointArray *ld_symbol_get_terminals (LdSymbol *self);
+void ld_symbol_draw (LdSymbol *self, cairo_t *cr);
+
+
+G_END_DECLS
+
+#endif /* ! __LD_SYMBOL_H__ */
+