Add ld_point_distance().

This commit is contained in:
Přemysl Eric Janouch 2011-01-09 04:35:10 +01:00
parent fe996324d3
commit 2328058b46
2 changed files with 23 additions and 0 deletions

View File

@ -8,6 +8,8 @@
* *
*/ */
#include <math.h>
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include "config.h" #include "config.h"
@ -70,6 +72,26 @@ DEFINE_BOXED_TRIVIAL_COPY (LdPoint, ld_point)
*/ */
DEFINE_BOXED_TRIVIAL_FREE (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: * ld_point_array_new:
* @num_points: The number of points the array can store. * @num_points: The number of points the array can store.

View File

@ -48,6 +48,7 @@ GType ld_point_get_type (void) G_GNUC_CONST;
LdPoint *ld_point_copy (const LdPoint *self); LdPoint *ld_point_copy (const LdPoint *self);
void ld_point_free (LdPoint *self); void ld_point_free (LdPoint *self);
gdouble ld_point_distance (LdPoint *self, gdouble x, gdouble y);
/** /**