tioga 1.11 → 1.13

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.
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
+ }