/* Public domain */ typedef struct sk_circle { struct sk_node node; SK_Point *p; /* Center point */ M_Real r; /* Radius */ M_Real width; /* Display thickness */ M_Color color; /* Display color */ } SK_Circle; #define SKCIRCLE(n) ((SK_Circle *)(n)) __BEGIN_DECLS extern SK_NodeOps skCircleOps; SK_Circle *SK_CircleNew(void *); SK_Circle *SK_CircleFromValue(void *, M_Circle2); M_Circle2 SK_CircleValue(SK_Circle *); void SK_CircleInit(void *, Uint32); int SK_CircleLoad(SK *, void *, AG_DataSource *); int SK_CircleSave(SK *, void *, AG_DataSource *); void SK_CircleDraw(void *, struct sk_view *); void SK_CircleEdit(void *, struct ag_widget *, struct sk_view *); M_Real SK_CircleProximity(void *, const M_Vector3 *, M_Vector3 *); int SK_CircleDelete(void *); int SK_CircleMove(void *, const M_Vector3 *, const M_Vector3 *); SK_Status SK_CircleConstrained(void *); void SK_CircleWidth(SK_Circle *, M_Real); void SK_CircleColor(SK_Circle *, M_Color); __END_DECLS