static SCM scm_move_client(SCM client_smob, SCM x, SCM y) { client_t *client = (client_t *)SCM_SMOB_DATA(client_smob); client->rect.x = scm_to_int16(x); client->rect.y = scm_to_int16(y); update_client_geometry(client); return SCM_UNSPECIFIED; }
SCM make_Segment2_arc(SCM ROT, SCM X, SCM Y, SCM Radius, SCM startTheta, SCM endTheta) { SCM smob; Segment2 * seg; DB_PRINTF("make_Segment2_arc\n"); seg = malloc(sizeof(Segment2)); seg->type = ARC; seg->s.arc.angle.rot = scm_to_int16 (ROT ); seg->s.arc.angle.start = scm_to_double(startTheta); seg->s.arc.angle.end = scm_to_double(endTheta ); seg->s.arc.radius = scm_to_double(Radius ); seg->s.arc.center.x = scm_to_double(X ); seg->s.arc.center.y = scm_to_double(Y ); SCM_NEWSMOB( smob, tag_Segment2, seg); return smob; }