#include "champlain-perl.h" MODULE = Champlain::Polygon PACKAGE = Champlain::Polygon PREFIX = champlain_polygon_ ChamplainPolygon* champlain_polygon_new (class) C_ARGS: /* No args */ ChamplainPoint* champlain_polygon_append_point (ChamplainPolygon *polygon, gdouble lat, gdouble lon) ChamplainPoint* champlain_polygon_insert_point (ChamplainPolygon *polygon, gdouble lat, gdouble lon, gint pos) void champlain_polygon_clear_points (ChamplainPolygon *polygon) void champlain_polygon_get_points (ChamplainPolygon *polygon) PREINIT: GList *item = NULL; PPCODE: item = champlain_polygon_get_points(polygon); if (!item) { XSRETURN_EMPTY; } for (; item != NULL; item = item->next) { ChamplainPoint *point = CHAMPLAIN_POINT(item->data); XPUSHs(sv_2mortal(newSVChamplainPoint(point))); } /* The doc says that the list shouldn't be freed! */ void champlain_polygon_set_fill_color (ChamplainPolygon *polygon, const ClutterColor *color) void champlain_polygon_set_stroke_color (ChamplainPolygon *polygon, const ClutterColor *color) ClutterColor* champlain_polygon_get_fill_color (ChamplainPolygon *polygon) ClutterColor* champlain_polygon_get_stroke_color (ChamplainPolygon *polygon) gboolean champlain_polygon_get_fill (ChamplainPolygon *polygon) void champlain_polygon_set_fill (ChamplainPolygon *polygon, gboolean value) gboolean champlain_polygon_get_stroke (ChamplainPolygon *polygon) void champlain_polygon_set_stroke (ChamplainPolygon *polygon, gboolean value) void champlain_polygon_set_stroke_width (ChamplainPolygon *polygon, gdouble value) gdouble champlain_polygon_get_stroke_width (ChamplainPolygon *polygon) void champlain_polygon_show (ChamplainPolygon *polygon) void champlain_polygon_hide (ChamplainPolygon *polygon) void champlain_polygon_remove_point (ChamplainPolygon *self, ChamplainPoint *point) void champlain_polygon_set_mark_points (ChamplainPolygon *polygon, gboolean value) gboolean champlain_polygon_get_mark_points (ChamplainPolygon *polygon)