ruby-dcl 1.6.2

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 (319) hide show
  1. data/ChangeLog +321 -0
  2. data/GenWrapper/Makefile +14 -0
  3. data/GenWrapper/cproto2init.rb +41 -0
  4. data/GenWrapper/dcl_narrayed_funcs.rb +181 -0
  5. data/GenWrapper/dcl_rb_footing +29 -0
  6. data/GenWrapper/dcl_rb_heading +129 -0
  7. data/GenWrapper/def.rb +20 -0
  8. data/GenWrapper/elim_ary_size.rb +398 -0
  9. data/GenWrapper/etc/Mk_proto +375 -0
  10. data/GenWrapper/etc/dcl_gen +13 -0
  11. data/GenWrapper/etc/p_header +63 -0
  12. data/GenWrapper/etc/p_init +410 -0
  13. data/GenWrapper/pparse.rb +137 -0
  14. data/GenWrapper/proto/Makefile +35 -0
  15. data/GenWrapper/proto/grph1_00 +17 -0
  16. data/GenWrapper/proto/grph1_csgi.fp +27 -0
  17. data/GenWrapper/proto/grph1_scpack.fp +442 -0
  18. data/GenWrapper/proto/grph1_sgpack.fp +1406 -0
  19. data/GenWrapper/proto/grph1_slpack.fp +316 -0
  20. data/GenWrapper/proto/grph1_stpack.fp +411 -0
  21. data/GenWrapper/proto/grph1_swpack.fp +746 -0
  22. data/GenWrapper/proto/grph2_00 +16 -0
  23. data/GenWrapper/proto/grph2_grpack.fp +139 -0
  24. data/GenWrapper/proto/grph2_ucpack.fp +522 -0
  25. data/GenWrapper/proto/grph2_udpack.fp +692 -0
  26. data/GenWrapper/proto/grph2_uepack.fp +601 -0
  27. data/GenWrapper/proto/grph2_ugpack.fp +436 -0
  28. data/GenWrapper/proto/grph2_uhpack.fp +246 -0
  29. data/GenWrapper/proto/grph2_ulpack.fp +516 -0
  30. data/GenWrapper/proto/grph2_umpack.fp +676 -0
  31. data/GenWrapper/proto/grph2_uspack.fp +989 -0
  32. data/GenWrapper/proto/grph2_uupack.fp +663 -0
  33. data/GenWrapper/proto/grph2_uvpack.fp +246 -0
  34. data/GenWrapper/proto/grph2_uwpack.fp +203 -0
  35. data/GenWrapper/proto/grph2_uxpack.fp +295 -0
  36. data/GenWrapper/proto/grph2_uypack.fp +295 -0
  37. data/GenWrapper/proto/grph2_uzpack.fp +574 -0
  38. data/GenWrapper/proto/math1_00 +12 -0
  39. data/GenWrapper/proto/math1_blklib.fp +58 -0
  40. data/GenWrapper/proto/math1_chrlib.fp +83 -0
  41. data/GenWrapper/proto/math1_fnclib.fp +79 -0
  42. data/GenWrapper/proto/math1_gnmlib.fp +118 -0
  43. data/GenWrapper/proto/math1_gt2dlib.fp +144 -0
  44. data/GenWrapper/proto/math1_ifalib.fp +123 -0
  45. data/GenWrapper/proto/math1_indxlib.fp +222 -0
  46. data/GenWrapper/proto/math1_intlib.fp +46 -0
  47. data/GenWrapper/proto/math1_lrllib.fp +276 -0
  48. data/GenWrapper/proto/math1_maplib.fp +24 -0
  49. data/GenWrapper/proto/math1_oslib.fp +28 -0
  50. data/GenWrapper/proto/math1_rfalib.fp +420 -0
  51. data/GenWrapper/proto/math1_rfblib.fp +51 -0
  52. data/GenWrapper/proto/math1_sublib.fp +60 -0
  53. data/GenWrapper/proto/math1_syslib.fp +767 -0
  54. data/GenWrapper/proto/math1_vialib.fp +339 -0
  55. data/GenWrapper/proto/math1_viblib.fp +264 -0
  56. data/GenWrapper/proto/math1_vralib.fp +339 -0
  57. data/GenWrapper/proto/math1_vrblib.fp +264 -0
  58. data/GenWrapper/proto/math1_xfclib.fp +68 -0
  59. data/GenWrapper/proto/math2_00 +12 -0
  60. data/GenWrapper/proto/math2_fftlib.fp +803 -0
  61. data/GenWrapper/proto/math2_intrlib.fp +32 -0
  62. data/GenWrapper/proto/math2_odelib.fp_notused +568 -0
  63. data/GenWrapper/proto/math2_rnmlib.fp +54 -0
  64. data/GenWrapper/proto/math2_shtlib.fp +1292 -0
  65. data/GenWrapper/proto/math2_shtlib.fp_old +1294 -0
  66. data/GenWrapper/proto/math2_vstlib.fp +84 -0
  67. data/GenWrapper/proto/misc1_00 +17 -0
  68. data/GenWrapper/proto/misc1_chnlib.fp +47 -0
  69. data/GenWrapper/proto/misc1_datelib.fp +352 -0
  70. data/GenWrapper/proto/misc1_fmtlib.fp +19 -0
  71. data/GenWrapper/proto/misc1_misclib.fp +26 -0
  72. data/GenWrapper/proto/misc1_randlib.fp +36 -0
  73. data/GenWrapper/proto/misc1_timelib.fp +151 -0
  74. data/GenWrapper/proto2c.rb +13 -0
  75. data/GenWrapper/prototype.rb +209 -0
  76. data/GenWrapper/util.rb +9 -0
  77. data/GenWrapper/variable.rb +671 -0
  78. data/README +29 -0
  79. data/Rakefile +44 -0
  80. data/ToDo +2 -0
  81. data/dcl_cary2obj.c +354 -0
  82. data/dcl_narrayed_funcs.c +518 -0
  83. data/dcl_obj2cary.c +512 -0
  84. data/dcl_rubydcloriginal.c +129 -0
  85. data/demo/gokuraku/hop/hop.rb +26 -0
  86. data/demo/gokuraku/jump/jump1.rb +64 -0
  87. data/demo/gokuraku/jump/jump2.rb +50 -0
  88. data/demo/gokuraku/layout/lay1.rb +46 -0
  89. data/demo/gokuraku/layout/lay2.rb +44 -0
  90. data/demo/gokuraku/step/step0.rb +34 -0
  91. data/demo/gokuraku/step/step1.rb +84 -0
  92. data/demo/gokuraku/step/step2.rb +62 -0
  93. data/demo/gokuraku/u1d/u1d1.rb +37 -0
  94. data/demo/gokuraku/u1d/u1d2.rb +50 -0
  95. data/demo/gokuraku/u2d/u2d1.rb +46 -0
  96. data/demo/gokuraku/u2d/u2d2.rb +49 -0
  97. data/demo/gokuraku/u2d/u2d3.rb +45 -0
  98. data/demo/gokuraku/u2d/u2d4.rb +61 -0
  99. data/demo/grph1/scpack/scpkt2.rb +40 -0
  100. data/demo/grph1/scpack/scpkt3.rb +102 -0
  101. data/demo/grph1/scpack/scpkt6.rb +84 -0
  102. data/demo/grph1/scpack/scpkt7.rb +59 -0
  103. data/demo/grph1/scpack/scpkt8.rb +60 -0
  104. data/demo/grph1/scpack/t810630.dat +296 -0
  105. data/demo/grph1/scpack/t811231.dat +296 -0
  106. data/demo/grph1/sgpack/sgfont.rb +52 -0
  107. data/demo/grph1/sgpack/sgfonz.rb +53 -0
  108. data/demo/grph1/sgpack/sgksx1.rb +44 -0
  109. data/demo/grph1/sgpack/sgksx2.rb +90 -0
  110. data/demo/grph1/sgpack/sgksx3.rb +75 -0
  111. data/demo/grph1/sgpack/sglidx.rb +40 -0
  112. data/demo/grph1/sgpack/sgltyp.rb +48 -0
  113. data/demo/grph1/sgpack/sgpk01.rb +39 -0
  114. data/demo/grph1/sgpack/sgpk02.rb +79 -0
  115. data/demo/grph1/sgpack/sgpk03.rb +107 -0
  116. data/demo/grph1/sgpack/sgpk04.rb +86 -0
  117. data/demo/grph1/sgpack/sgpk05.rb +66 -0
  118. data/demo/grph1/sgpack/sgpk06.rb +91 -0
  119. data/demo/grph1/sgpack/sgpk07.rb +66 -0
  120. data/demo/grph1/sgpack/sgpk08.rb +67 -0
  121. data/demo/grph1/sgpack/sgpk09.rb +61 -0
  122. data/demo/grph1/sgpack/sgpk10.rb +58 -0
  123. data/demo/grph1/sgpack/sgtclr.rb +59 -0
  124. data/demo/grph1/sgpack/sgtone.rb +70 -0
  125. data/demo/grph1/sgpack/sgtonz.rb +66 -0
  126. data/demo/grph1/slpack/slpk01.rb +37 -0
  127. data/demo/grph1/slpack/slpk02.rb +29 -0
  128. data/demo/grph1/slpack/slpk03.rb +36 -0
  129. data/demo/grph1/slpack/slpk04.rb +36 -0
  130. data/demo/grph2/g2pack/g2pk01.rb +78 -0
  131. data/demo/grph2/g2pack/g2pk02.rb +75 -0
  132. data/demo/grph2/grpack/grpk01.rb +65 -0
  133. data/demo/grph2/ucpack/ucpk01.rb +95 -0
  134. data/demo/grph2/ucpack/ucpk02.rb +95 -0
  135. data/demo/grph2/udegpk/u2df01.rb +50 -0
  136. data/demo/grph2/udegpk/u2df02.rb +76 -0
  137. data/demo/grph2/udegpk/u2df03.rb +80 -0
  138. data/demo/grph2/udegpk/u2df04.rb +52 -0
  139. data/demo/grph2/udegpk/u2df05.rb +70 -0
  140. data/demo/grph2/udegpk/u2df06.rb +59 -0
  141. data/demo/grph2/udegpk/u2df07.rb +68 -0
  142. data/demo/grph2/udegpk/u2df08.rb +91 -0
  143. data/demo/grph2/udegpk/u2df09b.rb +88 -0
  144. data/demo/grph2/udegpk/u2df09c.rb +89 -0
  145. data/demo/grph2/udegpk/u2df09e.rb +88 -0
  146. data/demo/grph2/udegpk/u2df09f.rb +89 -0
  147. data/demo/grph2/ulpack/ulpk01.rb +111 -0
  148. data/demo/grph2/ulpack/ulpk01n.rb +111 -0
  149. data/demo/grph2/ulpack/ulpk02.rb +111 -0
  150. data/demo/grph2/ulpack/ulpk02n.rb +111 -0
  151. data/demo/grph2/umpack/t811231.dat +296 -0
  152. data/demo/grph2/umpack/test01.rb +69 -0
  153. data/demo/grph2/umpack/test02.rb +64 -0
  154. data/demo/grph2/umpack/test03.rb +84 -0
  155. data/demo/grph2/umpack/test04.rb +54 -0
  156. data/demo/grph2/umpack/test05.rb +85 -0
  157. data/demo/grph2/umpack/test06.rb +44 -0
  158. data/demo/grph2/umpack/test07.rb +43 -0
  159. data/demo/grph2/umpack/test08.rb +37 -0
  160. data/demo/grph2/umpack/test09.rb +86 -0
  161. data/demo/grph2/umpack/test10.rb +52 -0
  162. data/demo/grph2/umpack/umpk01.rb +65 -0
  163. data/demo/grph2/umpack/umpk02.rb +54 -0
  164. data/demo/grph2/umpack/umpk03.rb +46 -0
  165. data/demo/grph2/umpack/umpk04.rb +65 -0
  166. data/demo/grph2/umpack/umpk05.rb +84 -0
  167. data/demo/grph2/uspack/uspk01.rb +39 -0
  168. data/demo/grph2/uspack/uspk02.rb +47 -0
  169. data/demo/grph2/uspack/uspk03.rb +38 -0
  170. data/demo/grph2/uspack/uspk04.rb +64 -0
  171. data/demo/grph2/uspack/uspk05.rb +68 -0
  172. data/demo/grph2/uspack/uspk06.rb +43 -0
  173. data/demo/grph2/uspack/uspk07.rb +62 -0
  174. data/demo/grph2/uspack/uspk08.rb +46 -0
  175. data/demo/grph2/uspack/uspk09.rb +89 -0
  176. data/demo/grph2/uspack/uspk10.rb +48 -0
  177. data/demo/grph2/uspack/uspk11.rb +71 -0
  178. data/demo/grph2/uspack/uspk12.rb +51 -0
  179. data/demo/grph2/uupack/uupk01.rb +50 -0
  180. data/demo/grph2/uupack/uupk02.rb +74 -0
  181. data/demo/grph2/uupack/uupk03.rb +56 -0
  182. data/demo/grph2/uupack/uupk04.rb +84 -0
  183. data/demo/grph2/uupack/uupk05.rb +74 -0
  184. data/demo/grph2/uupack/uupk06.rb +77 -0
  185. data/demo/grph2/uupack/uupk07.rb +88 -0
  186. data/demo/grph2/uxyzpk/uxyz01.rb +38 -0
  187. data/demo/grph2/uxyzpk/uxyz02.rb +36 -0
  188. data/demo/grph2/uxyzpk/uxyz03.rb +37 -0
  189. data/demo/grph2/uxyzpk/uxyz04.rb +54 -0
  190. data/demo/grph2/uxyzpk/uxyz05.rb +41 -0
  191. data/demo/grph2/uxyzpk/uxyz06.rb +42 -0
  192. data/demo/grph2/uxyzpk/uxyz07.rb +38 -0
  193. data/demo/grph2/uxyzpk/uxyz08.rb +60 -0
  194. data/demo/grph2/uxyzpk/uxyz09.rb +52 -0
  195. data/demo/grph2/uxyzpk/uxyz10.rb +57 -0
  196. data/demo/grph2/ximage/MEMO +23 -0
  197. data/demo/grph2/ximage/tomsclm.dat +1344 -0
  198. data/demo/grph2/ximage/ximg01.rb +145 -0
  199. data/demo/math1/gt2dlib/gt2d01.rb +33 -0
  200. data/demo/math2/fftlib/fftl01.rb +28 -0
  201. data/demo/math2/fftlib/fftl02.rb +224 -0
  202. data/demo/math2/intrlib/intr01.rb +22 -0
  203. data/demo/math2/rnmlib/rnml01.rb +21 -0
  204. data/demo/math2/vstlib/vstl01.rb +29 -0
  205. data/demo/math2/vstlib/vstl02.rb +38 -0
  206. data/demo/rakuraku/color/color1.rb +61 -0
  207. data/demo/rakuraku/color/color2.rb +57 -0
  208. data/demo/rakuraku/color/color3.rb +81 -0
  209. data/demo/rakuraku/kihon/kihon1.rb +39 -0
  210. data/demo/rakuraku/kihon/kihon2.rb +56 -0
  211. data/demo/rakuraku/kihon/kihon3.rb +57 -0
  212. data/demo/rakuraku/kihon/kihon4.rb +70 -0
  213. data/demo/rakuraku/kihon/kihon5.rb +56 -0
  214. data/demo/rakuraku/kihon/kihon6.rb +40 -0
  215. data/demo/rakuraku/kihon/kihon7.rb +98 -0
  216. data/demo/rakuraku/kihon/kihon8.rb +93 -0
  217. data/demo/rakuraku/kihon/kihon9.rb +77 -0
  218. data/demo/rakuraku/kihon/kihona.rb +123 -0
  219. data/demo/rakuraku/kihon/kihonb.rb +73 -0
  220. data/demo/rakuraku/kihon/kihonc.rb +110 -0
  221. data/demo/rakuraku/layout/lay1.rb +29 -0
  222. data/demo/rakuraku/layout/lay2.rb +28 -0
  223. data/demo/rakuraku/layout/lay3.rb +29 -0
  224. data/demo/rakuraku/map3d/map3d1.rb +68 -0
  225. data/demo/rakuraku/map3d/map3d2.rb +67 -0
  226. data/demo/rakuraku/map3d/map3d3.rb +66 -0
  227. data/demo/rakuraku/map3d/map3d4.rb +107 -0
  228. data/demo/rakuraku/map3d/map3d5.rb +118 -0
  229. data/demo/rakuraku/map3d/map3d6.rb +96 -0
  230. data/demo/rakuraku/map3d/map3d7.rb +98 -0
  231. data/demo/rakuraku/miss/miss1.rb +76 -0
  232. data/demo/rakuraku/miss/miss2.rb +60 -0
  233. data/demo/rakuraku/quick/quick1.rb +35 -0
  234. data/demo/rakuraku/quick/quick2.rb +33 -0
  235. data/demo/rakuraku/quick/quick3.rb +46 -0
  236. data/demo/rakuraku/quick/quick4.rb +47 -0
  237. data/demo/rakuraku/quick/quick5.rb +46 -0
  238. data/demo/rakuraku/u2d/u2d1.rb +50 -0
  239. data/demo/rakuraku/u2d/u2d2.rb +51 -0
  240. data/demo/rakuraku/u2d/u2d3.rb +70 -0
  241. data/demo/rakuraku/u2d/u2d4.rb +59 -0
  242. data/demo/rakuraku/u2d/u2d5.rb +61 -0
  243. data/demo/rakuraku/u2d/u2d6.rb +57 -0
  244. data/demo/rakuraku/u2d/u2d7.rb +103 -0
  245. data/demo/rakuraku/uspack/uspac1.rb +35 -0
  246. data/demo/rakuraku/uspack/uspac2.rb +66 -0
  247. data/demo/rakuraku/uspack/uspac3.rb +37 -0
  248. data/demo/rakuraku/uspack/uspac4.rb +49 -0
  249. data/demo/rakuraku/uxyz/uxyz1.rb +37 -0
  250. data/demo/rakuraku/uxyz/uxyz2.rb +35 -0
  251. data/demo/rakuraku/uxyz/uxyz3.rb +38 -0
  252. data/demo/rakuraku/uxyz/uxyz4.rb +36 -0
  253. data/demo/rakuraku/uxyz/uxyz5.rb +57 -0
  254. data/demo/rakuraku/uxyz/uxyz6.rb +43 -0
  255. data/demo/rakuraku/uxyz/uxyz7.rb +39 -0
  256. data/demo/rakuraku/uxyz/uxyz8.rb +56 -0
  257. data/demo/rubydcloriginal/uemrkz1.rb +37 -0
  258. data/dummy.c +9 -0
  259. data/extconf.rb +133 -0
  260. data/grph1_csgi.c +119 -0
  261. data/grph1_scpack.c +1388 -0
  262. data/grph1_sgpack.c +3876 -0
  263. data/grph1_slpack.c +432 -0
  264. data/grph1_stpack.c +1044 -0
  265. data/grph1_swpack.c +1922 -0
  266. data/grph1_zgpack.c.org +141 -0
  267. data/grph2_grpack.c +368 -0
  268. data/grph2_ucpack.c +1232 -0
  269. data/grph2_udpack.c +1404 -0
  270. data/grph2_uepack.c +1443 -0
  271. data/grph2_ugpack.c +1073 -0
  272. data/grph2_uhpack.c +943 -0
  273. data/grph2_ulpack.c +1304 -0
  274. data/grph2_umpack.c +1540 -0
  275. data/grph2_uspack.c +2481 -0
  276. data/grph2_uupack.c +1689 -0
  277. data/grph2_uvpack.c +943 -0
  278. data/grph2_uwpack.c +552 -0
  279. data/grph2_uxpack.c +555 -0
  280. data/grph2_uypack.c +555 -0
  281. data/grph2_uzpack.c +1455 -0
  282. data/init.c.default +187 -0
  283. data/init.c.gtk +189 -0
  284. data/lib/dcl.rb +5084 -0
  285. data/math1_blklib.c +227 -0
  286. data/math1_chrlib.c +239 -0
  287. data/math1_fnclib.c +254 -0
  288. data/math1_gnmlib.c +356 -0
  289. data/math1_gt2dlib.c +514 -0
  290. data/math1_ifalib.c +427 -0
  291. data/math1_indxlib.c +709 -0
  292. data/math1_intlib.c +167 -0
  293. data/math1_lrllib.c +817 -0
  294. data/math1_maplib.c +172 -0
  295. data/math1_oslib.c +111 -0
  296. data/math1_rfalib.c +1417 -0
  297. data/math1_rfblib.c +232 -0
  298. data/math1_sublib.c +221 -0
  299. data/math1_syslib.c +2025 -0
  300. data/math1_vialib.c +1156 -0
  301. data/math1_viblib.c +1027 -0
  302. data/math1_vralib.c +1156 -0
  303. data/math1_vrblib.c +1027 -0
  304. data/math1_xfclib.c +142 -0
  305. data/math2_fftlib.c +833 -0
  306. data/math2_intrlib.c +138 -0
  307. data/math2_rnmlib.c +226 -0
  308. data/math2_shtlib.c +1568 -0
  309. data/math2_vstlib.c +366 -0
  310. data/misc1_chnlib.c +179 -0
  311. data/misc1_datelib.c +953 -0
  312. data/misc1_fmtlib.c +99 -0
  313. data/misc1_misclib.c +118 -0
  314. data/misc1_randlib.c +142 -0
  315. data/misc1_timelib.c +380 -0
  316. data/obsolete/README +2 -0
  317. data/obsolete/dcl_ext.html +112 -0
  318. data/obsolete/dcl_ext.rb +313 -0
  319. metadata +433 -0
