tioga 1.11 → 1.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. data/Tioga_README +58 -35
  2. data/{split/scripts → bin}/tioga +1 -1
  3. data/{split → ext/Dobjects}/Dtable/dtable.c +81 -15
  4. data/{split → ext/Dobjects}/Dtable/dtable_intern.h +0 -0
  5. data/ext/Dobjects/Dtable/extconf.rb +7 -0
  6. data/{split → ext/Dobjects}/Dtable/include/dtable.h +0 -0
  7. data/{split → ext/Dobjects}/Dvector/dvector.c +361 -51
  8. data/{split → ext/Dobjects}/Dvector/dvector_intern.h +0 -0
  9. data/ext/Dobjects/Dvector/extconf.rb +22 -0
  10. data/{split/Dtable → ext/Dobjects/Dvector/include}/dvector.h +0 -0
  11. data/ext/Dobjects/Function/extconf.rb +7 -0
  12. data/{split → ext/Dobjects}/Function/function.c +636 -11
  13. data/{split → ext/Dobjects}/Function/joint_qsort.c +0 -0
  14. data/ext/Flate/extconf.rb +26 -0
  15. data/{split → ext}/Flate/flate.c +7 -3
  16. data/{split → ext}/Flate/flate_intern.h +0 -0
  17. data/{split → ext}/Flate/include/flate.h +0 -0
  18. data/ext/Flate/zlib/adler32.c +149 -0
  19. data/ext/Flate/zlib/compress.c +79 -0
  20. data/ext/Flate/zlib/crc32.c +423 -0
  21. data/ext/Flate/zlib/crc32.h +441 -0
  22. data/ext/Flate/zlib/deflate.c +1736 -0
  23. data/ext/Flate/zlib/deflate.h +331 -0
  24. data/ext/Flate/zlib/gzio.c +1026 -0
  25. data/ext/Flate/zlib/infback.c +623 -0
  26. data/ext/Flate/zlib/inffast.c +318 -0
  27. data/ext/Flate/zlib/inffast.h +11 -0
  28. data/ext/Flate/zlib/inffixed.h +94 -0
  29. data/ext/Flate/zlib/inflate.c +1368 -0
  30. data/ext/Flate/zlib/inflate.h +115 -0
  31. data/ext/Flate/zlib/inftrees.c +329 -0
  32. data/ext/Flate/zlib/inftrees.h +55 -0
  33. data/ext/Flate/zlib/trees.c +1219 -0
  34. data/ext/Flate/zlib/trees.h +128 -0
  35. data/ext/Flate/zlib/uncompr.c +61 -0
  36. data/ext/Flate/zlib/zlib.h +1357 -0
  37. data/ext/Flate/zlib/zutil.c +318 -0
  38. data/ext/Flate/zlib/zutil.h +269 -0
  39. data/ext/Tioga/FigureMaker/__shared_axes.c +1373 -0
  40. data/ext/Tioga/FigureMaker/__shared_makers.c +1303 -0
  41. data/{split/Tioga/pdf_font_dicts.c → ext/Tioga/FigureMaker/__shared_pdf_font_dicts.c} +0 -0
  42. data/{split/Tioga/pdfcolor.c → ext/Tioga/FigureMaker/__shared_pdfcolor.c} +0 -0
  43. data/{split/Tioga/pdfcoords.c → ext/Tioga/FigureMaker/__shared_pdfcoords.c} +0 -0
  44. data/{split/Tioga/pdffile.c → ext/Tioga/FigureMaker/__shared_pdffile.c} +0 -0
  45. data/{split/Tioga/pdfimage.c → ext/Tioga/FigureMaker/__shared_pdfimage.c} +0 -0
  46. data/{split/Tioga/pdfpath.c → ext/Tioga/FigureMaker/__shared_pdfpath.c} +0 -0
  47. data/{split/Tioga/pdftext.c → ext/Tioga/FigureMaker/__shared_pdftext.c} +0 -0
  48. data/{split/Tioga/texout.c → ext/Tioga/FigureMaker/__shared_texout.c} +0 -0
  49. data/ext/Tioga/FigureMaker/extconf.rb +7 -0
  50. data/{split/Tioga → ext/Tioga/FigureMaker}/figures.c +14 -2
  51. data/{split/Tioga → ext/Tioga/FigureMaker}/figures.h +0 -0
  52. data/{split/Tioga → ext/Tioga/FigureMaker}/generic.c +1 -2
  53. data/{split/Tioga → ext/Tioga/FigureMaker}/generic.h +0 -1
  54. data/{split/Tioga → ext/Tioga/FigureMaker}/init.c +0 -0
  55. data/{split/Tioga → ext/Tioga/FigureMaker}/pdfs.h +0 -0
  56. data/{split/Tioga → ext/Tioga/FigureMaker/shared}/axes.c +32 -7
  57. data/{split/Tioga → ext/Tioga/FigureMaker/shared}/makers.c +2 -2
  58. data/ext/Tioga/FigureMaker/shared/pdf_font_dicts.c +18253 -0
  59. data/ext/Tioga/FigureMaker/shared/pdfcolor.c +904 -0
  60. data/ext/Tioga/FigureMaker/shared/pdfcoords.c +518 -0
  61. data/ext/Tioga/FigureMaker/shared/pdffile.c +451 -0
  62. data/ext/Tioga/FigureMaker/shared/pdfimage.c +539 -0
  63. data/ext/Tioga/FigureMaker/shared/pdfpath.c +766 -0
  64. data/ext/Tioga/FigureMaker/shared/pdftext.c +710 -0
  65. data/ext/Tioga/FigureMaker/shared/texout.c +533 -0
  66. data/{split/Tioga → ext/Tioga/FigureMaker}/wrappers.c +5 -5
  67. data/{split/Tioga → ext/Tioga/FigureMaker}/wrappers.h +0 -0
  68. data/{split/Dtable → ext/includes}/defs.h +0 -0
  69. data/{split/Dtable → ext/includes}/namespace.h +0 -0
  70. data/{split/Dtable → ext/includes}/safe_double.h +0 -0
  71. data/{split → ext/includes}/symbols.c +0 -1
  72. data/{split/Dtable → ext/includes}/symbols.h +0 -0
  73. data/{split/Dtable/lib → lib/Dobjects}/Dtable_extras.rb +0 -0
  74. data/{split/Dvector/lib → lib/Dobjects}/Dvector_extras.rb +1 -0
  75. data/{split/Function/lib → lib/Dobjects}/Function_extras.rb +0 -0
  76. data/{split/Dvector/lib → lib/Dobjects}/Numeric_extras.rb +0 -0
  77. data/{split/Tioga/lib → lib/Tioga}/Arcs_and_Circles.rb +0 -0
  78. data/{split/Tioga/lib → lib/Tioga}/ColorConstants.rb +0 -0
  79. data/{split/Tioga/lib → lib/Tioga}/Colorbars.rb +0 -0
  80. data/{split/Tioga/lib → lib/Tioga}/Colormaps.rb +0 -0
  81. data/{split/Tioga/lib → lib/Tioga}/Coordinate_Conversions.rb +0 -0
  82. data/{split/Tioga/lib → lib/Tioga}/Creating_Paths.rb +0 -0
  83. data/{split/Tioga/lib → lib/Tioga}/Doc.rb +0 -0
  84. data/{split/Tioga/lib → lib/Tioga}/Executive.rb +0 -0
  85. data/{split/Tioga/lib → lib/Tioga}/FigMkr.rb +13 -70
  86. data/{split/Tioga/lib → lib/Tioga}/FigureConstants.rb +0 -0
  87. data/{split/Tioga/lib → lib/Tioga}/Figures_and_Plots.rb +0 -0
  88. data/{split/Tioga/lib → lib/Tioga}/Images.rb +0 -0
  89. data/{split/Tioga/lib → lib/Tioga}/Legends.rb +0 -0
  90. data/{split/Tioga/lib → lib/Tioga}/MarkerConstants.rb +0 -0
  91. data/{split/Tioga/lib → lib/Tioga}/Markers.rb +0 -0
  92. data/{split/Tioga/lib → lib/Tioga}/Page_Frame_Bounds.rb +0 -0
  93. data/{split/Tioga/lib → lib/Tioga}/Rectangles.rb +0 -0
  94. data/{split/Tioga/lib → lib/Tioga}/Shading.rb +0 -0
  95. data/{split/Tioga/lib → lib/Tioga}/Special_Paths.rb +0 -0
  96. data/{split/Tioga/lib → lib/Tioga}/Strokes.rb +0 -0
  97. data/{split/Tioga/lib → lib/Tioga}/TeX_Text.rb +0 -0
  98. data/{split/Tioga/lib → lib/Tioga}/TexPreamble.rb +0 -0
  99. data/{split/Tioga/lib → lib/Tioga}/Titles_and_Labels.rb +0 -0
  100. data/{split/Tioga/lib → lib/Tioga}/Transparency.rb +0 -0
  101. data/{split/Tioga/lib → lib/Tioga}/Using_Paths.rb +0 -0
  102. data/{split/Tioga/lib → lib/Tioga}/Utils.rb +74 -0
  103. data/{split/Tioga/lib → lib/Tioga}/X_and_Y_Axes.rb +0 -0
  104. data/{split/Tioga/lib → lib/Tioga}/irb_tioga.rb +0 -0
  105. data/{split/Tioga/lib → lib/Tioga}/maker.rb +0 -0
  106. data/{split/Tioga/lib → lib/Tioga}/tioga.rb +0 -0
  107. data/{split/Tioga/lib → lib/Tioga}/tioga_ui.rb +0 -0
  108. data/{split/Tioga/lib → lib/Tioga}/tioga_ui_cmds.rb +0 -0
  109. data/tests/Icon_Test.pdf +0 -0
  110. data/tests/benchmark_dvector_reads.rb +20 -42
  111. data/tests/tc_Dvector.rb +45 -4
  112. data/tests/tc_Flate.rb +4 -5
  113. data/tests/tc_Function.rb +79 -0
  114. data/tests/vg.log +1453 -0
  115. metadata +141 -122
  116. data/split/Dtable/extconf.rb +0 -4
  117. data/split/Dvector/defs.h +0 -39
  118. data/split/Dvector/extconf.rb +0 -4
  119. data/split/Dvector/include/dvector.h +0 -77
  120. data/split/Dvector/namespace.h +0 -59
  121. data/split/Dvector/safe_double.h +0 -104
  122. data/split/Dvector/symbols.h +0 -52
  123. data/split/Flate/defs.h +0 -39
  124. data/split/Flate/extconf.rb +0 -19
  125. data/split/Flate/namespace.h +0 -59
  126. data/split/Flate/safe_double.h +0 -104
  127. data/split/Flate/symbols.h +0 -52
  128. data/split/Function/defs.h +0 -39
  129. data/split/Function/dvector.h +0 -77
  130. data/split/Function/extconf.rb +0 -4
  131. data/split/Function/namespace.h +0 -59
  132. data/split/Function/safe_double.h +0 -104
  133. data/split/Function/symbols.h +0 -52
  134. data/split/Tioga/defs.h +0 -39
  135. data/split/Tioga/dtable.h +0 -35
  136. data/split/Tioga/dvector.h +0 -77
  137. data/split/Tioga/extconf.rb +0 -4
  138. data/split/Tioga/flate.h +0 -98
  139. data/split/Tioga/mk_tioga_sty.rb +0 -53
  140. data/split/Tioga/namespace.h +0 -59
  141. data/split/Tioga/safe_double.h +0 -104
  142. data/split/Tioga/symbols.h +0 -52
  143. data/split/defs.h +0 -39
  144. data/split/extconf.rb +0 -125
  145. data/split/mkmf2.rb +0 -1623
  146. data/split/namespace.h +0 -59
  147. data/split/safe_double.h +0 -104
  148. data/split/symbols.h +0 -52
