/*	Public domain	*/

enum vg_snap_mode {
	VG_FREE_POSITIONING,	/* No positional restriction */
	VG_GRID,		/* Snap to grid */
	VG_ENDPOINT,		/* Snap to endpoints */
	VG_ENDPOINT_DISTANCE,	/* Snap to given distance from endpoint */
	VG_CLOSEST_POINT,	/* Snap to closest point on entity */
	VG_CENTER_POINT,	/* Snap to center points */
	VG_MIDDLE_POINT,	/* Snap to middle points */
	VG_INTERSECTIONS_AUTO,	/* Snap to intersections automatically */
	VG_INTERSECTIONS_MANUAL	/* Snap to intersections manually */
};

struct ag_menu;
struct ag_menu_item;

/* Begin generated block */
__BEGIN_DECLS
extern DECLSPEC struct ag_toolbar *_Nonnull VG_SnapToolbar(void *_Nullable, struct vg_view *_Nonnull, int);
extern DECLSPEC void VG_SnapMenu(struct ag_menu_item *_Nonnull, struct vg_view *_Nonnull);
__END_DECLS
/* Close generated block */