@@ -0,0 +1,141 @@
1
+ #include <gtk/gtk.h>
2
+ #include <gdk/gdk.h>
3
+ #include "ruby.h"
4
+
5
+ #if GTK_MAJOR_VERSION == 1
6
+ #define RVAL2GTKWIDGET(obj) (get_widget(obj))
7
+ #define RVAL2GDKPIXMAP(obj) (get_gdkpixmap(obj))
8
+
9
+
10
+ static GtkObject*
11
+ get_gobject(obj)
12
+ VALUE obj;
13
+ {
14
+ struct RData *data;
15
+ GtkObject *gtkp;
16
+
17
+ if (NIL_P(obj)) {
18
+ rb_raise(rb_eTypeError, "wrong argument type nil");
19
+ }
20
+
21
+ Check_Type(obj, T_OBJECT);
22
+ data = RDATA(rb_ivar_get(obj, rb_intern("gtkdata")));
23
+ if (NIL_P(data)) {
24
+ rb_raise(rb_eTypeError, "not a Gtk object");
25
+ }
26
+ Data_Get_Struct(data, GtkObject, gtkp);
27
+ if (!gtkp) {
28
+ rb_raise(rb_eArgError, "destroyed GtkObject");
29
+ }
30
+ if (!GTK_IS_OBJECT(gtkp)) {
31
+ rb_raise(rb_eTypeError, "not a GtkObject");
32
+ }
33
+
34
+ return gtkp;
35
+ }
36
+
37
+ static GtkWidget*
38
+ get_widget(obj)
39
+ VALUE obj;
40
+ {
41
+ GtkObject *data = get_gobject(obj);
42
+
43
+ return GTK_WIDGET(data);
44
+ }
45
+
46
+ static GdkPixmap*
47
+ get_gdkpixmap(obj)
48
+ VALUE obj;
49
+ {
50
+ GdkPixmap *pixmap;
51
+
52
+ Data_Get_Struct(obj, GdkPixmap, pixmap);
53
+
54
+ return pixmap;
55
+ }
56
+
57
+
58
+ #elif GTK_MAJOR_VERSION == 2
59
+ #define CLASS2GTYPE(klass) (rbgobj_lookup_class(klass)->gtype)
60
+ #define RVAL2GOBJ(obj) (rbgobj_instance_from_ruby_object(obj))
61
+ #define RVAL2GTYPE(obj) (CLASS2GTYPE(CLASS_OF(obj)))
62
+ #define RVAL2GTKWIDGET(obj) ((GtkWidget*)RVAL2GOBJ(obj))
63
+ #define RVAL2GDKPIXMAP(obj) ((GdkPixmap*)RVAL2GOBJ(obj))
64
+ #define GOBJ2RVAL(gobj) (rbgobj_ruby_object_from_instance(gobj))
65
+ #endif
66
+
67
+
68
+ static VALUE
69
+ dcl_zgsdrw(self, drawable)
70
+ VALUE self, drawable;
71
+ {
72
+ extern zgsdrw_(GtkWidget*);
73
+
74
+ zgsdrw_( RVAL2GTKWIDGET(drawable) );
75
+
76
+ return Qnil;
77
+
78
+ }
79
+
80
+ static VALUE
81
+ dcl_zgspmp(self, pixmap)
82
+ VALUE self, pixmap;
83
+ {
84
+ extern zgspmp_(GdkPixmap*);
85
+
86
+ zgspmp_( RVAL2GDKPIXMAP(pixmap) );
87
+
88
+ return Qnil;
89
+
90
+ }
91
+
92
+ #if GTK_MAJOR_VERSION == 2
93
+ static VALUE
94
+ dcl_zgqdrw(self)
95
+ VALUE self;
96
+ {
97
+ extern GtkWidget *zgqdrw_();
98
+
99
+ return GOBJ2RVAL(zgqdrw_());
100
+
101
+ }
102
+
103
+ static VALUE
104
+ dcl_zgqpmp(self)
105
+ VALUE self;
106
+ {
107
+ extern GtkPixmap *zgqpmp_();
108
+
109
+ return GOBJ2RVAL(zgqpmp_());
110
+
111
+ }
112
+ #endif
113
+
114
+ static VALUE
115
+ r_gtk_version(self)
116
+ VALUE self;
117
+ {
118
+ return rb_ary_new3(3,
119
+ INT2NUM(gtk_major_version),
120
+ INT2NUM(gtk_minor_version),
121
+ INT2NUM(gtk_micro_version));
122
+ }
123
+
124
+
125
+ void
126
+ init_grph1_zgpack(mDCL)
127
+ VALUE mDCL;
128
+ {
129
+
130
+ rb_define_module_function(mDCL, "gtk_version", r_gtk_version, 0);
131
+
132
+ rb_define_module_function(mDCL, "zgsdrw", dcl_zgsdrw, 1);
133
+ rb_define_module_function(mDCL, "zgspmp", dcl_zgspmp, 1);
134
+
135
+ #if GTK_MAJOR_VERSION == 2
136
+ rb_define_module_function(mDCL, "zgqdrw", dcl_zgqdrw, 0);
137
+ rb_define_module_function(mDCL, "zgqpmp", dcl_zgqpmp, 0);
138
+ #endif
139
+
140
+ }
141
+
data/grph2_grpack.c ADDED
@@ -0,0 +1,368 @@
1
+ /*
2
+ * $Id: p_header,v 1.2 2011-02-23 17:47:10 koshiro Exp $
3
+ */
4
+
5
+ #include <stdio.h>
6
+ #include "ruby.h"
7
+ #include "libtinyf2c.h"
8
+ #include "narray.h"
9
+
10
+ /* for compatibility with ruby 1.6 */
11
+ #ifndef StringValuePtr
12
+ #define StringValuePtr(s) STR2CSTR(s)
13
+ #endif
14
+
15
+ #define DFLT_SIZE 32
16
+
17
+ extern char *dcl_obj2ccharary(VALUE, int, int);
18
+ extern integer *dcl_obj2cintegerary(VALUE);
19
+ extern real *dcl_obj2crealary(VALUE);
20
+ extern complex *dcl_obj2ccomplexary(VALUE);
21
+ extern logical *dcl_obj2clogicalary(VALUE);
22
+
23
+ extern VALUE dcl_ccharary2obj(char *, int, int);
24
+ extern VALUE dcl_cintegerary2obj(integer *, int, int, int *);
25
+ extern VALUE dcl_crealary2obj(real *, int, int, int *);
26
+ extern VALUE dcl_ccomplexary2obj(complex *, int, char *);
27
+ extern VALUE dcl_clogicalary2obj(logical *, int, int, int *);
28
+
29
+ extern void dcl_freeccharary(char *);
30
+ extern void dcl_freecintegerary(integer *);
31
+ extern void dcl_freecrealary(real *);
32
+ extern void dcl_freeccomplexary(complex *);
33
+ extern void dcl_freeclogicalary(logical *);
34
+
35
+ /* for functions which return real */
36
+ /* fnclib */
37
+ extern real rd2r_(real *);
38
+ extern real rr2d_(real *);
39
+ extern real rexp_(real *, integer *, integer *);
40
+ extern real rfpi_(void);
41
+ extern real rmod_(real *, real *);
42
+ /* gnmlib */
43
+ extern real rgnlt_(real *);
44
+ extern real rgnle_(real *);
45
+ extern real rgngt_(real *);
46
+ extern real rgnge_(real *);
47
+ /* rfalib */
48
+ extern real rmax_(real *, integer *, integer *);
49
+ extern real rmin_(real *, integer *, integer *);
50
+ extern real rsum_(real *, integer *, integer *);
51
+ extern real rave_(real *, integer *, integer *);
52
+ extern real rvar_(real *, integer *, integer *);
53
+ extern real rstd_(real *, integer *, integer *);
54
+ extern real rrms_(real *, integer *, integer *);
55
+ extern real ramp_(real *, integer *, integer *);
56
+ /* rfblib */
57
+ extern real rprd_(real *, real *, integer *, integer *, integer *);
58
+ extern real rcov_(real *, real *, integer *, integer *, integer *);
59
+ extern real rcor_(real *, real *, integer *, integer *, integer *);
60
+
61
+
62
+ extern VALUE mDCL;
63
+
64
+ static VALUE
65
+ dcl_gropn(obj, iws)
66
+ VALUE obj, iws;
67
+ {
68
+ integer i_iws;
69
+
70
+ if ((TYPE(iws) != T_BIGNUM) || (TYPE(iws) != T_FIXNUM)) {
71
+ iws = rb_funcall(iws, rb_intern("to_i"), 0);
72
+ }
73
+
74
+ i_iws = NUM2INT(iws);
75
+
76
+
77
+ gropn_(&i_iws);
78
+
79
+ return Qnil;
80
+
81
+ }
82
+
83
+ static VALUE
84
+ dcl_grfrm(obj)
85
+ VALUE obj;
86
+ {
87
+ grfrm_();
88
+
89
+ return Qnil;
90
+
91
+ }
92
+
93
+ static VALUE
94
+ dcl_grfig(obj)
95
+ VALUE obj;
96
+ {
97
+ grfig_();
98
+
99
+ return Qnil;
100
+
101
+ }
102
+
103
+ static VALUE
104
+ dcl_grcls(obj)
105
+ VALUE obj;
106
+ {
107
+ grcls_();
108
+
109
+ return Qnil;
110
+
111
+ }
112
+
113
+ static VALUE
114
+ dcl_grinit(obj)
115
+ VALUE obj;
116
+ {
117
+ grinit_();
118
+
119
+ return Qnil;
120
+
121
+ }
122
+
123
+ static VALUE
124
+ dcl_grsvpt(obj, vxmin, vxmax, vymin, vymax)
125
+ VALUE obj, vxmin, vxmax, vymin, vymax;
126
+ {
127
+ real i_vxmin;
128
+ real i_vxmax;
129
+ real i_vymin;
130
+ real i_vymax;
131
+
132
+ if (TYPE(vxmin) != T_FLOAT) {
133
+ vxmin = rb_funcall(vxmin, rb_intern("to_f"), 0);
134
+ }
135
+ if (TYPE(vxmax) != T_FLOAT) {
136
+ vxmax = rb_funcall(vxmax, rb_intern("to_f"), 0);
137
+ }
138
+ if (TYPE(vymin) != T_FLOAT) {
139
+ vymin = rb_funcall(vymin, rb_intern("to_f"), 0);
140
+ }
141
+ if (TYPE(vymax) != T_FLOAT) {
142
+ vymax = rb_funcall(vymax, rb_intern("to_f"), 0);
143
+ }
144
+
145
+ i_vxmin = (real)NUM2DBL(vxmin);
146
+ i_vxmax = (real)NUM2DBL(vxmax);
147
+ i_vymin = (real)NUM2DBL(vymin);
148
+ i_vymax = (real)NUM2DBL(vymax);
149
+
150
+
151
+ grsvpt_(&i_vxmin, &i_vxmax, &i_vymin, &i_vymax);
152
+
153
+ return Qnil;
154
+
155
+ }
156
+
157
+ static VALUE
158
+ dcl_grswnd(obj, uxmin, uxmax, uymin, uymax)
159
+ VALUE obj, uxmin, uxmax, uymin, uymax;
160
+ {
161
+ real i_uxmin;
162
+ real i_uxmax;
163
+ real i_uymin;
164
+ real i_uymax;
165
+
166
+ if (TYPE(uxmin) != T_FLOAT) {
167
+ uxmin = rb_funcall(uxmin, rb_intern("to_f"), 0);
168
+ }
169
+ if (TYPE(uxmax) != T_FLOAT) {
170
+ uxmax = rb_funcall(uxmax, rb_intern("to_f"), 0);
171
+ }
172
+ if (TYPE(uymin) != T_FLOAT) {
173
+ uymin = rb_funcall(uymin, rb_intern("to_f"), 0);
174
+ }
175
+ if (TYPE(uymax) != T_FLOAT) {
176
+ uymax = rb_funcall(uymax, rb_intern("to_f"), 0);
177
+ }
178
+
179
+ i_uxmin = (real)NUM2DBL(uxmin);
180
+ i_uxmax = (real)NUM2DBL(uxmax);
181
+ i_uymin = (real)NUM2DBL(uymin);
182
+ i_uymax = (real)NUM2DBL(uymax);
183
+
184
+
185
+ grswnd_(&i_uxmin, &i_uxmax, &i_uymin, &i_uymax);
186
+
187
+ return Qnil;
188
+
189
+ }
190
+
191
+ static VALUE
192
+ dcl_grssim(obj, simfac, vxoff, vyoff)
193
+ VALUE obj, simfac, vxoff, vyoff;
194
+ {
195
+ real i_simfac;
196
+ real i_vxoff;
197
+ real i_vyoff;
198
+
199
+ if (TYPE(simfac) != T_FLOAT) {
200
+ simfac = rb_funcall(simfac, rb_intern("to_f"), 0);
201
+ }
202
+ if (TYPE(vxoff) != T_FLOAT) {
203
+ vxoff = rb_funcall(vxoff, rb_intern("to_f"), 0);
204
+ }
205
+ if (TYPE(vyoff) != T_FLOAT) {
206
+ vyoff = rb_funcall(vyoff, rb_intern("to_f"), 0);
207
+ }
208
+
209
+ i_simfac = (real)NUM2DBL(simfac);
210
+ i_vxoff = (real)NUM2DBL(vxoff);
211
+ i_vyoff = (real)NUM2DBL(vyoff);
212
+
213
+
214
+ grssim_(&i_simfac, &i_vxoff, &i_vyoff);
215
+
216
+ return Qnil;
217
+
218
+ }
219
+
220
+ static VALUE
221
+ dcl_grsmpl(obj, plx, ply, plrot)
222
+ VALUE obj, plx, ply, plrot;
223
+ {
224
+ real i_plx;
225
+ real i_ply;
226
+ real i_plrot;
227
+
228
+ if (TYPE(plx) != T_FLOAT) {
229
+ plx = rb_funcall(plx, rb_intern("to_f"), 0);
230
+ }
231
+ if (TYPE(ply) != T_FLOAT) {
232
+ ply = rb_funcall(ply, rb_intern("to_f"), 0);
233
+ }
234
+ if (TYPE(plrot) != T_FLOAT) {
235
+ plrot = rb_funcall(plrot, rb_intern("to_f"), 0);
236
+ }
237
+
238
+ i_plx = (real)NUM2DBL(plx);
239
+ i_ply = (real)NUM2DBL(ply);
240
+ i_plrot = (real)NUM2DBL(plrot);
241
+
242
+
243
+ grsmpl_(&i_plx, &i_ply, &i_plrot);
244
+
245
+ return Qnil;
246
+
247
+ }
248
+
249
+ static VALUE
250
+ dcl_grstxy(obj, txmin, txmax, tymin, tymax)
251
+ VALUE obj, txmin, txmax, tymin, tymax;
252
+ {
253
+ real i_txmin;
254
+ real i_txmax;
255
+ real i_tymin;
256
+ real i_tymax;
257
+
258
+ if (TYPE(txmin) != T_FLOAT) {
259
+ txmin = rb_funcall(txmin, rb_intern("to_f"), 0);
260
+ }
261
+ if (TYPE(txmax) != T_FLOAT) {
262
+ txmax = rb_funcall(txmax, rb_intern("to_f"), 0);
263
+ }
264
+ if (TYPE(tymin) != T_FLOAT) {
265
+ tymin = rb_funcall(tymin, rb_intern("to_f"), 0);
266
+ }
267
+ if (TYPE(tymax) != T_FLOAT) {
268
+ tymax = rb_funcall(tymax, rb_intern("to_f"), 0);
269
+ }
270
+
271
+ i_txmin = (real)NUM2DBL(txmin);
272
+ i_txmax = (real)NUM2DBL(txmax);
273
+ i_tymin = (real)NUM2DBL(tymin);
274
+ i_tymax = (real)NUM2DBL(tymax);
275
+
276
+
277
+ grstxy_(&i_txmin, &i_txmax, &i_tymin, &i_tymax);
278
+
279
+ return Qnil;
280
+
281
+ }
282
+
283
+ static VALUE
284
+ dcl_grstrn(obj, itr)
285
+ VALUE obj, itr;
286
+ {
287
+ integer i_itr;
288
+
289
+ if ((TYPE(itr) != T_BIGNUM) || (TYPE(itr) != T_FIXNUM)) {
290
+ itr = rb_funcall(itr, rb_intern("to_i"), 0);
291
+ }
292
+
293
+ i_itr = NUM2INT(itr);
294
+
295
+
296
+ grstrn_(&i_itr);
297
+
298
+ return Qnil;
299
+
300
+ }
301
+
302
+ static VALUE
303
+ dcl_grstrf(obj)
304
+ VALUE obj;
305
+ {
306
+ grstrf_();
307
+
308
+ return Qnil;
309
+
310
+ }
311
+
312
+ #if DCLVER >= 530
313
+
314
+ static VALUE
315
+ dcl_grscwd(obj, cxmin, cxmax, cymin, cymax)
316
+ VALUE obj, cxmin, cxmax, cymin, cymax;
317
+ {
318
+ real i_cxmin;
319
+ real i_cxmax;
320
+ real i_cymin;
321
+ real i_cymax;
322
+
323
+ if (TYPE(cxmin) != T_FLOAT) {
324
+ cxmin = rb_funcall(cxmin, rb_intern("to_f"), 0);
325
+ }
326
+ if (TYPE(cxmax) != T_FLOAT) {
327
+ cxmax = rb_funcall(cxmax, rb_intern("to_f"), 0);
328
+ }
329
+ if (TYPE(cymin) != T_FLOAT) {
330
+ cymin = rb_funcall(cymin, rb_intern("to_f"), 0);
331
+ }
332
+ if (TYPE(cymax) != T_FLOAT) {
333
+ cymax = rb_funcall(cymax, rb_intern("to_f"), 0);
334
+ }
335
+
336
+ i_cxmin = (real)NUM2DBL(cxmin);
337
+ i_cxmax = (real)NUM2DBL(cxmax);
338
+ i_cymin = (real)NUM2DBL(cymin);
339
+ i_cymax = (real)NUM2DBL(cymax);
340
+
341
+
342
+ grscwd_(&i_cxmin, &i_cxmax, &i_cymin, &i_cymax);
343
+
344
+ return Qnil;
345
+
346
+ }
347
+
348
+ #endif
349
+ void
350
+ init_grph2_grpack(mDCL)
351
+ VALUE mDCL;
352
+ {
353
+ rb_define_module_function(mDCL, "gropn", dcl_gropn, 1);
354
+ rb_define_module_function(mDCL, "grfrm", dcl_grfrm, 0);
355
+ rb_define_module_function(mDCL, "grfig", dcl_grfig, 0);
356
+ rb_define_module_function(mDCL, "grcls", dcl_grcls, 0);
357
+ rb_define_module_function(mDCL, "grinit", dcl_grinit, 0);
358
+ rb_define_module_function(mDCL, "grsvpt", dcl_grsvpt, 4);
359
+ rb_define_module_function(mDCL, "grswnd", dcl_grswnd, 4);
360
+ rb_define_module_function(mDCL, "grssim", dcl_grssim, 3);
361
+ rb_define_module_function(mDCL, "grsmpl", dcl_grsmpl, 3);
362
+ rb_define_module_function(mDCL, "grstxy", dcl_grstxy, 4);
363
+ rb_define_module_function(mDCL, "grstrn", dcl_grstrn, 1);
364
+ rb_define_module_function(mDCL, "grstrf", dcl_grstrf, 0);
365
+ #if DCLVER >= 530
366
+ rb_define_module_function(mDCL, "grscwd", dcl_grscwd, 4);
367
+ #endif
368
+ }