@@ -0,0 +1,518 @@
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
+
26
+ /* Frame and Bounds */
27
+ void
28
+ Recalc_Font_Hts(FM *p)
29
+ {
30
+ double dx, dy; // font height in output coords
31
+ dx = dy = ENLARGE * p->default_font_size * p->default_text_scale;
32
+ dx = convert_output_to_page_dx(p, dx);
33
+ dx = convert_page_to_frame_dx(p, dx);
34
+ p->default_text_height_dx = convert_frame_to_figure_dx(p, dx);
35
+ dy = convert_output_to_page_dy(p, dy);
36
+ dy = convert_page_to_frame_dy(p, dy);
37
+ p->default_text_height_dy = convert_frame_to_figure_dy(p, dy);
38
+ }
39
+
40
+
41
+ void
42
+ c_set_subframe(OBJ_PTR fmkr, FM *p,
43
+ double left_margin, double right_margin, double top_margin,
44
+ double bottom_margin, int *ierr)
45
+ {
46
+ double x, y, w, h;
47
+ x = p->frame_left += left_margin * p->frame_width;
48
+ p->frame_right -= right_margin * p->frame_width;
49
+ p->frame_top -= top_margin * p->frame_height;
50
+ y = p->frame_bottom += bottom_margin * p->frame_height;
51
+ w = p->frame_width = p->frame_right - p->frame_left;
52
+ h = p->frame_height = p->frame_top - p->frame_bottom;
53
+ Recalc_Font_Hts(p);
54
+ }
55
+
56
+
57
+ void
58
+ c_private_set_bounds(OBJ_PTR fmkr, FM *p, double left, double right,
59
+ double top, double bottom, int *ierr)
60
+ {
61
+ if (constructing_path) {
62
+ RAISE_ERROR("Sorry: must finish with current path before calling "
63
+ "set_bounds", ierr);
64
+ return;
65
+ }
66
+ p->bounds_left = left; p->bounds_right = right;
67
+ p->bounds_bottom = bottom; p->bounds_top = top;
68
+ if (left < right) {
69
+ p->xaxis_reversed = false;
70
+ p->bounds_xmin = left; p->bounds_xmax = right;
71
+ }
72
+ else if (right < left) {
73
+ p->xaxis_reversed = true;
74
+ p->bounds_xmin = right; p->bounds_xmax = left;
75
+ }
76
+ else { // left == right
77
+ p->xaxis_reversed = false;
78
+ if (left > 0.0) {
79
+ p->bounds_xmin = left * (1.0 - 1e-6);
80
+ p->bounds_xmax = left * (1.0 + 1e-6);
81
+ }
82
+ else if (left < 0.0) {
83
+ p->bounds_xmin = left * (1.0 + 1e-6);
84
+ p->bounds_xmax = left * (1.0 - 1e-6);
85
+ }
86
+ else {
87
+ p->bounds_xmin = -1e-6; p->bounds_xmax = 1e-6;
88
+ }
89
+ }
90
+ if (bottom < top) {
91
+ p->yaxis_reversed = false;
92
+ p->bounds_ymin = bottom; p->bounds_ymax = top;
93
+ }
94
+ else if (top < bottom) {
95
+ p->yaxis_reversed = true;
96
+ p->bounds_ymin = top; p->bounds_ymax = bottom;
97
+ }
98
+ else { // top == bottom
99
+ p->yaxis_reversed = false;
100
+ if (bottom > 0.0) {
101
+ p->bounds_ymin = bottom * (1.0 - 1e-6);
102
+ p->bounds_ymax = bottom * (1.0 + 1e-6);
103
+ }
104
+ else if (bottom < 0.0) {
105
+ p->bounds_ymin = bottom * (1.0 + 1e-6);
106
+ p->bounds_ymax = bottom * (1.0 - 1e-6);
107
+ }
108
+ else {
109
+ p->bounds_xmin = -1e-6; p->bounds_xmax = 1e-6;
110
+ }
111
+ }
112
+ p->bounds_width = p->bounds_xmax - p->bounds_xmin;
113
+ p->bounds_height = p->bounds_ymax - p->bounds_ymin;
114
+ Recalc_Font_Hts(p);
115
+ }
116
+
117
+
118
+ // Conversions
119
+
120
+ OBJ_PTR
121
+ c_convert_to_degrees(OBJ_PTR fmkr, FM *p, double dx, double dy, int *ierr)
122
+ { // dx and dy in figure coords
123
+ double angle;
124
+ if (dx == 0.0 && dy == 0.0) angle = 0.0;
125
+ else if (dx > 0.0 && dy == 0.0)
126
+ angle = (p->bounds_left > p->bounds_right)? 180.0 : 0.0;
127
+ else if (dx < 0.0 && dy == 0.0)
128
+ angle = (p->bounds_left > p->bounds_right)? 0.0 : 180.0;
129
+ else if (dx == 0.0 && dy > 0.0)
130
+ angle = (p->bounds_bottom > p->bounds_top)? -90.0 : 90.0;
131
+ else if (dx == 0.0 && dy < 0.0)
132
+ angle = (p->bounds_bottom > p->bounds_top)? 90.0 : -90.0;
133
+ else
134
+ angle = atan2(convert_figure_to_output_dy(p, dy),
135
+ convert_figure_to_output_dx(p, dx)) * RADIANS_TO_DEGREES;
136
+ return Float_New(angle);
137
+ }
138
+
139
+
140
+ OBJ_PTR
141
+ c_convert_inches_to_output(OBJ_PTR fmkr, FM *p, double val, int *ierr)
142
+ {
143
+ val = convert_inches_to_output(val);
144
+ return Float_New(val);
145
+ }
146
+
147
+
148
+ OBJ_PTR
149
+ c_convert_output_to_inches(OBJ_PTR fmkr, FM *p, double val, int *ierr)
150
+ {
151
+ val = convert_output_to_inches(val);
152
+ return Float_New(val);
153
+ }
154
+
155
+
156
+ OBJ_PTR
157
+ c_convert_mm_to_output(OBJ_PTR fmkr, FM *p, double val, int *ierr)
158
+ {
159
+ val = convert_mm_to_output(val);
160
+ return Float_New(val);
161
+ }
162
+
163
+
164
+ OBJ_PTR
165
+ c_convert_output_to_mm(OBJ_PTR fmkr, FM *p, double val, int *ierr)
166
+ {
167
+ val = convert_output_to_mm(val);
168
+ return Float_New(val);
169
+ }
170
+
171
+
172
+ OBJ_PTR
173
+ c_convert_page_to_output_x(OBJ_PTR fmkr, FM *p, double val, int *ierr)
174
+ {
175
+ val = convert_page_to_output_x(p, val);
176
+ return Float_New(val);
177
+ }
178
+
179
+
180
+ OBJ_PTR
181
+ c_convert_page_to_output_y(OBJ_PTR fmkr, FM *p, double val, int *ierr)
182
+ {
183
+ val = convert_page_to_output_y(p, val);
184
+ return Float_New(val);
185
+ }
186
+
187
+
188
+ OBJ_PTR
189
+ c_convert_page_to_output_dx(OBJ_PTR fmkr, FM *p, double val, int *ierr)
190
+ {
191
+ val = convert_page_to_output_dx(p, val);
192
+ return Float_New(val);
193
+ }
194
+
195
+
196
+ OBJ_PTR
197
+ c_convert_page_to_output_dy(OBJ_PTR fmkr, FM *p, double val, int *ierr)
198
+ {
199
+ val = convert_page_to_output_dy(p, val);
200
+ return Float_New(val);
201
+ }
202
+
203
+
204
+ OBJ_PTR
205
+ c_convert_output_to_page_x(OBJ_PTR fmkr, FM *p, double val, int *ierr)
206
+ {
207
+ val = convert_output_to_page_x(p, val);
208
+ return Float_New(val);
209
+ }
210
+
211
+
212
+ OBJ_PTR
213
+ c_convert_output_to_page_y(OBJ_PTR fmkr, FM *p, double val, int *ierr)
214
+ {
215
+ val = convert_output_to_page_y(p, val);
216
+ return Float_New(val);
217
+ }
218
+
219
+
220
+ OBJ_PTR
221
+ 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
+
228
+ OBJ_PTR
229
+ c_convert_output_to_page_dy(OBJ_PTR fmkr, FM *p, double val, int *ierr)
230
+ {
231
+ val = convert_output_to_page_dy(p, val);
232
+ return Float_New(val);
233
+ }
234
+
235
+
236
+ OBJ_PTR
237
+ c_convert_frame_to_page_x(OBJ_PTR fmkr, FM *p, double val, int *ierr)
238
+ {
239
+ val = convert_frame_to_page_x(p, val);
240
+ return Float_New(val);
241
+ }
242
+
243
+
244
+ OBJ_PTR
245
+ c_convert_frame_to_page_y(OBJ_PTR fmkr, FM *p, double val, int *ierr)
246
+ {
247
+ val = convert_frame_to_page_y(p, val);
248
+ return Float_New(val);
249
+ }
250
+
251
+
252
+ OBJ_PTR
253
+ c_convert_frame_to_page_dx(OBJ_PTR fmkr, FM *p, double val, int *ierr)
254
+ {
255
+ val = convert_frame_to_page_dx(p, val);
256
+ return Float_New(val);
257
+ }
258
+
259
+
260
+ OBJ_PTR
261
+ c_convert_frame_to_page_dy(OBJ_PTR fmkr, FM *p, double val, int *ierr)
262
+ {
263
+ val = convert_frame_to_page_dy(p, val);
264
+ return Float_New(val);
265
+ }
266
+
267
+
268
+ OBJ_PTR
269
+ c_convert_page_to_frame_x(OBJ_PTR fmkr, FM *p, double val, int *ierr)
270
+ {
271
+ val = convert_page_to_frame_x(p, val);
272
+ return Float_New(val);
273
+ }
274
+
275
+
276
+ OBJ_PTR
277
+ c_convert_page_to_frame_y(OBJ_PTR fmkr, FM *p, double val, int *ierr)
278
+ {
279
+ val = convert_page_to_frame_y(p, val);
280
+ return Float_New(val);
281
+ }
282
+
283
+
284
+ OBJ_PTR
285
+ c_convert_page_to_frame_dx(OBJ_PTR fmkr, FM *p, double val, int *ierr)
286
+ {
287
+ val = convert_page_to_frame_dx(p, val);
288
+ return Float_New(val);
289
+ }
290
+
291
+
292
+ OBJ_PTR
293
+ c_convert_page_to_frame_dy(OBJ_PTR fmkr, FM *p, double val, int *ierr)
294
+ {
295
+ val = convert_page_to_frame_dy(p, val);
296
+ return Float_New(val);
297
+ }
298
+
299
+ OBJ_PTR
300
+ c_convert_figure_to_frame_x(OBJ_PTR fmkr, FM *p, double val, int *ierr)
301
+ {
302
+ val = convert_figure_to_frame_x(p, val);
303
+ return Float_New(val);
304
+ }
305
+
306
+
307
+ OBJ_PTR
308
+ c_convert_figure_to_frame_y(OBJ_PTR fmkr, FM *p, double val, int *ierr)
309
+ {
310
+ val = convert_figure_to_frame_y(p, val);
311
+ return Float_New(val);
312
+ }
313
+
314
+
315
+ OBJ_PTR
316
+ c_convert_figure_to_frame_dx(OBJ_PTR fmkr, FM *p, double val, int *ierr)
317
+ {
318
+ val = convert_figure_to_frame_dx(p, val);
319
+ return Float_New(val);
320
+ }
321
+
322
+
323
+ OBJ_PTR
324
+ c_convert_figure_to_frame_dy(OBJ_PTR fmkr, FM *p, double val, int *ierr)
325
+ {
326
+ val = convert_figure_to_frame_dy(p, val);
327
+ return Float_New(val);
328
+ }
329
+
330
+
331
+ OBJ_PTR
332
+ c_convert_frame_to_figure_x(OBJ_PTR fmkr, FM *p, double val, int *ierr)
333
+ {
334
+ val = convert_frame_to_figure_x(p, val);
335
+ return Float_New(val);
336
+ }
337
+
338
+
339
+ OBJ_PTR
340
+ c_convert_frame_to_figure_y(OBJ_PTR fmkr, FM *p, double val, int *ierr)
341
+ {
342
+ val = convert_frame_to_figure_y(p, val);
343
+ return Float_New(val);
344
+ }
345
+
346
+
347
+ OBJ_PTR
348
+ c_convert_frame_to_figure_dx(OBJ_PTR fmkr, FM *p, double val, int *ierr)
349
+ {
350
+ val = convert_frame_to_figure_dx(p, val);
351
+ return Float_New(val);
352
+ }
353
+
354
+
355
+ OBJ_PTR
356
+ c_convert_frame_to_figure_dy(OBJ_PTR fmkr, FM *p, double val, int *ierr)
357
+ {
358
+ val = convert_frame_to_figure_dy(p, val);
359
+ return Float_New(val);
360
+ }
361
+
362
+
363
+ double
364
+ convert_figure_to_output_x(FM *p, double x)
365
+ {
366
+ x = convert_figure_to_frame_x(p, x);
367
+ x = convert_frame_to_page_x(p, x);
368
+ x = convert_page_to_output_x(p, x);
369
+ return x;
370
+ }
371
+
372
+
373
+ double
374
+ convert_figure_to_output_dy(FM *p, double dy)
375
+ {
376
+ dy = convert_figure_to_frame_dy(p, dy);
377
+ dy = convert_frame_to_page_dy(p, dy);
378
+ dy = convert_page_to_output_dy(p, dy);
379
+ return dy;
380
+ }
381
+
382
+
383
+ double
384
+ convert_figure_to_output_dx(FM *p, double dx)
385
+ {
386
+ dx = convert_figure_to_frame_dx(p, dx);
387
+ dx = convert_frame_to_page_dx(p, dx);
388
+ dx = convert_page_to_output_dx(p, dx);
389
+ return dx;
390
+ }
391
+
392
+
393
+ double
394
+ convert_figure_to_output_y(FM *p, double y)
395
+ {
396
+ y = convert_figure_to_frame_y(p, y);
397
+ y = convert_frame_to_page_y(p, y);
398
+ y = convert_page_to_output_y(p, y);
399
+ return y;
400
+ }
401
+
402
+
403
+ OBJ_PTR
404
+ c_convert_figure_to_output_x(OBJ_PTR fmkr, FM *p, double val, int *ierr)
405
+ {
406
+ return Float_New(convert_figure_to_output_x(p, val));
407
+ }
408
+
409
+
410
+ OBJ_PTR
411
+ c_convert_figure_to_output_y(OBJ_PTR fmkr, FM *p, double val, int *ierr)
412
+ {
413
+ return Float_New(convert_figure_to_output_y(p, val));
414
+ }
415
+
416
+
417
+ OBJ_PTR
418
+ c_convert_figure_to_output_dx(OBJ_PTR fmkr, FM *p, double val, int *ierr)
419
+ {
420
+ return Float_New(convert_figure_to_output_dx(p, val));
421
+ }
422
+
423
+
424
+ OBJ_PTR
425
+ c_convert_figure_to_output_dy(OBJ_PTR fmkr, FM *p, double val, int *ierr)
426
+ {
427
+ return Float_New(convert_figure_to_output_dy(p, val));
428
+ }
429
+
430
+
431
+ double
432
+ convert_output_to_figure_x(FM *p, double x)
433
+ {
434
+ x = convert_output_to_page_x(p, x);
435
+ x = convert_page_to_frame_x(p, x);
436
+ x = convert_frame_to_figure_x(p, x);
437
+ return x;
438
+ }
439
+
440
+
441
+ double
442
+ convert_output_to_figure_dy(FM *p, double dy)
443
+ {
444
+ dy = convert_output_to_page_dy(p, dy);
445
+ dy = convert_page_to_frame_dy(p, dy);
446
+ dy = convert_frame_to_figure_dy(p, dy);
447
+ return dy;
448
+ }
449
+
450
+
451
+ double
452
+ convert_output_to_figure_dx(FM *p, double dx)
453
+ {
454
+ dx = convert_output_to_page_dx(p, dx);
455
+ dx = convert_page_to_frame_dx(p, dx);
456
+ dx = convert_frame_to_figure_dx(p, dx);
457
+ return dx;
458
+ }
459
+
460
+
461
+ double
462
+ convert_output_to_figure_y(FM *p, double y)
463
+ {
464
+ y = convert_output_to_page_y(p, y);
465
+ y = convert_page_to_frame_y(p, y);
466
+ y = convert_frame_to_figure_y(p, y);
467
+ return y;
468
+ }
469
+
470
+
471
+ OBJ_PTR
472
+ c_convert_output_to_figure_x(OBJ_PTR fmkr, FM *p, double val, int *ierr)
473
+ {
474
+ return Float_New(convert_output_to_figure_x(p, val));
475
+ }
476
+
477
+
478
+ OBJ_PTR
479
+ c_convert_output_to_figure_y(OBJ_PTR fmkr, FM *p, double val, int *ierr)
480
+ {
481
+ return Float_New(convert_output_to_figure_y(p, val));
482
+ }
483
+
484
+
485
+ OBJ_PTR
486
+ c_convert_output_to_figure_dx(OBJ_PTR fmkr, FM *p, double val, int *ierr)
487
+ {
488
+ return Float_New(convert_output_to_figure_dx(p, val));
489
+ }
490
+
491
+
492
+ OBJ_PTR
493
+ c_convert_output_to_figure_dy(OBJ_PTR fmkr, FM *p, double val, int *ierr)
494
+ {
495
+ return Float_New(convert_output_to_figure_dy(p, val));
496
+ }
497
+
498
+
499
+ void
500
+ c_private_set_default_font_size(OBJ_PTR fmkr, FM *p, double size, int *ierr)
501
+ {
502
+ p->default_font_size = size;
503
+ Recalc_Font_Hts(p);
504
+ }
505
+
506
+
507
+ void
508
+ c_doing_subplot(OBJ_PTR fmkr, FM *p, int *ierr)
509
+ {
510
+ p->in_subplot = true;
511
+ }
512
+
513
+
514
+ void
515
+ c_doing_subfigure(OBJ_PTR fmkr, FM *p, int *ierr)
516
+ {
517
+ p->root_figure = false;
518
+ }