1 | (module g2 |
---|
2 | |
---|
3 | (qpcirc qprect g2:poly-line g2:set-background g2:arc g2:filled-arc |
---|
4 | g2:ld g2:set-ld g2:string g2:set-qp g2:set-coordinate-system |
---|
5 | g2:set-dash g2:close g2:move-r g2:line-to g2:pen g2:flush |
---|
6 | g2:set-line-width g2:clear g2:set-auto-flush g2:allocate-basic-colors |
---|
7 | g2:image g2:detach g2:polygon g2:filled-polygon g2:open-vd g2:plot |
---|
8 | g2:reset-palette g2:clear-palette g2:spline g2:b-spline |
---|
9 | g2:filled-spline g2:filled-b-spline g2:set-font-size g2:plot-r g2:save |
---|
10 | g2:move g2:ink g2:raspln g2:filled-raspln g2:attach g2:line |
---|
11 | g2:triangle g2:filled-triangle g2:circle g2:filled-circle g2:rectangle |
---|
12 | g2:filled-rectangle g2:ellipse g2:filled-ellipse g2:line g2:para-3 |
---|
13 | g2:para-5 g2:filled-para-3 g2:filled-para-5 g2:plot-qp |
---|
14 | g2:query-pointer g2:ps-land g2:ps-port g2:a0 g2:a1 g2:a2 g2:a3 g2:a4 |
---|
15 | g2:a5 g2:a6 g2:a7 g2:a8 g2:a9 g2:b0 g2:b1 g2:b2 g2:b3 g2:b4 g2:b5 |
---|
16 | g2:b6 g2:b7 g2:b8 g2:b9 g2:b10 g2:dl-envelope g2:c5-envelope |
---|
17 | g2:comm-10-envelope g2:folio g2:executive g2:legal g2:letter g2:ledger |
---|
18 | g2:tabloid g2:ps-epsf g2:ps-epsf-clip g2:ps-post-script g2:open-ps |
---|
19 | g2:open-epsf g2:open-epsf-clip g2:open-fig g2:gd-jpeg g2:gd-png |
---|
20 | g2:open-gd g2:open-x11 g2:open-x11x) |
---|
21 | |
---|
22 | (import chicken scheme foreign) |
---|
23 | (use easyffi) |
---|
24 | |
---|
25 | #> |
---|
26 | #include <g2.h> |
---|
27 | #include <g2_PS.h> |
---|
28 | #include <g2_FIG.h> |
---|
29 | <# |
---|
30 | |
---|
31 | #>? |
---|
32 | ___declare(default_renaming, "") |
---|
33 | ___declare(substitute, "g2-;g2:") |
---|
34 | ___declare(export_constants, yes) |
---|
35 | |
---|
36 | enum QPshape { |
---|
37 | QPrect, /**< rectangular quasi pixel */ |
---|
38 | QPcirc /**< circle as a quasi pixel */ |
---|
39 | }; |
---|
40 | |
---|
41 | int g2_open_vd(void); |
---|
42 | void g2_attach(int vd_dev, int dev); |
---|
43 | void g2_detach(int vd_dev, int dev); |
---|
44 | |
---|
45 | void g2_close(int dev); |
---|
46 | void g2_set_auto_flush(int dev, ___bool on_off); |
---|
47 | void g2_flush(int dev); |
---|
48 | void g2_save(int dev); |
---|
49 | void g2_set_coordinate_system(int dev, double x_origin, double y_origin, |
---|
50 | double x_mul, double y_mul); |
---|
51 | |
---|
52 | int g2_ld(); |
---|
53 | void g2_set_ld(int dev); |
---|
54 | |
---|
55 | int g2_ink(int pd_dev, double red, double green, double blue); |
---|
56 | void g2_pen(int dev, int color); |
---|
57 | void g2_set_dash(int dev, int N, double *dashes); |
---|
58 | void g2_set_font_size(int dev, double size); |
---|
59 | void g2_set_line_width(int dev, double w); |
---|
60 | void g2_clear_palette(int dev); |
---|
61 | void g2_reset_palette(int dev); |
---|
62 | void g2_allocate_basic_colors(int dev); |
---|
63 | |
---|
64 | void g2_clear(int dev); |
---|
65 | void g2_set_background(int dev, int color); |
---|
66 | |
---|
67 | void g2_move(int dev, double x, double y); |
---|
68 | void g2_move_r(int dev, double dx, double dy); |
---|
69 | |
---|
70 | void g2_plot(int dev, double x, double y); |
---|
71 | void g2_plot_r(int dev, double dx, double dy); |
---|
72 | void g2_line(int dev, double x1, double y1, double x2, double y2); |
---|
73 | void g2_line_r(int dev, double dx, double dy); |
---|
74 | void g2_line_to(int dev, double x, double y); |
---|
75 | void g2_poly_line(int dev, int N_pt, double *points); |
---|
76 | void g2_triangle(int dev, double x1, double y1, |
---|
77 | double x2, double y2, |
---|
78 | double x3, double y3); |
---|
79 | void g2_filled_triangle(int dev, double x1, double y1, |
---|
80 | double x2, double y2, |
---|
81 | double x3, double y3); |
---|
82 | void g2_rectangle(int dev, double x1, double y1, double x2, double y2); |
---|
83 | void g2_filled_rectangle(int dev, |
---|
84 | double x1, double y1, double x2, double y2); |
---|
85 | void g2_polygon(int dev, int N_pt, double *points); |
---|
86 | void g2_filled_polygon(int dev, int N_pt, double *points); |
---|
87 | void g2_circle(int dev, double x, double y, double r); |
---|
88 | void g2_filled_circle(int dev, double x, double y, double r); |
---|
89 | void g2_ellipse(int dev, double x, double y, double r1, double r2); |
---|
90 | void g2_filled_ellipse(int dev, double x, double y, double r1, double r2); |
---|
91 | void g2_arc(int dev, |
---|
92 | double x, double y, |
---|
93 | double r1, double r2, |
---|
94 | double a1, double a2); |
---|
95 | void g2_filled_arc(int dev, double x, double y, |
---|
96 | double r1, double r2, |
---|
97 | double a1, double a2); |
---|
98 | void g2_string(int dev, double x, double y, const char *text); |
---|
99 | void g2_image(int dev, |
---|
100 | double x, double y, int x_size, int y_size, int *pens); |
---|
101 | |
---|
102 | void g2_set_QP(int dev, double d, enum QPshape shape); |
---|
103 | void g2_plot_QP(int dev, double x, double y); |
---|
104 | void g2_query_pointer(int dev, ___out double *x, ___out double *y, ___out unsigned int *button); |
---|
105 | |
---|
106 | void g2_spline(int id, int n, double *points, int o); |
---|
107 | void g2_b_spline(int id, int n, double *points, int o); |
---|
108 | void g2_raspln(int id, int n, double *points, double tn); |
---|
109 | void g2_para_3(int id, int n, double *points); |
---|
110 | void g2_para_5(int id, int n, double *points); |
---|
111 | void g2_filled_spline(int id, int n, double *points, int o); |
---|
112 | void g2_filled_b_spline(int id, int n, double *points, int o); |
---|
113 | void g2_filled_raspln(int id, int n, double *points, double tn); |
---|
114 | void g2_filled_para_3(int id, int n, double *points); |
---|
115 | void g2_filled_para_5(int id, int n, double *points); |
---|
116 | |
---|
117 | |
---|
118 | int g2_open_FIG(const char *file_name); |
---|
119 | <# |
---|
120 | |
---|
121 | #+have-x11 |
---|
122 | #> |
---|
123 | #include <g2_X11.h> |
---|
124 | <# |
---|
125 | |
---|
126 | #+have-x11 |
---|
127 | #>? |
---|
128 | int g2_open_X11(int width, int height); |
---|
129 | |
---|
130 | int g2_open_X11X(int width, int height, |
---|
131 | int x, int y, |
---|
132 | char *window_name, char *icon_name, |
---|
133 | unsigned ___byte *icon_data, |
---|
134 | int icon_width, int icon_height); |
---|
135 | <# |
---|
136 | |
---|
137 | #>? |
---|
138 | /** |
---|
139 | * g2 paper type. |
---|
140 | * |
---|
141 | * \ingroup PS |
---|
142 | */ |
---|
143 | enum g2_PS_paper { /* Name Size(Pt) */ |
---|
144 | g2_A0, /**< A0 2384 x 3370 */ |
---|
145 | g2_A1, /**< A1 1684 x 2384 */ |
---|
146 | g2_A2, /**< A2 1191 x 1684 */ |
---|
147 | g2_A3, /**< A3 842 x 1191 */ |
---|
148 | g2_A4, /**< A4 595 x 842 */ |
---|
149 | g2_A5, /**< A5 420 x 595 */ |
---|
150 | g2_A6, /**< A6 297 x 420 */ |
---|
151 | g2_A7, /**< A7 210 x 297 */ |
---|
152 | g2_A8, /**< A8 148 x 210 */ |
---|
153 | g2_A9, /**< A9 105 x 148 */ |
---|
154 | g2_B0, /**< B0 2920 x 4127 */ |
---|
155 | g2_B1, /**< B1 2064 x 2920 */ |
---|
156 | g2_B2, /**< B2 1460 x 2064 */ |
---|
157 | g2_B3, /**< B3 1032 x 1460 */ |
---|
158 | g2_B4, /**< B4 729 x 1032 */ |
---|
159 | g2_B5, /**< B5 516 x 729 */ |
---|
160 | g2_B6, /**< B6 363 x 516 */ |
---|
161 | g2_B7, /**< B7 258 x 363 */ |
---|
162 | g2_B8, /**< B8 181 x 258 */ |
---|
163 | g2_B9, /**< B9 127 x 181 */ |
---|
164 | g2_B10, /**< B10 91 x 127 */ |
---|
165 | g2_Comm_10_Envelope, /**< Comm #10 Envelope 297 x 684 */ |
---|
166 | g2_C5_Envelope, /**< C5 Envelope 461 x 648 */ |
---|
167 | g2_DL_Envelope, /**< DL Envelope 312 x 624 */ |
---|
168 | g2_Folio, /**< Folio 595 x 935 */ |
---|
169 | g2_Executive, /**< Executive 522 x 756 */ |
---|
170 | g2_Letter, /**< Letter 612 x 792 */ |
---|
171 | g2_Legal, /**< Legal 612 x 1008 */ |
---|
172 | g2_Ledger, /**< Ledger 1224 x 792 */ |
---|
173 | g2_Tabloid /**< Tabloid 792 x 1224 */ |
---|
174 | }; |
---|
175 | |
---|
176 | |
---|
177 | /** |
---|
178 | * g2 paper orientation. |
---|
179 | * |
---|
180 | * \ingroup PS |
---|
181 | */ |
---|
182 | enum g2_PS_orientation { |
---|
183 | g2_PS_land, /**< landscape */ |
---|
184 | g2_PS_port /**< portrait */ |
---|
185 | }; |
---|
186 | |
---|
187 | /* |
---|
188 | * g2 Format |
---|
189 | */ |
---|
190 | enum g2_PS_format { |
---|
191 | g2_PS_PostScript, /* PostScript */ |
---|
192 | g2_PS_EPSF, /* EPSF format */ |
---|
193 | g2_PS_EPSF_CLIP /* EPSF format with predefined Bounding Box*/ |
---|
194 | }; |
---|
195 | |
---|
196 | int g2_open_PS(const char *file_name, |
---|
197 | enum g2_PS_paper paper, |
---|
198 | enum g2_PS_orientation orientation); |
---|
199 | |
---|
200 | int g2_open_EPSF(const char *file_name); |
---|
201 | |
---|
202 | int g2_open_EPSF_CLIP(const char *file_name, |
---|
203 | long width, long height); |
---|
204 | |
---|
205 | <# |
---|
206 | |
---|
207 | #+have-gd |
---|
208 | #> |
---|
209 | #include <g2_gd.h> |
---|
210 | <# |
---|
211 | #+have-gd |
---|
212 | #>? |
---|
213 | enum g2_gd_type { |
---|
214 | g2_gd_jpeg = 0, /**< jpeg */ |
---|
215 | g2_gd_png = 1 /**< png */ |
---|
216 | }; |
---|
217 | |
---|
218 | |
---|
219 | int g2_open_gd(const char *filename, int width, int height,enum g2_gd_type gd_type); |
---|
220 | <# |
---|
221 | |
---|
222 | ); end module |
---|