void gimp_vectors_warp_point (const GimpVectors *vectors, GimpCoords *point, GimpCoords *point_warped, gdouble y_offset) { gdouble x = point->x; gdouble y = point->y; gdouble len; GList *list; GimpStroke *stroke; for (list = vectors->strokes->head; list; list = g_list_next (list)) { stroke = list->data; len = gimp_vectors_stroke_get_length (vectors, stroke); if (x < len) break; x -= len; } if (! list) { point_warped->x = 0; point_warped->y = 0; return; } gimp_stroke_warp_point (stroke, x, y, point_warped, y_offset); }
static PyObject * vs_get_length(PyGimpVectorsStroke *self, PyObject *args, PyObject *kwargs) { double precision; double length; static char *kwlist[] = { "precision", NULL }; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "d:get_length", kwlist, &precision)) return NULL; length = gimp_vectors_stroke_get_length(self->vectors_ID, self->stroke, precision); return PyFloat_FromDouble(length); }