[goffice] GOArrow: boxed type.



commit 2e2a247455c3c2d5de25c652e2c28b4e56adb9b5
Author: Morten Welinder <terra gnome org>
Date:   Wed Oct 14 11:44:03 2009 -0400

    GOArrow: boxed type.

 ChangeLog               |    3 ++-
 goffice/utils/go-line.c |   26 ++++++++++++++++++++++++++
 goffice/utils/go-line.h |    5 +++++
 3 files changed, 33 insertions(+), 1 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 6146936..26327c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
 2009-10-14  Morten Welinder  <terra gnome org>
 
-	* goffice/utils/go-line.c (go_arrow_init): New function.
+	* goffice/utils/go-line.c (go_arrow_init, go_arrow_get_type,
+	go_arrow_clear, go_arrow_dup): New functions.
 
 2009-10-12  Jean Brefort  <jean brefort normalesup org>
 
diff --git a/goffice/utils/go-line.c b/goffice/utils/go-line.c
index d7424e1..368d6b7 100644
--- a/goffice/utils/go-line.c
+++ b/goffice/utils/go-line.c
@@ -347,6 +347,20 @@ go_line_interpolation_auto_skip	(GOLineInterpolation type)
 	return FALSE;
 }
 
+/* ------------------------------------------------------------------------- */
+
+GType
+go_arrow_get_type (void)
+{
+	static GType t = 0;
+
+	if (t == 0) {
+		t = g_boxed_type_register_static ("GOArrow",
+			 (GBoxedCopyFunc)go_arrow_dup,
+			 (GBoxedFreeFunc)g_free);
+	}
+	return t;
+}
 
 void
 go_arrow_init (GOArrow *res,
@@ -359,3 +373,15 @@ go_arrow_init (GOArrow *res,
 	res->b = b;
 	res->c = c;
 }
+
+void
+go_arrow_clear (GOArrow *dst)
+{
+	go_arrow_init (dst, GO_ARROW_NONE, GO_COLOR_BLACK, 0, 0, 0);
+}
+
+GOArrow *
+go_arrow_dup (GOArrow *src)
+{
+	return g_memdup (src, sizeof (*src));
+}
diff --git a/goffice/utils/go-line.h b/goffice/utils/go-line.h
index 219987a..a159708 100644
--- a/goffice/utils/go-line.h
+++ b/goffice/utils/go-line.h
@@ -61,6 +61,11 @@ typedef struct {
 	double a, b, c;
 } GOArrow;
 
+GType go_arrow_get_type (void);
+#define GO_ARROW_TYPE (go_arrow_get_type())
+
+GOArrow *go_arrow_dup (GOArrow *src);
+void go_arrow_clear (GOArrow *dst);
 void go_arrow_init (GOArrow *res,
 		    GOArrowType typ, GOColor color,
 		    double a, double b, double c);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]