/* Public domain */ typedef struct sk_line { struct sk_node node; SK_Point *p1, *p2; /* Endpoints */ M_Real width; /* Display width */ M_Color color; /* Display color */ } SK_Line; #define SKLINE(n) ((SK_Line *)(n)) __BEGIN_DECLS extern SK_NodeOps skLineOps; SK_Line *SK_LineNew(void *); SK_Line *SK_LineFromValue(void *, M_Line2); M_Line2 SK_LineValue(const SK_Line *); void SK_LineInit(void *, Uint32); int SK_LineLoad(SK *, void *, AG_DataSource *); int SK_LineSave(SK *, void *, AG_DataSource *); void SK_LineDraw(void *, struct sk_view *); void SK_LineEdit(void *, struct ag_widget *, struct sk_view *); M_Real SK_LineProximity(void *, const M_Vector3 *, M_Vector3 *); int SK_LineDelete(void *); int SK_LineMove(void *, const M_Vector3 *, const M_Vector3 *); SK_Status SK_LineConstrained(void *); void SK_LineWidth(SK_Line *, M_Real); void SK_LineColor(SK_Line *, M_Color); int SK_LineSharedEndpoint(SK_Line *, SK_Line *, M_Vector3 *, M_Vector3 *, M_Vector3 *); M_Real SK_LineLineAngleCCW(SK_Line *, SK_Line *); __END_DECLS