tioga 1.7 → 1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Tioga_README +45 -29
- data/split/Dvector/dvector.c +1 -1
- data/split/Tioga/{shared/axes.c → axes.c} +360 -36
- data/split/Tioga/figures.c +2 -1
- data/split/Tioga/figures.h +6 -2
- data/split/Tioga/generic.h +0 -1
- data/split/Tioga/lib/FigMkr.rb +3 -1
- data/split/Tioga/lib/X_and_Y_Axes.rb +74 -4
- data/split/Tioga/makers.c +1303 -0
- data/split/Tioga/{shared/pdf_font_dicts.c → pdf_font_dicts.c} +0 -0
- data/split/Tioga/{shared/pdfcolor.c → pdfcolor.c} +304 -145
- data/split/Tioga/pdfcoords.c +534 -0
- data/split/Tioga/{shared/pdffile.c → pdffile.c} +161 -56
- data/split/Tioga/{shared/pdfimage.c → pdfimage.c} +171 -74
- data/split/Tioga/{shared/pdfpath.c → pdfpath.c} +0 -0
- data/split/Tioga/{shared/pdftext.c → pdftext.c} +245 -138
- data/split/Tioga/{shared/texout.c → texout.c} +18 -9
- data/split/Tioga/wrappers.c +23 -7
- data/split/Tioga/wrappers.h +5 -3
- data/split/extconf.rb +1 -1
- metadata +25 -25
- data/split/Tioga/shared/makers.c +0 -1220
- data/split/Tioga/shared/pdfcoords.c +0 -443
@@ -1,443 +0,0 @@
|
|
1
|
-
/* pdfcoords.c */
|
2
|
-
/*
|
3
|
-
Copyright (C) 2005 Bill Paxton
|
4
|
-
|
5
|
-
This file is part of Tioga.
|
6
|
-
|
7
|
-
Tioga is free software; you can redistribute it and/or modify
|
8
|
-
it under the terms of the GNU General Library Public License as published
|
9
|
-
by the Free Software Foundation; either version 2 of the License, or
|
10
|
-
(at your option) any later version.
|
11
|
-
|
12
|
-
Tioga is distributed in the hope that it will be useful,
|
13
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15
|
-
GNU Library General Public License for more details.
|
16
|
-
|
17
|
-
You should have received a copy of the GNU Library General Public License
|
18
|
-
along with Tioga; if not, write to the Free Software
|
19
|
-
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
20
|
-
*/
|
21
|
-
|
22
|
-
#include "figures.h"
|
23
|
-
#include "pdfs.h"
|
24
|
-
|
25
|
-
/* Frame and Bounds */
|
26
|
-
void Recalc_Font_Hts(FM *p)
|
27
|
-
{
|
28
|
-
double dx, dy;
|
29
|
-
dx = dy = ENLARGE * p->default_font_size * p->default_text_scale; // font height in output coords
|
30
|
-
dx = convert_output_to_page_dx(p,dx);
|
31
|
-
dx = convert_page_to_frame_dx(p,dx);
|
32
|
-
p->default_text_height_dx = convert_frame_to_figure_dx(p,dx);
|
33
|
-
dy = convert_output_to_page_dy(p,dy);
|
34
|
-
dy = convert_page_to_frame_dy(p,dy);
|
35
|
-
p->default_text_height_dy = convert_frame_to_figure_dy(p,dy);
|
36
|
-
}
|
37
|
-
|
38
|
-
void c_set_subframe(OBJ_PTR fmkr, FM *p,
|
39
|
-
double left_margin, double right_margin, double top_margin, double bottom_margin, int *ierr)
|
40
|
-
{
|
41
|
-
double x, y, w, h;
|
42
|
-
if (left_margin < 0 || right_margin < 0 || top_margin < 0 || bottom_margin < 0) {
|
43
|
-
RAISE_ERROR("Sorry: margins for set_subframe must be non-negative", ierr); return; }
|
44
|
-
if (left_margin + right_margin >= 1.0) {
|
45
|
-
RAISE_ERROR_gg("Sorry: margins too large: left_margin (%g) right_margin (%g)", left_margin, right_margin, ierr); return; }
|
46
|
-
if (top_margin + bottom_margin >= 1.0) {
|
47
|
-
RAISE_ERROR_gg("Sorry: margins too large: top_margin (%g) bottom_margin (%g)", top_margin, bottom_margin, ierr); return; }
|
48
|
-
x = p->frame_left += left_margin * p->frame_width;
|
49
|
-
p->frame_right -= right_margin * p->frame_width;
|
50
|
-
p->frame_top -= top_margin * p->frame_height;
|
51
|
-
y = p->frame_bottom += bottom_margin * p->frame_height;
|
52
|
-
w = p->frame_width = p->frame_right - p->frame_left;
|
53
|
-
h = p->frame_height = p->frame_top - p->frame_bottom;
|
54
|
-
Recalc_Font_Hts(p);
|
55
|
-
}
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
static void c_set_bounds(FM *p, double left, double right, double top, double bottom, int *ierr)
|
60
|
-
{
|
61
|
-
if (constructing_path) {
|
62
|
-
RAISE_ERROR("Sorry: must finish with current path before calling set_bounds", ierr); return; }
|
63
|
-
p->bounds_left = left; p->bounds_right = right;
|
64
|
-
p->bounds_bottom = bottom; p->bounds_top = top;
|
65
|
-
if (left < right) {
|
66
|
-
p->xaxis_reversed = false;
|
67
|
-
p->bounds_xmin = left; p->bounds_xmax = right;
|
68
|
-
} else if (right < left) {
|
69
|
-
p->xaxis_reversed = true;
|
70
|
-
p->bounds_xmin = right; p->bounds_xmax = left;
|
71
|
-
} else { // left == right
|
72
|
-
p->xaxis_reversed = false;
|
73
|
-
if (left > 0.0) {
|
74
|
-
p->bounds_xmin = left * (1.0 - 1e-6); p->bounds_xmax = left * (1.0 + 1e-6);
|
75
|
-
} else if (left < 0.0) {
|
76
|
-
p->bounds_xmin = left * (1.0 + 1e-6); p->bounds_xmax = left * (1.0 - 1e-6);
|
77
|
-
} else {
|
78
|
-
p->bounds_xmin = -1e-6; p->bounds_xmax = 1e-6;
|
79
|
-
}
|
80
|
-
}
|
81
|
-
if (bottom < top) {
|
82
|
-
p->yaxis_reversed = false;
|
83
|
-
p->bounds_ymin = bottom; p->bounds_ymax = top;
|
84
|
-
} else if (top < bottom) {
|
85
|
-
p->yaxis_reversed = true;
|
86
|
-
p->bounds_ymin = top; p->bounds_ymax = bottom;
|
87
|
-
} else { // top == bottom
|
88
|
-
p->yaxis_reversed = false;
|
89
|
-
if (bottom > 0.0) {
|
90
|
-
p->bounds_ymin = bottom * (1.0 - 1e-6); p->bounds_ymax = bottom * (1.0 + 1e-6);
|
91
|
-
} else if (bottom < 0.0) {
|
92
|
-
p->bounds_ymin = bottom * (1.0 + 1e-6); p->bounds_ymax = bottom * (1.0 - 1e-6);
|
93
|
-
} else {
|
94
|
-
p->bounds_xmin = -1e-6; p->bounds_xmax = 1e-6;
|
95
|
-
}
|
96
|
-
}
|
97
|
-
p->bounds_width = p->bounds_xmax - p->bounds_xmin;
|
98
|
-
p->bounds_height = p->bounds_ymax - p->bounds_ymin;
|
99
|
-
Recalc_Font_Hts(p);
|
100
|
-
}
|
101
|
-
|
102
|
-
void c_private_set_bounds(OBJ_PTR fmkr, FM *p,
|
103
|
-
double left, double right, double top, double bottom, int *ierr)
|
104
|
-
{
|
105
|
-
if (constructing_path) {
|
106
|
-
RAISE_ERROR("Sorry: must finish with current path before calling set_bounds", ierr); return; }
|
107
|
-
p->bounds_left = left; p->bounds_right = right;
|
108
|
-
p->bounds_bottom = bottom; p->bounds_top = top;
|
109
|
-
if (left < right) {
|
110
|
-
p->xaxis_reversed = false;
|
111
|
-
p->bounds_xmin = left; p->bounds_xmax = right;
|
112
|
-
} else if (right < left) {
|
113
|
-
p->xaxis_reversed = true;
|
114
|
-
p->bounds_xmin = right; p->bounds_xmax = left;
|
115
|
-
} else { // left == right
|
116
|
-
p->xaxis_reversed = false;
|
117
|
-
if (left > 0.0) {
|
118
|
-
p->bounds_xmin = left * (1.0 - 1e-6); p->bounds_xmax = left * (1.0 + 1e-6);
|
119
|
-
} else if (left < 0.0) {
|
120
|
-
p->bounds_xmin = left * (1.0 + 1e-6); p->bounds_xmax = left * (1.0 - 1e-6);
|
121
|
-
} else {
|
122
|
-
p->bounds_xmin = -1e-6; p->bounds_xmax = 1e-6;
|
123
|
-
}
|
124
|
-
}
|
125
|
-
if (bottom < top) {
|
126
|
-
p->yaxis_reversed = false;
|
127
|
-
p->bounds_ymin = bottom; p->bounds_ymax = top;
|
128
|
-
} else if (top < bottom) {
|
129
|
-
p->yaxis_reversed = true;
|
130
|
-
p->bounds_ymin = top; p->bounds_ymax = bottom;
|
131
|
-
} else { // top == bottom
|
132
|
-
p->yaxis_reversed = false;
|
133
|
-
if (bottom > 0.0) {
|
134
|
-
p->bounds_ymin = bottom * (1.0 - 1e-6); p->bounds_ymax = bottom * (1.0 + 1e-6);
|
135
|
-
} else if (bottom < 0.0) {
|
136
|
-
p->bounds_ymin = bottom * (1.0 + 1e-6); p->bounds_ymax = bottom * (1.0 - 1e-6);
|
137
|
-
} else {
|
138
|
-
p->bounds_xmin = -1e-6; p->bounds_xmax = 1e-6;
|
139
|
-
}
|
140
|
-
}
|
141
|
-
p->bounds_width = p->bounds_xmax - p->bounds_xmin;
|
142
|
-
p->bounds_height = p->bounds_ymax - p->bounds_ymin;
|
143
|
-
Recalc_Font_Hts(p);
|
144
|
-
}
|
145
|
-
|
146
|
-
|
147
|
-
// Conversions
|
148
|
-
|
149
|
-
|
150
|
-
OBJ_PTR c_convert_to_degrees(OBJ_PTR fmkr, FM *p, double dx, double dy, int *ierr) { // dx and dy in figure coords
|
151
|
-
double angle;
|
152
|
-
if (dx == 0.0 && dy == 0.0) angle = 0.0;
|
153
|
-
else if (dx > 0.0 && dy == 0.0) angle = (p->bounds_left > p->bounds_right)? 180.0 : 0.0;
|
154
|
-
else if (dx < 0.0 && dy == 0.0) angle = (p->bounds_left > p->bounds_right)? 0.0 : 180.0;
|
155
|
-
else if (dx == 0.0 && dy > 0.0) angle = (p->bounds_bottom > p->bounds_top)? -90.0 : 90.0;
|
156
|
-
else if (dx == 0.0 && dy < 0.0) angle = (p->bounds_bottom > p->bounds_top)? 90.0 : -90.0;
|
157
|
-
else angle = atan2(convert_figure_to_output_dy(p,dy),convert_figure_to_output_dx(p,dx))*RADIANS_TO_DEGREES;
|
158
|
-
return Float_New(angle);
|
159
|
-
}
|
160
|
-
|
161
|
-
OBJ_PTR c_convert_inches_to_output(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
162
|
-
{
|
163
|
-
val = convert_inches_to_output(val);
|
164
|
-
return Float_New(val);
|
165
|
-
}
|
166
|
-
|
167
|
-
OBJ_PTR c_convert_output_to_inches(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
168
|
-
{
|
169
|
-
val = convert_output_to_inches(val);
|
170
|
-
return Float_New(val);
|
171
|
-
}
|
172
|
-
|
173
|
-
OBJ_PTR c_convert_mm_to_output(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
174
|
-
{
|
175
|
-
val = convert_mm_to_output(val);
|
176
|
-
return Float_New(val);
|
177
|
-
}
|
178
|
-
|
179
|
-
OBJ_PTR c_convert_output_to_mm(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
180
|
-
{
|
181
|
-
val = convert_output_to_mm(val);
|
182
|
-
return Float_New(val);
|
183
|
-
}
|
184
|
-
|
185
|
-
OBJ_PTR c_convert_page_to_output_x(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
186
|
-
{
|
187
|
-
val = convert_page_to_output_x(p,val);
|
188
|
-
return Float_New(val);
|
189
|
-
}
|
190
|
-
|
191
|
-
OBJ_PTR c_convert_page_to_output_y(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
192
|
-
{
|
193
|
-
val = convert_page_to_output_y(p,val);
|
194
|
-
return Float_New(val);
|
195
|
-
}
|
196
|
-
|
197
|
-
OBJ_PTR c_convert_page_to_output_dx(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
198
|
-
{
|
199
|
-
val = convert_page_to_output_dx(p,val);
|
200
|
-
return Float_New(val);
|
201
|
-
}
|
202
|
-
|
203
|
-
OBJ_PTR c_convert_page_to_output_dy(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
204
|
-
{
|
205
|
-
val = convert_page_to_output_dy(p,val);
|
206
|
-
return Float_New(val);
|
207
|
-
}
|
208
|
-
|
209
|
-
OBJ_PTR c_convert_output_to_page_x(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
210
|
-
{
|
211
|
-
val = convert_output_to_page_x(p,val);
|
212
|
-
return Float_New(val);
|
213
|
-
}
|
214
|
-
|
215
|
-
OBJ_PTR c_convert_output_to_page_y(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
216
|
-
{
|
217
|
-
val = convert_output_to_page_y(p,val);
|
218
|
-
return Float_New(val);
|
219
|
-
}
|
220
|
-
|
221
|
-
OBJ_PTR c_convert_output_to_page_dx(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
222
|
-
{
|
223
|
-
val = convert_output_to_page_dx(p,val);
|
224
|
-
return Float_New(val);
|
225
|
-
}
|
226
|
-
|
227
|
-
OBJ_PTR c_convert_output_to_page_dy(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
228
|
-
{
|
229
|
-
val = convert_output_to_page_dy(p,val);
|
230
|
-
return Float_New(val);
|
231
|
-
}
|
232
|
-
|
233
|
-
OBJ_PTR c_convert_frame_to_page_x(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
234
|
-
{
|
235
|
-
val = convert_frame_to_page_x(p,val);
|
236
|
-
return Float_New(val);
|
237
|
-
}
|
238
|
-
|
239
|
-
OBJ_PTR c_convert_frame_to_page_y(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
240
|
-
{
|
241
|
-
val = convert_frame_to_page_y(p,val);
|
242
|
-
return Float_New(val);
|
243
|
-
}
|
244
|
-
|
245
|
-
OBJ_PTR c_convert_frame_to_page_dx(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
246
|
-
{
|
247
|
-
val = convert_frame_to_page_dx(p,val);
|
248
|
-
return Float_New(val);
|
249
|
-
}
|
250
|
-
|
251
|
-
OBJ_PTR c_convert_frame_to_page_dy(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
252
|
-
{
|
253
|
-
val = convert_frame_to_page_dy(p,val);
|
254
|
-
return Float_New(val);
|
255
|
-
}
|
256
|
-
|
257
|
-
OBJ_PTR c_convert_page_to_frame_x(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
258
|
-
{
|
259
|
-
val = convert_page_to_frame_x(p,val);
|
260
|
-
return Float_New(val);
|
261
|
-
}
|
262
|
-
|
263
|
-
OBJ_PTR c_convert_page_to_frame_y(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
264
|
-
{
|
265
|
-
val = convert_page_to_frame_y(p,val);
|
266
|
-
return Float_New(val);
|
267
|
-
}
|
268
|
-
|
269
|
-
OBJ_PTR c_convert_page_to_frame_dx(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
270
|
-
{
|
271
|
-
val = convert_page_to_frame_dx(p,val);
|
272
|
-
return Float_New(val);
|
273
|
-
}
|
274
|
-
|
275
|
-
OBJ_PTR c_convert_page_to_frame_dy(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
276
|
-
{
|
277
|
-
val = convert_page_to_frame_dy(p,val);
|
278
|
-
return Float_New(val);
|
279
|
-
}
|
280
|
-
|
281
|
-
OBJ_PTR c_convert_figure_to_frame_x(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
282
|
-
{
|
283
|
-
val = convert_figure_to_frame_x(p,val);
|
284
|
-
return Float_New(val);
|
285
|
-
}
|
286
|
-
|
287
|
-
OBJ_PTR c_convert_figure_to_frame_y(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
288
|
-
{
|
289
|
-
val = convert_figure_to_frame_y(p,val);
|
290
|
-
return Float_New(val);
|
291
|
-
}
|
292
|
-
|
293
|
-
OBJ_PTR c_convert_figure_to_frame_dx(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
294
|
-
{
|
295
|
-
val = convert_figure_to_frame_dx(p,val);
|
296
|
-
return Float_New(val);
|
297
|
-
}
|
298
|
-
|
299
|
-
OBJ_PTR c_convert_figure_to_frame_dy(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
300
|
-
{
|
301
|
-
val = convert_figure_to_frame_dy(p,val);
|
302
|
-
return Float_New(val);
|
303
|
-
}
|
304
|
-
|
305
|
-
OBJ_PTR c_convert_frame_to_figure_x(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
306
|
-
{
|
307
|
-
val = convert_frame_to_figure_x(p,val);
|
308
|
-
return Float_New(val);
|
309
|
-
}
|
310
|
-
|
311
|
-
OBJ_PTR c_convert_frame_to_figure_y(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
312
|
-
{
|
313
|
-
val = convert_frame_to_figure_y(p,val);
|
314
|
-
return Float_New(val);
|
315
|
-
}
|
316
|
-
|
317
|
-
OBJ_PTR c_convert_frame_to_figure_dx(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
318
|
-
{
|
319
|
-
val = convert_frame_to_figure_dx(p,val);
|
320
|
-
return Float_New(val);
|
321
|
-
}
|
322
|
-
|
323
|
-
OBJ_PTR c_convert_frame_to_figure_dy(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
324
|
-
{
|
325
|
-
val = convert_frame_to_figure_dy(p,val);
|
326
|
-
return Float_New(val);
|
327
|
-
}
|
328
|
-
|
329
|
-
double convert_figure_to_output_x(FM *p, double x)
|
330
|
-
{
|
331
|
-
x = convert_figure_to_frame_x(p,x);
|
332
|
-
x = convert_frame_to_page_x(p,x);
|
333
|
-
x = convert_page_to_output_x(p,x);
|
334
|
-
return x;
|
335
|
-
}
|
336
|
-
|
337
|
-
double convert_figure_to_output_dy(FM *p, double dy)
|
338
|
-
{
|
339
|
-
dy = convert_figure_to_frame_dy(p,dy);
|
340
|
-
dy = convert_frame_to_page_dy(p,dy);
|
341
|
-
dy = convert_page_to_output_dy(p,dy);
|
342
|
-
return dy;
|
343
|
-
}
|
344
|
-
|
345
|
-
double convert_figure_to_output_dx(FM *p, double dx)
|
346
|
-
{
|
347
|
-
dx = convert_figure_to_frame_dx(p,dx);
|
348
|
-
dx = convert_frame_to_page_dx(p,dx);
|
349
|
-
dx = convert_page_to_output_dx(p,dx);
|
350
|
-
return dx;
|
351
|
-
}
|
352
|
-
|
353
|
-
double convert_figure_to_output_y(FM *p, double y)
|
354
|
-
{
|
355
|
-
y = convert_figure_to_frame_y(p,y);
|
356
|
-
y = convert_frame_to_page_y(p,y);
|
357
|
-
y = convert_page_to_output_y(p,y);
|
358
|
-
return y;
|
359
|
-
}
|
360
|
-
|
361
|
-
OBJ_PTR c_convert_figure_to_output_x(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
362
|
-
{
|
363
|
-
return Float_New(convert_figure_to_output_x(p,val));
|
364
|
-
}
|
365
|
-
|
366
|
-
OBJ_PTR c_convert_figure_to_output_y(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
367
|
-
{
|
368
|
-
return Float_New(convert_figure_to_output_y(p,val));
|
369
|
-
}
|
370
|
-
|
371
|
-
OBJ_PTR c_convert_figure_to_output_dx(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
372
|
-
{
|
373
|
-
return Float_New(convert_figure_to_output_dx(p,val));
|
374
|
-
}
|
375
|
-
|
376
|
-
OBJ_PTR c_convert_figure_to_output_dy(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
377
|
-
{
|
378
|
-
return Float_New(convert_figure_to_output_dy(p,val));
|
379
|
-
}
|
380
|
-
|
381
|
-
double convert_output_to_figure_x(FM *p, double x)
|
382
|
-
{
|
383
|
-
x = convert_output_to_page_x(p,x);
|
384
|
-
x = convert_page_to_frame_x(p,x);
|
385
|
-
x = convert_frame_to_figure_x(p,x);
|
386
|
-
return x;
|
387
|
-
}
|
388
|
-
|
389
|
-
double convert_output_to_figure_dy(FM *p, double dy)
|
390
|
-
{
|
391
|
-
dy = convert_output_to_page_dy(p,dy);
|
392
|
-
dy = convert_page_to_frame_dy(p,dy);
|
393
|
-
dy = convert_frame_to_figure_dy(p,dy);
|
394
|
-
return dy;
|
395
|
-
}
|
396
|
-
|
397
|
-
double convert_output_to_figure_dx(FM *p, double dx)
|
398
|
-
{
|
399
|
-
dx = convert_output_to_page_dx(p,dx);
|
400
|
-
dx = convert_page_to_frame_dx(p,dx);
|
401
|
-
dx = convert_frame_to_figure_dx(p,dx);
|
402
|
-
return dx;
|
403
|
-
}
|
404
|
-
|
405
|
-
double convert_output_to_figure_y(FM *p, double y)
|
406
|
-
{
|
407
|
-
y = convert_output_to_page_y(p,y);
|
408
|
-
y = convert_page_to_frame_y(p,y);
|
409
|
-
y = convert_frame_to_figure_y(p,y);
|
410
|
-
return y;
|
411
|
-
}
|
412
|
-
|
413
|
-
OBJ_PTR c_convert_output_to_figure_x(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
414
|
-
{
|
415
|
-
return Float_New(convert_output_to_figure_x(p,val));
|
416
|
-
}
|
417
|
-
|
418
|
-
OBJ_PTR c_convert_output_to_figure_y(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
419
|
-
{
|
420
|
-
return Float_New(convert_output_to_figure_y(p,val));
|
421
|
-
}
|
422
|
-
|
423
|
-
OBJ_PTR c_convert_output_to_figure_dx(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
424
|
-
{ return Float_New(convert_output_to_figure_dx(p,val)); }
|
425
|
-
|
426
|
-
OBJ_PTR c_convert_output_to_figure_dy(OBJ_PTR fmkr, FM *p, double val, int *ierr)
|
427
|
-
{ return Float_New(convert_output_to_figure_dy(p,val)); }
|
428
|
-
|
429
|
-
void c_private_set_default_font_size(OBJ_PTR fmkr, FM *p, double size, int *ierr) {
|
430
|
-
p->default_font_size = size;
|
431
|
-
Recalc_Font_Hts(p);
|
432
|
-
}
|
433
|
-
|
434
|
-
void c_doing_subplot(OBJ_PTR fmkr, FM *p, int *ierr)
|
435
|
-
{
|
436
|
-
p->in_subplot = true;
|
437
|
-
}
|
438
|
-
|
439
|
-
void c_doing_subfigure(OBJ_PTR fmkr, FM *p, int *ierr)
|
440
|
-
{
|
441
|
-
p->root_figure = false;
|
442
|
-
}
|
443
|
-
|