From 2328058b46f8dd1f2a80b860e49f89ec0a80a660 Mon Sep 17 00:00:00 2001
From: Přemysl Janouch
Date: Sun, 9 Jan 2011 04:35:10 +0100
Subject: Add ld_point_distance().
---
src/ld-types.c | 22 ++++++++++++++++++++++
src/ld-types.h | 1 +
2 files changed, 23 insertions(+)
(limited to 'src')
diff --git a/src/ld-types.c b/src/ld-types.c
index 512bcef..5bed9dc 100644
--- a/src/ld-types.c
+++ b/src/ld-types.c
@@ -8,6 +8,8 @@
*
*/
+#include
+
#include
#include "config.h"
@@ -70,6 +72,26 @@ DEFINE_BOXED_TRIVIAL_COPY (LdPoint, ld_point)
*/
DEFINE_BOXED_TRIVIAL_FREE (LdPoint, ld_point)
+/**
+ * ld_point_distance:
+ * @self: An #LdPoint structure.
+ * @x: The X coordinate of the second point.
+ * @y: The Y coordinate of the second point.
+ *
+ * Compute the distance between two points.
+ */
+gdouble
+ld_point_distance (LdPoint *self, gdouble x, gdouble y)
+{
+ gdouble dx, dy;
+
+ g_return_val_if_fail (self != NULL, -1);
+
+ dx = self->x - x;
+ dy = self->y - y;
+ return sqrt (dx * dx + dy * dy);
+}
+
/**
* ld_point_array_new:
* @num_points: The number of points the array can store.
diff --git a/src/ld-types.h b/src/ld-types.h
index 6837f74..61a1a7d 100644
--- a/src/ld-types.h
+++ b/src/ld-types.h
@@ -48,6 +48,7 @@ GType ld_point_get_type (void) G_GNUC_CONST;
LdPoint *ld_point_copy (const LdPoint *self);
void ld_point_free (LdPoint *self);
+gdouble ld_point_distance (LdPoint *self, gdouble x, gdouble y);
/**
--
cgit v1.2.3-70-g09d2