1 /*
2  * FIG : Facility for Interactive Generation of figures
3  * Copyright (c) 1985-1988 by Supoj Sutanthavibul
4  * Parts Copyright (c) 1989-2007 by Brian V. Smith
5  * Parts Copyright (c) 1991 by Paul King
6  *
7  * Any party obtaining a copy of these files is granted, free of charge, a
8  * full and unrestricted irrevocable, world-wide, paid up, royalty-free,
9  * nonexclusive right and license to deal in this software and documentation
10  * files (the "Software"), including without limitation the rights to use,
11  * copy, modify, merge, publish, distribute, sublicense and/or sell copies of
12  * the Software, and to permit persons who receive copies from any such
13  * party to do so, with the only requirement being that the above copyright
14  * and this permission notice remain intact.
15  *
16  */
17 
18 #ifndef U_CREATE_H
19 #define U_CREATE_H
20 
21 extern F_arc      *create_arc(void);
22 extern F_ellipse  *create_ellipse(void);
23 extern F_line     *create_line(void);
24 extern F_spline   *create_spline(void);
25 extern F_text     *create_text(void);
26 extern F_compound *create_compound(void);
27 extern F_pic      *create_pic(void);
28 extern F_point    *create_point(void);
29 extern F_sfactor  *create_sfactor(void);
30 extern F_compound  *create_dimension_line(F_line *line, Boolean add_to_figure);
31 extern void	  create_dimline_ticks(F_line *line, F_line **tick1, F_line **tick2);
32 extern struct _pics * create_picture_entry(void);
33 
34 extern F_arc      *copy_arc(F_arc *a);
35 extern F_ellipse  *copy_ellipse(F_ellipse *e);
36 extern F_line     *copy_line(F_line *l);
37 extern F_spline   *copy_spline(F_spline *s);
38 extern F_text     *copy_text(F_text *t);
39 extern F_compound *copy_compound(F_compound *c);
40 
41 extern void	  copy_comments(char **source, char **dest);
42 extern F_point   *copy_points(F_point *orig_pt);
43 extern F_sfactor *copy_sfactors(F_sfactor *orig_sf);
44 extern void       reverse_points(F_point *orig_pt);
45 extern void       reverse_sfactors(F_sfactor *orig_sf);
46 
47 extern F_arrow	  *forward_arrow(void);
48 extern F_arrow	  *backward_arrow(void);
49 extern F_arrow	  *create_arrow(void);
50 extern F_arrow	  *forward_dim_arrow(void);
51 extern F_arrow	  *backward_dim_arrow(void);
52 
53 extern F_arrow	  *new_arrow(int type, int style, float thickness, float wd, float ht);
54 extern char	  *new_string(int len);
55 extern F_linkinfo *new_link(F_line *l, F_point *ep, F_point *pp);
56 
57 #endif /* U_CREATE_H */
58