ruby-iup 0.0.2 → 0.1.0

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 (478) hide show
  1. data/CHANGES +3 -0
  2. data/MANIFEST +8 -0
  3. data/MIT-LICENSE +18 -0
  4. data/README +12 -0
  5. data/Rakefile +68 -80
  6. data/doc/build_install.txt +9 -12
  7. data/examples/ctrl/cbox.rb +14 -15
  8. data/examples/ctrl/checkboard.rb +1 -1
  9. data/examples/ctrl/example1.rb +53 -53
  10. data/examples/ctrl/example2.rb +39 -39
  11. data/examples/ctrl/iupcolorbar.rb +95 -95
  12. data/examples/ctrl/iupcolorbrowser.rb +45 -45
  13. data/examples/ctrl/iupdial.rb +117 -117
  14. data/examples/ctrl/iupgetcolor.rb +7 -7
  15. data/examples/ctrl/iupgetparam.rb +62 -62
  16. data/examples/ctrl/iupglcanvas.rb +172 -172
  17. data/examples/ctrl/iupmask.rb +1 -3
  18. data/examples/ctrl/iupmatrix.rb +39 -39
  19. data/examples/ctrl/iupplot2.rb +2 -1
  20. data/examples/ctrl/iuptabs.rb +22 -22
  21. data/examples/ctrl/iuptree.rb +190 -190
  22. data/examples/ctrl/iupval.rb +71 -71
  23. data/examples/ctrl/numbering.rb +46 -46
  24. data/examples/ctrl/sample.rb +166 -166
  25. data/examples/dlg/iupfiledlg.rb +19 -19
  26. data/examples/dlg/iupgetfile.rb +19 -19
  27. data/examples/dlg/iuplistdialog.rb +26 -26
  28. data/examples/dlg/iupmessage.rb +5 -5
  29. data/examples/dlg/iupscanf.rb +17 -17
  30. data/examples/elem/iupdialog2.rb +25 -25
  31. data/examples/elem/iupfill.rb +51 -51
  32. data/examples/elem/iupframe.rb +25 -25
  33. data/examples/elem/iuphbox.rb +68 -68
  34. data/examples/elem/iupimage.rb +113 -113
  35. data/examples/elem/iupitem.rb +60 -60
  36. data/examples/elem/iuplabel.rb +57 -57
  37. data/examples/elem/iuplist.rb +41 -41
  38. data/examples/elem/iuplist2.rb +125 -125
  39. data/examples/elem/iupmenu.rb +32 -32
  40. data/examples/elem/iupmultiline.rb +24 -24
  41. data/examples/elem/iupmultiline2.rb +156 -156
  42. data/examples/elem/iupradio.rb +32 -32
  43. data/examples/elem/iupseparator.rb +81 -81
  44. data/examples/elem/iupsubmenu.rb +85 -85
  45. data/examples/elem/iuptext.rb +61 -61
  46. data/examples/elem/iuptimer.rb +36 -36
  47. data/examples/elem/iuptoggle.rb +110 -110
  48. data/examples/elem/iupvbox.rb +87 -87
  49. data/examples/elem/iupzbox.rb +60 -60
  50. data/examples/elem/mdisample.rb +377 -376
  51. data/examples/elem/scrollbar.rb +66 -66
  52. data/examples/elem/tray.rb +90 -90
  53. data/examples/func/iupgetattribute.rb +32 -32
  54. data/examples/func/iupidle.rb +48 -48
  55. data/ext/extconf.rb +62 -27
  56. data/ext/iup-linux/include/cd.h +9 -5
  57. data/ext/iup-linux/include/cd_private.h +13 -6
  58. data/ext/iup-linux/include/cdsvg.h +22 -0
  59. data/ext/iup-linux/include/im.h +287 -282
  60. data/ext/iup-linux/include/im_attrib.h +120 -116
  61. data/ext/iup-linux/include/im_attrib_flat.h +39 -39
  62. data/ext/iup-linux/include/im_binfile.h +224 -214
  63. data/ext/iup-linux/include/im_capture.h +365 -365
  64. data/ext/iup-linux/include/im_color.h +465 -465
  65. data/ext/iup-linux/include/im_colorhsi.h +56 -61
  66. data/ext/iup-linux/include/im_complex.h +180 -160
  67. data/ext/iup-linux/include/im_convert.h +142 -127
  68. data/ext/iup-linux/include/im_counter.h +69 -69
  69. data/ext/iup-linux/include/im_dib.h +195 -195
  70. data/ext/iup-linux/include/im_file.h +115 -111
  71. data/ext/iup-linux/include/im_format.h +97 -79
  72. data/ext/iup-linux/include/im_format_all.h +575 -576
  73. data/ext/iup-linux/include/im_format_avi.h +88 -87
  74. data/ext/iup-linux/include/im_format_ecw.h +93 -93
  75. data/ext/iup-linux/include/im_format_jp2.h +79 -78
  76. data/ext/iup-linux/include/im_format_raw.h +74 -64
  77. data/ext/iup-linux/include/im_format_wmv.h +101 -100
  78. data/ext/iup-linux/include/im_image.h +425 -403
  79. data/ext/iup-linux/include/im_kernel.h +315 -315
  80. data/ext/iup-linux/include/im_lib.h +191 -191
  81. data/ext/iup-linux/include/im_math.h +368 -368
  82. data/ext/iup-linux/include/im_math_op.h +214 -219
  83. data/ext/iup-linux/include/im_palette.h +172 -172
  84. data/ext/iup-linux/include/im_plus.h +73 -73
  85. data/ext/iup-linux/include/im_process.h +36 -35
  86. data/ext/iup-linux/include/im_process_ana.h +222 -221
  87. data/ext/iup-linux/include/im_process_glo.h +170 -170
  88. data/ext/iup-linux/include/im_process_loc.h +608 -577
  89. data/ext/iup-linux/include/im_process_pon.h +734 -712
  90. data/ext/iup-linux/include/im_raw.h +34 -34
  91. data/ext/iup-linux/include/im_util.h +277 -277
  92. data/ext/iup-linux/include/imlua.h +75 -83
  93. data/ext/iup-linux/include/iup.h +86 -40
  94. data/ext/iup-linux/include/iupcb.h +1 -25
  95. data/ext/iup-linux/include/iupcbox.h +1 -0
  96. data/ext/iup-linux/include/iupcbs.h +1 -1
  97. data/ext/iup-linux/include/iupcells.h +1 -130
  98. data/ext/iup-linux/include/iupcolorbar.h +1 -126
  99. data/ext/iup-linux/include/iupcontrols.h +26 -16
  100. data/ext/iup-linux/include/iupdef.h +205 -0
  101. data/ext/iup-linux/include/iupdial.h +1 -63
  102. data/ext/iup-linux/include/iupgauge.h +1 -57
  103. data/ext/iup-linux/include/iupgc.h +1 -0
  104. data/ext/iup-linux/include/iupgetparam.h +1 -27
  105. data/ext/iup-linux/include/iupgl.h +2 -7
  106. data/ext/iup-linux/include/iupim.h +7 -1
  107. data/ext/iup-linux/include/iupkey.h +4 -4
  108. data/ext/iup-linux/include/iupmask.h +2 -1
  109. data/ext/iup-linux/include/iupmatrix.h +1 -63
  110. data/ext/iup-linux/include/iupsbox.h +1 -0
  111. data/ext/iup-linux/include/iupspin.h +1 -21
  112. data/ext/iup-linux/include/iuptabs.h +1 -75
  113. data/ext/iup-linux/include/iuptree.h +1 -93
  114. data/ext/iup-linux/include/iupval.h +1 -46
  115. data/ext/iup-linux/include/old_im.h +59 -59
  116. data/ext/iup-linux/include/wd.h +5 -0
  117. data/ext/iup-linux/libcd.a +0 -0
  118. data/ext/iup-linux/libcdcontextplus.a +0 -0
  119. data/ext/iup-linux/libcdgdk.a +0 -0
  120. data/ext/iup-linux/libcdpdf.a +0 -0
  121. data/ext/iup-linux/libfreetype.a +0 -0
  122. data/ext/iup-linux/libim.a +0 -0
  123. data/ext/iup-linux/libim_fftw.a +0 -0
  124. data/ext/iup-linux/libim_jp2.a +0 -0
  125. data/ext/iup-linux/libim_process.a +0 -0
  126. data/ext/iup-linux/libiup.a +0 -0
  127. data/ext/iup-linux/libiup_pplot.a +0 -0
  128. data/ext/iup-linux/libiupcd.a +0 -0
  129. data/ext/iup-linux/libiupcontrols.a +0 -0
  130. data/ext/iup-linux/libiupgl.a +0 -0
  131. data/ext/iup-linux/libiupim.a +0 -0
  132. data/ext/iup-linux/libiupimglib.a +0 -0
  133. data/ext/iup-linux/libiupmot.a +0 -0
  134. data/ext/iup-linux/libpdflib.a +0 -0
  135. data/ext/{iup-win32 → iup-mingw32}/include/cd.h +9 -5
  136. data/ext/{iup-win32 → iup-mingw32}/include/cd_canvas.hpp +0 -0
  137. data/ext/{iup-win32 → iup-mingw32}/include/cd_old.h +0 -0
  138. data/ext/{iup-win32 → iup-mingw32}/include/cd_private.h +13 -6
  139. data/ext/{iup-win32 → iup-mingw32}/include/cdcgm.h +0 -0
  140. data/ext/{iup-win32 → iup-mingw32}/include/cdclipbd.h +0 -0
  141. data/ext/{iup-win32 → iup-mingw32}/include/cddbuf.h +0 -0
  142. data/ext/{iup-win32 → iup-mingw32}/include/cddebug.h +0 -0
  143. data/ext/{iup-win32 → iup-mingw32}/include/cddgn.h +0 -0
  144. data/ext/{iup-win32 → iup-mingw32}/include/cddxf.h +0 -0
  145. data/ext/{iup-win32 → iup-mingw32}/include/cdemf.h +0 -0
  146. data/ext/{iup-win32 → iup-mingw32}/include/cdgdiplus.h +0 -0
  147. data/ext/{iup-win32 → iup-mingw32}/include/cdimage.h +0 -0
  148. data/ext/{iup-win32 → iup-mingw32}/include/cdirgb.h +0 -0
  149. data/ext/{iup-win32 → iup-mingw32}/include/cdiup.h +0 -0
  150. data/ext/{iup-win32 → iup-mingw32}/include/cdlua.h +0 -0
  151. data/ext/{iup-win32 → iup-mingw32}/include/cdlua3_private.h +0 -0
  152. data/ext/{iup-win32 → iup-mingw32}/include/cdlua5_private.h +0 -0
  153. data/ext/{iup-win32 → iup-mingw32}/include/cdluaim.h +0 -0
  154. data/ext/{iup-win32 → iup-mingw32}/include/cdluaiup.h +0 -0
  155. data/ext/{iup-win32 → iup-mingw32}/include/cdluapdf.h +0 -0
  156. data/ext/{iup-win32 → iup-mingw32}/include/cdmf.h +0 -0
  157. data/ext/{iup-win32 → iup-mingw32}/include/cdmf_private.h +0 -0
  158. data/ext/{iup-win32 → iup-mingw32}/include/cdnative.h +0 -0
  159. data/ext/{iup-win32 → iup-mingw32}/include/cdpdf.h +0 -0
  160. data/ext/{iup-win32 → iup-mingw32}/include/cdpicture.h +0 -0
  161. data/ext/{iup-win32 → iup-mingw32}/include/cdprint.h +0 -0
  162. data/ext/{iup-win32 → iup-mingw32}/include/cdps.h +0 -0
  163. data/ext/iup-mingw32/include/cdsvg.h +22 -0
  164. data/ext/{iup-win32 → iup-mingw32}/include/cdwmf.h +0 -0
  165. data/ext/iup-mingw32/include/im.h +287 -0
  166. data/ext/iup-mingw32/include/im_attrib.h +120 -0
  167. data/ext/iup-mingw32/include/im_attrib_flat.h +39 -0
  168. data/ext/iup-mingw32/include/im_binfile.h +224 -0
  169. data/ext/iup-mingw32/include/im_capture.h +365 -0
  170. data/ext/iup-mingw32/include/im_color.h +465 -0
  171. data/ext/iup-mingw32/include/im_colorhsi.h +56 -0
  172. data/ext/iup-mingw32/include/im_complex.h +180 -0
  173. data/ext/iup-mingw32/include/im_convert.h +142 -0
  174. data/ext/iup-mingw32/include/im_counter.h +69 -0
  175. data/ext/iup-mingw32/include/im_dib.h +195 -0
  176. data/ext/iup-mingw32/include/im_file.h +115 -0
  177. data/ext/iup-mingw32/include/im_format.h +97 -0
  178. data/ext/iup-mingw32/include/im_format_all.h +575 -0
  179. data/ext/iup-mingw32/include/im_format_avi.h +88 -0
  180. data/ext/iup-mingw32/include/im_format_ecw.h +93 -0
  181. data/ext/iup-mingw32/include/im_format_jp2.h +79 -0
  182. data/ext/iup-mingw32/include/im_format_raw.h +74 -0
  183. data/ext/iup-mingw32/include/im_format_wmv.h +101 -0
  184. data/ext/iup-mingw32/include/im_image.h +425 -0
  185. data/ext/iup-mingw32/include/im_kernel.h +315 -0
  186. data/ext/iup-mingw32/include/im_lib.h +191 -0
  187. data/ext/iup-mingw32/include/im_math.h +368 -0
  188. data/ext/iup-mingw32/include/im_math_op.h +214 -0
  189. data/ext/iup-mingw32/include/im_palette.h +172 -0
  190. data/ext/iup-mingw32/include/im_plus.h +73 -0
  191. data/ext/iup-mingw32/include/im_process.h +36 -0
  192. data/ext/iup-mingw32/include/im_process_ana.h +222 -0
  193. data/ext/iup-mingw32/include/im_process_glo.h +170 -0
  194. data/ext/iup-mingw32/include/im_process_loc.h +608 -0
  195. data/ext/iup-mingw32/include/im_process_pon.h +734 -0
  196. data/ext/iup-mingw32/include/im_raw.h +34 -0
  197. data/ext/iup-mingw32/include/im_util.h +277 -0
  198. data/ext/iup-mingw32/include/imlua.h +75 -0
  199. data/ext/{iup-win32 → iup-mingw32}/include/iup.h +86 -40
  200. data/ext/{iup-win32 → iup-mingw32}/include/iup_pplot.h +0 -0
  201. data/ext/iup-mingw32/include/iupcb.h +1 -0
  202. data/ext/iup-mingw32/include/iupcbox.h +1 -0
  203. data/ext/{iup-win32 → iup-mingw32}/include/iupcbs.h +1 -1
  204. data/ext/iup-mingw32/include/iupcells.h +1 -0
  205. data/ext/iup-mingw32/include/iupcolorbar.h +1 -0
  206. data/ext/iup-mingw32/include/iupcontrols.h +46 -0
  207. data/ext/{iup-win32 → iup-mingw32}/include/iupdef.h +205 -0
  208. data/ext/iup-mingw32/include/iupdial.h +1 -0
  209. data/ext/iup-mingw32/include/iupgauge.h +1 -0
  210. data/ext/iup-mingw32/include/iupgc.h +1 -0
  211. data/ext/iup-mingw32/include/iupgetparam.h +1 -0
  212. data/ext/{iup-win32 → iup-mingw32}/include/iupgl.h +2 -7
  213. data/ext/{iup-win32 → iup-mingw32}/include/iupim.h +7 -1
  214. data/ext/{iup-win32 → iup-mingw32}/include/iupkey.h +4 -4
  215. data/ext/{iup-win32 → iup-mingw32}/include/iuplua.h +0 -0
  216. data/ext/{iup-win32 → iup-mingw32}/include/iuplua_pplot.h +0 -0
  217. data/ext/{iup-win32 → iup-mingw32}/include/iupluacontrols.h +0 -0
  218. data/ext/{iup-win32 → iup-mingw32}/include/iupluagl.h +0 -0
  219. data/ext/{iup-win32 → iup-mingw32}/include/iupluaim.h +0 -0
  220. data/ext/{iup-win32 → iup-mingw32}/include/iupluaole.h +0 -0
  221. data/ext/{iup-win32 → iup-mingw32}/include/iupmask.h +2 -1
  222. data/ext/iup-mingw32/include/iupmatrix.h +1 -0
  223. data/ext/{iup-win32 → iup-mingw32}/include/iupole.h +0 -0
  224. data/ext/iup-mingw32/include/iupsbox.h +1 -0
  225. data/ext/iup-mingw32/include/iupspin.h +1 -0
  226. data/ext/iup-mingw32/include/iuptabs.h +1 -0
  227. data/ext/iup-mingw32/include/iuptree.h +1 -0
  228. data/ext/iup-mingw32/include/iupval.h +1 -0
  229. data/ext/iup-mingw32/include/old_im.h +59 -0
  230. data/ext/{iup-win32 → iup-mingw32}/include/wd.h +5 -0
  231. data/ext/{iup-win32 → iup-mingw32}/include/wd_old.h +0 -0
  232. data/ext/iup-mingw32/libcd.a +0 -0
  233. data/ext/iup-mingw32/libcdpdf.a +0 -0
  234. data/ext/iup-mingw32/libfreetype6.a +0 -0
  235. data/ext/iup-mingw32/libim.a +0 -0
  236. data/ext/iup-mingw32/libim_avi.a +0 -0
  237. data/ext/iup-mingw32/libim_fftw.a +0 -0
  238. data/ext/iup-mingw32/libim_jp2.a +0 -0
  239. data/ext/iup-mingw32/libim_process.a +0 -0
  240. data/ext/iup-mingw32/libiup.a +0 -0
  241. data/ext/iup-mingw32/libiup_pplot.a +0 -0
  242. data/ext/iup-mingw32/libiupcd.a +0 -0
  243. data/ext/iup-mingw32/libiupcontrols.a +0 -0
  244. data/ext/iup-mingw32/libiupgl.a +0 -0
  245. data/ext/iup-mingw32/libiupim.a +0 -0
  246. data/ext/iup-mingw32/libiupimglib.a +0 -0
  247. data/ext/iup-mingw32/libiupole.a +0 -0
  248. data/ext/iup-mingw32/libpdflib.a +0 -0
  249. data/ext/iup-mswin32/cd.lib +0 -0
  250. data/ext/iup-mswin32/cdcontextplus.lib +0 -0
  251. data/ext/iup-mswin32/cdgdk.lib +0 -0
  252. data/ext/iup-mswin32/cdpdf.lib +0 -0
  253. data/ext/iup-mswin32/freetype6.lib +0 -0
  254. data/ext/iup-mswin32/im.lib +0 -0
  255. data/ext/iup-mswin32/im_avi.lib +0 -0
  256. data/ext/iup-mswin32/im_capture.lib +0 -0
  257. data/ext/iup-mswin32/im_fftw.lib +0 -0
  258. data/ext/iup-mswin32/im_jp2.lib +0 -0
  259. data/ext/iup-mswin32/im_process.lib +0 -0
  260. data/ext/iup-mswin32/im_wmv.lib +0 -0
  261. data/ext/iup-mswin32/include/cd.h +498 -0
  262. data/ext/iup-mswin32/include/cd_canvas.hpp +358 -0
  263. data/ext/iup-mswin32/include/cd_old.h +158 -0
  264. data/ext/iup-mswin32/include/cd_private.h +369 -0
  265. data/ext/iup-mswin32/include/cdcgm.h +34 -0
  266. data/ext/iup-mswin32/include/cdclipbd.h +22 -0
  267. data/ext/iup-mswin32/include/cddbuf.h +23 -0
  268. data/ext/iup-mswin32/include/cddebug.h +24 -0
  269. data/ext/iup-mswin32/include/cddgn.h +23 -0
  270. data/ext/iup-mswin32/include/cddxf.h +22 -0
  271. data/ext/iup-mswin32/include/cdemf.h +22 -0
  272. data/ext/iup-mswin32/include/cdgdiplus.h +29 -0
  273. data/ext/iup-mswin32/include/cdimage.h +23 -0
  274. data/ext/iup-mswin32/include/cdirgb.h +30 -0
  275. data/ext/iup-mswin32/include/cdiup.h +22 -0
  276. data/ext/iup-mswin32/include/cdlua.h +39 -0
  277. data/ext/iup-mswin32/include/cdlua3_private.h +120 -0
  278. data/ext/iup-mswin32/include/cdlua5_private.h +141 -0
  279. data/ext/iup-mswin32/include/cdluaim.h +24 -0
  280. data/ext/iup-mswin32/include/cdluaiup.h +27 -0
  281. data/ext/iup-mswin32/include/cdluapdf.h +27 -0
  282. data/ext/iup-mswin32/include/cdmf.h +24 -0
  283. data/ext/iup-mswin32/include/cdmf_private.h +32 -0
  284. data/ext/iup-mswin32/include/cdnative.h +26 -0
  285. data/ext/iup-mswin32/include/cdpdf.h +38 -0
  286. data/ext/iup-mswin32/include/cdpicture.h +22 -0
  287. data/ext/iup-mswin32/include/cdprint.h +23 -0
  288. data/ext/iup-mswin32/include/cdps.h +37 -0
  289. data/ext/iup-mswin32/include/cdsvg.h +22 -0
  290. data/ext/iup-mswin32/include/cdwmf.h +22 -0
  291. data/ext/iup-mswin32/include/im.h +287 -0
  292. data/ext/iup-mswin32/include/im_attrib.h +120 -0
  293. data/ext/iup-mswin32/include/im_attrib_flat.h +39 -0
  294. data/ext/iup-mswin32/include/im_binfile.h +224 -0
  295. data/ext/iup-mswin32/include/im_capture.h +365 -0
  296. data/ext/iup-mswin32/include/im_color.h +465 -0
  297. data/ext/iup-mswin32/include/im_colorhsi.h +56 -0
  298. data/ext/iup-mswin32/include/im_complex.h +180 -0
  299. data/ext/iup-mswin32/include/im_convert.h +142 -0
  300. data/ext/iup-mswin32/include/im_counter.h +69 -0
  301. data/ext/iup-mswin32/include/im_dib.h +195 -0
  302. data/ext/iup-mswin32/include/im_file.h +115 -0
  303. data/ext/iup-mswin32/include/im_format.h +97 -0
  304. data/ext/iup-mswin32/include/im_format_all.h +575 -0
  305. data/ext/iup-mswin32/include/im_format_avi.h +88 -0
  306. data/ext/iup-mswin32/include/im_format_ecw.h +93 -0
  307. data/ext/iup-mswin32/include/im_format_jp2.h +79 -0
  308. data/ext/iup-mswin32/include/im_format_raw.h +74 -0
  309. data/ext/iup-mswin32/include/im_format_wmv.h +101 -0
  310. data/ext/iup-mswin32/include/im_image.h +425 -0
  311. data/ext/iup-mswin32/include/im_kernel.h +315 -0
  312. data/ext/iup-mswin32/include/im_lib.h +191 -0
  313. data/ext/iup-mswin32/include/im_math.h +368 -0
  314. data/ext/iup-mswin32/include/im_math_op.h +214 -0
  315. data/ext/iup-mswin32/include/im_palette.h +172 -0
  316. data/ext/iup-mswin32/include/im_plus.h +73 -0
  317. data/ext/iup-mswin32/include/im_process.h +36 -0
  318. data/ext/iup-mswin32/include/im_process_ana.h +222 -0
  319. data/ext/iup-mswin32/include/im_process_glo.h +170 -0
  320. data/ext/iup-mswin32/include/im_process_loc.h +608 -0
  321. data/ext/iup-mswin32/include/im_process_pon.h +734 -0
  322. data/ext/iup-mswin32/include/im_raw.h +34 -0
  323. data/ext/iup-mswin32/include/im_util.h +277 -0
  324. data/ext/iup-mswin32/include/imlua.h +75 -0
  325. data/ext/iup-mswin32/include/iup.h +364 -0
  326. data/ext/iup-mswin32/include/iup_pplot.h +40 -0
  327. data/ext/iup-mswin32/include/iupcb.h +1 -0
  328. data/ext/iup-mswin32/include/iupcbox.h +1 -0
  329. data/ext/iup-mswin32/include/iupcbs.h +43 -0
  330. data/ext/iup-mswin32/include/iupcells.h +1 -0
  331. data/ext/iup-mswin32/include/iupcolorbar.h +1 -0
  332. data/ext/iup-mswin32/include/iupcontrols.h +46 -0
  333. data/ext/iup-mswin32/include/iupdef.h +725 -0
  334. data/ext/iup-mswin32/include/iupdial.h +1 -0
  335. data/ext/iup-mswin32/include/iupgauge.h +1 -0
  336. data/ext/iup-mswin32/include/iupgc.h +1 -0
  337. data/ext/iup-mswin32/include/iupgetparam.h +1 -0
  338. data/ext/iup-mswin32/include/iupgl.h +96 -0
  339. data/ext/iup-mswin32/include/iupim.h +27 -0
  340. data/ext/iup-mswin32/include/iupkey.h +457 -0
  341. data/ext/iup-mswin32/include/iuplua.h +41 -0
  342. data/ext/iup-mswin32/include/iuplua_pplot.h +26 -0
  343. data/ext/iup-mswin32/include/iupluacontrols.h +27 -0
  344. data/ext/iup-mswin32/include/iupluagl.h +26 -0
  345. data/ext/iup-mswin32/include/iupluaim.h +26 -0
  346. data/ext/iup-mswin32/include/iupluaole.h +26 -0
  347. data/ext/iup-mswin32/include/iupmask.h +41 -0
  348. data/ext/iup-mswin32/include/iupmatrix.h +1 -0
  349. data/ext/iup-mswin32/include/iupole.h +24 -0
  350. data/ext/iup-mswin32/include/iupsbox.h +1 -0
  351. data/ext/iup-mswin32/include/iupspin.h +1 -0
  352. data/ext/iup-mswin32/include/iuptabs.h +1 -0
  353. data/ext/iup-mswin32/include/iuptree.h +1 -0
  354. data/ext/iup-mswin32/include/iupval.h +1 -0
  355. data/ext/iup-mswin32/include/old_im.h +59 -0
  356. data/ext/iup-mswin32/include/wd.h +83 -0
  357. data/ext/iup-mswin32/include/wd_old.h +85 -0
  358. data/ext/iup-mswin32/iup.lib +0 -0
  359. data/ext/iup-mswin32/iup_pplot.lib +0 -0
  360. data/ext/iup-mswin32/iupcd.lib +0 -0
  361. data/ext/iup-mswin32/iupcontrols.lib +0 -0
  362. data/ext/iup-mswin32/iupgl.lib +0 -0
  363. data/ext/iup-mswin32/iupgtk.lib +0 -0
  364. data/ext/iup-mswin32/iupim.lib +0 -0
  365. data/ext/{iup-win32/iupimglib.dll → iup-mswin32/iupimglib.lib} +0 -0
  366. data/ext/iup-mswin32/iupole.lib +0 -0
  367. data/ext/iup-mswin32/pdflib.lib +0 -0
  368. data/ext/iup.c +6 -37
  369. data/ext/{rb_cd.h → rb_cd.c} +300 -302
  370. data/ext/rb_iup.c +2485 -0
  371. data/ext/rb_iup.h +400 -2475
  372. data/ext/{rb_iup_pplot.h → rb_iup_pplot.c} +21 -22
  373. data/ext/{rb_iupcb.h → rb_iupcb.c} +2 -3
  374. data/ext/{rb_iupcells.h → rb_iupcells.c} +5 -5
  375. data/ext/{rb_iupcolorbar.h → rb_iupcolorbar.c} +2 -3
  376. data/ext/{rb_iupcontrols.h → rb_iupcontrols.c} +1 -1
  377. data/ext/{rb_iupdial.h → rb_iupdial.c} +3 -4
  378. data/ext/{rb_iupgauge.h → rb_iupgauge.c} +2 -3
  379. data/ext/{rb_iupgc.h → rb_iupgc.c} +1 -1
  380. data/ext/{rb_iupgetparam.h → rb_iupgetparam.c} +12 -10
  381. data/ext/{rb_iupgl.h → rb_iupgl.c} +10 -10
  382. data/ext/{rb_iupim.h → rb_iupim.c} +6 -6
  383. data/ext/{rb_iupmatrix.h → rb_iupmatrix.c} +15 -16
  384. data/ext/{rb_iupole.h → rb_iupole.c} +4 -4
  385. data/ext/{rb_iupsbox.h → rb_iupsbox.c} +3 -3
  386. data/ext/{rb_iupspin.h → rb_iupspin.c} +4 -5
  387. data/ext/{rb_iuptabs.h → rb_iuptabs.c} +5 -6
  388. data/ext/{rb_iuptree.h → rb_iuptree.c} +20 -21
  389. data/ext/{rb_iupval.h → rb_iupval.c} +3 -4
  390. data/ruby-iup.gemspec +26 -0
  391. data/test/test_ruby_iup.rb +25 -0
  392. metadata +395 -270
  393. data/ext/iup-linux/include/lauxlib.h +0 -174
  394. data/ext/iup-linux/include/lua.h +0 -388
  395. data/ext/iup-linux/include/lua.hpp +0 -9
  396. data/ext/iup-linux/include/luaconf.h +0 -763
  397. data/ext/iup-linux/include/lualib.h +0 -53
  398. data/ext/iup-linux/libcd.so +0 -0
  399. data/ext/iup-linux/libcdcontextplus.so +0 -0
  400. data/ext/iup-linux/libcdpdf.so +0 -0
  401. data/ext/iup-linux/libfreetype.so +0 -0
  402. data/ext/iup-linux/libim.so +0 -0
  403. data/ext/iup-linux/libim_fftw.so +0 -0
  404. data/ext/iup-linux/libim_jp2.so +0 -0
  405. data/ext/iup-linux/libim_process.so +0 -0
  406. data/ext/iup-linux/libiup.so +0 -0
  407. data/ext/iup-linux/libiup_pplot.so +0 -0
  408. data/ext/iup-linux/libiupcd.so +0 -0
  409. data/ext/iup-linux/libiupcontrols.so +0 -0
  410. data/ext/iup-linux/libiupgl.so +0 -0
  411. data/ext/iup-linux/libiupim.so +0 -0
  412. data/ext/iup-linux/libiupimglib.so +0 -0
  413. data/ext/iup-linux/libiupmot.so +0 -0
  414. data/ext/iup-linux/libpdflib.so +0 -0
  415. data/ext/iup-win32/cd.dll +0 -0
  416. data/ext/iup-win32/cd.lib +0 -0
  417. data/ext/iup-win32/cdcontextplus.dll +0 -0
  418. data/ext/iup-win32/cdcontextplus.lib +0 -0
  419. data/ext/iup-win32/cdpdf.dll +0 -0
  420. data/ext/iup-win32/cdpdf.lib +0 -0
  421. data/ext/iup-win32/freetype6.dll +0 -0
  422. data/ext/iup-win32/freetype6.lib +0 -0
  423. data/ext/iup-win32/im.dll +0 -0
  424. data/ext/iup-win32/im.lib +0 -0
  425. data/ext/iup-win32/im_avi.dll +0 -0
  426. data/ext/iup-win32/im_avi.lib +0 -0
  427. data/ext/iup-win32/im_capture.dll +0 -0
  428. data/ext/iup-win32/im_capture.lib +0 -0
  429. data/ext/iup-win32/im_ecw.dll +0 -0
  430. data/ext/iup-win32/im_fftw.dll +0 -0
  431. data/ext/iup-win32/im_fftw.lib +0 -0
  432. data/ext/iup-win32/im_jp2.dll +0 -0
  433. data/ext/iup-win32/im_jp2.lib +0 -0
  434. data/ext/iup-win32/im_process.dll +0 -0
  435. data/ext/iup-win32/im_process.lib +0 -0
  436. data/ext/iup-win32/im_wmv.dll +0 -0
  437. data/ext/iup-win32/im_wmv.lib +0 -0
  438. data/ext/iup-win32/imlua_capture51.dll +0 -0
  439. data/ext/iup-win32/imlua_capture51.lib +0 -0
  440. data/ext/iup-win32/imlua_wmv51.dll +0 -0
  441. data/ext/iup-win32/imlua_wmv51.lib +0 -0
  442. data/ext/iup-win32/include/iupcb.h +0 -25
  443. data/ext/iup-win32/include/iupcells.h +0 -130
  444. data/ext/iup-win32/include/iupcolorbar.h +0 -126
  445. data/ext/iup-win32/include/iupcontrols.h +0 -36
  446. data/ext/iup-win32/include/iupdial.h +0 -63
  447. data/ext/iup-win32/include/iupgauge.h +0 -57
  448. data/ext/iup-win32/include/iupgetparam.h +0 -27
  449. data/ext/iup-win32/include/iupmatrix.h +0 -63
  450. data/ext/iup-win32/include/iupspin.h +0 -21
  451. data/ext/iup-win32/include/iuptabs.h +0 -75
  452. data/ext/iup-win32/include/iuptree.h +0 -93
  453. data/ext/iup-win32/include/iupval.h +0 -46
  454. data/ext/iup-win32/iup.dll +0 -0
  455. data/ext/iup-win32/iup.lib +0 -0
  456. data/ext/iup-win32/iup_pplot.dll +0 -0
  457. data/ext/iup-win32/iup_pplot.lib +0 -0
  458. data/ext/iup-win32/iupcd.dll +0 -0
  459. data/ext/iup-win32/iupcd.lib +0 -0
  460. data/ext/iup-win32/iupcontrols.dll +0 -0
  461. data/ext/iup-win32/iupcontrols.lib +0 -0
  462. data/ext/iup-win32/iupgl.dll +0 -0
  463. data/ext/iup-win32/iupgl.lib +0 -0
  464. data/ext/iup-win32/iupgtk.dll +0 -0
  465. data/ext/iup-win32/iupgtk.lib +0 -0
  466. data/ext/iup-win32/iupim.dll +0 -0
  467. data/ext/iup-win32/iupim.lib +0 -0
  468. data/ext/iup-win32/iupimglib.lib +0 -0
  469. data/ext/iup-win32/iupole.dll +0 -0
  470. data/ext/iup-win32/iupole.lib +0 -0
  471. data/ext/iup-win32/iupstub.lib +0 -0
  472. data/ext/iup-win32/pdflib.dll +0 -0
  473. data/ext/iup-win32/pdflib.lib +0 -0
  474. data/ext/mkrf_conf.rb +0 -72
  475. data/ext/rb_iupcompat.h +0 -237
  476. data/ext/rb_iupdef.h +0 -3
  477. data/ext/rb_iupmask.h +0 -189
  478. data/lib/README +0 -1
@@ -1,59 +1,59 @@
1
- /** \file
2
- * \brief Old API
3
- *
4
- * See Copyright Notice in im_lib.h
5
- */
6
-
7
- #ifndef __IM_OLD_H
8
- #define __IM_OLD_H
9
-
10
- #if defined(__cplusplus)
11
- extern "C" {
12
- #endif
13
-
14
- enum {IM_BMP, IM_PCX, IM_GIF, IM_TIF, IM_RAS, IM_SGI, IM_JPG, IM_LED, IM_TGA};
15
- enum {IM_NONE = 0x0000, IM_DEFAULT = 0x0100, IM_COMPRESSED = 0x0200};
16
-
17
- #define IM_ERR_READ IM_ERR_ACCESS
18
- #define IM_ERR_WRITE IM_ERR_ACCESS
19
- #define IM_ERR_TYPE IM_ERR_DATA
20
- #define IM_ERR_COMP IM_ERR_COMPRESS
21
-
22
- long imEncodeColor(unsigned char red, unsigned char green, unsigned char blue);
23
- void imDecodeColor(unsigned char* red, unsigned char* green, unsigned char* blue, long palette);
24
- int imFileFormat(char *filename, int* format);
25
- int imImageInfo(char *filename, int *width, int *height, int *type, int *palette_count);
26
- int imLoadRGB(char *filename, unsigned char *red, unsigned char *green, unsigned char *blue);
27
- int imSaveRGB(int width, int height, int format, unsigned char *red, unsigned char *green, unsigned char *blue, char *filename);
28
- int imLoadMap(char *filename, unsigned char *map, long *palette);
29
- int imSaveMap(int width, int height, int format, unsigned char *map, int palette_count, long *palette, char *filename);
30
- void imRGB2Map(int width, int height, unsigned char *red, unsigned char *green, unsigned char *blue, unsigned char *map, int palette_count, long *palette);
31
- void imMap2RGB(int width, int height, unsigned char *map, int palette_count, long *colors, unsigned char *red, unsigned char *green, unsigned char *blue);
32
- void imRGB2Gray(int width, int height, unsigned char *red, unsigned char *green, unsigned char *blue, unsigned char *map, long *grays);
33
- void imMap2Gray(int width, int height, unsigned char *map, int palette_count, long *colors, unsigned char *grey_map, long *grays);
34
- void imResize(int src_width, int src_height, unsigned char *src_map, int dst_width, int dst_height, unsigned char *dst_map);
35
- void imStretch(int src_width, int src_height, unsigned char *src_map, int dst_width, int dst_height, unsigned char *dst_map);
36
- typedef int (*imCallback)(char *filename);
37
- int imRegisterCallback(imCallback cb, int cb_id, int format);
38
-
39
- #define IM_INTERRUPTED -1
40
- #define IM_ALL -1
41
- #define IM_COUNTER_CB 0
42
- typedef int (*imFileCounterCallback)(char *filename, int percent, int io);
43
-
44
- #define IM_RESOLUTION_CB 1
45
- typedef int (*imResolutionCallback)(char *filename, double* xres, double* yres, int* res_unit);
46
-
47
- enum {IM_RES_NONE, IM_RES_DPI, IM_RES_DPC};
48
-
49
- #define IM_GIF_TRANSPARENT_COLOR_CB 0
50
- typedef int (*imGifTranspIndex)(char *filename, unsigned char *transp_index);
51
-
52
- #define IM_TIF_IMAGE_DESCRIPTION_CB 0
53
- typedef int (*imTiffImageDesc)(char *filename, char* img_desc);
54
-
55
- #if defined(__cplusplus)
56
- }
57
- #endif
58
-
59
- #endif
1
+ /** \file
2
+ * \brief Old API
3
+ *
4
+ * See Copyright Notice in im_lib.h
5
+ */
6
+
7
+ #ifndef __IM_OLD_H
8
+ #define __IM_OLD_H
9
+
10
+ #if defined(__cplusplus)
11
+ extern "C" {
12
+ #endif
13
+
14
+ enum {IM_BMP, IM_PCX, IM_GIF, IM_TIF, IM_RAS, IM_SGI, IM_JPG, IM_LED, IM_TGA};
15
+ enum {IM_NONE = 0x0000, IM_DEFAULT = 0x0100, IM_COMPRESSED = 0x0200};
16
+
17
+ #define IM_ERR_READ IM_ERR_ACCESS
18
+ #define IM_ERR_WRITE IM_ERR_ACCESS
19
+ #define IM_ERR_TYPE IM_ERR_DATA
20
+ #define IM_ERR_COMP IM_ERR_COMPRESS
21
+
22
+ long imEncodeColor(unsigned char red, unsigned char green, unsigned char blue);
23
+ void imDecodeColor(unsigned char* red, unsigned char* green, unsigned char* blue, long palette);
24
+ int imFileFormat(char *filename, int* format);
25
+ int imImageInfo(char *filename, int *width, int *height, int *type, int *palette_count);
26
+ int imLoadRGB(char *filename, unsigned char *red, unsigned char *green, unsigned char *blue);
27
+ int imSaveRGB(int width, int height, int format, unsigned char *red, unsigned char *green, unsigned char *blue, char *filename);
28
+ int imLoadMap(char *filename, unsigned char *map, long *palette);
29
+ int imSaveMap(int width, int height, int format, unsigned char *map, int palette_count, long *palette, char *filename);
30
+ void imRGB2Map(int width, int height, unsigned char *red, unsigned char *green, unsigned char *blue, unsigned char *map, int palette_count, long *palette);
31
+ void imMap2RGB(int width, int height, unsigned char *map, int palette_count, long *colors, unsigned char *red, unsigned char *green, unsigned char *blue);
32
+ void imRGB2Gray(int width, int height, unsigned char *red, unsigned char *green, unsigned char *blue, unsigned char *map, long *grays);
33
+ void imMap2Gray(int width, int height, unsigned char *map, int palette_count, long *colors, unsigned char *grey_map, long *grays);
34
+ void imResize(int src_width, int src_height, unsigned char *src_map, int dst_width, int dst_height, unsigned char *dst_map);
35
+ void imStretch(int src_width, int src_height, unsigned char *src_map, int dst_width, int dst_height, unsigned char *dst_map);
36
+ typedef int (*imCallback)(char *filename);
37
+ int imRegisterCallback(imCallback cb, int cb_id, int format);
38
+
39
+ #define IM_INTERRUPTED -1
40
+ #define IM_ALL -1
41
+ #define IM_COUNTER_CB 0
42
+ typedef int (*imFileCounterCallback)(char *filename, int percent, int io);
43
+
44
+ #define IM_RESOLUTION_CB 1
45
+ typedef int (*imResolutionCallback)(char *filename, double* xres, double* yres, int* res_unit);
46
+
47
+ enum {IM_RES_NONE, IM_RES_DPI, IM_RES_DPC};
48
+
49
+ #define IM_GIF_TRANSPARENT_COLOR_CB 0
50
+ typedef int (*imGifTranspIndex)(char *filename, unsigned char *transp_index);
51
+
52
+ #define IM_TIF_IMAGE_DESCRIPTION_CB 0
53
+ typedef int (*imTiffImageDesc)(char *filename, char* img_desc);
54
+
55
+ #if defined(__cplusplus)
56
+ }
57
+ #endif
58
+
59
+ #endif
@@ -19,6 +19,10 @@ void wdCanvasGetViewport(cdCanvas* canvas, int *xmin, int *xmax, int *ymin, i
19
19
  void wdCanvasWorld2Canvas(cdCanvas* canvas, double xw, double yw, int *xv, int *yv);
20
20
  void wdCanvasWorld2CanvasSize(cdCanvas* canvas, double hw, double vw, int *hv, int *vv);
21
21
  void wdCanvasCanvas2World(cdCanvas* canvas, int xv, int yv, double *xw, double *yw);
22
+ void wdCanvasSetTransform(cdCanvas* canvas, double sx, double sy, double tx, double ty);
23
+ void wdCanvasGetTransform(cdCanvas* canvas, double *sx, double *sy, double *tx, double *ty);
24
+ void wdCanvasTranslate(cdCanvas* canvas, double dtx, double dty);
25
+ void wdCanvasScale(cdCanvas* canvas, double dsx, double dsy);
22
26
 
23
27
  void wdCanvasClipArea(cdCanvas* canvas, double xmin, double xmax, double ymin, double ymax);
24
28
  int wdCanvasGetClipArea(cdCanvas* canvas, double *xmin, double *xmax, double *ymin, double *ymax);
@@ -66,6 +70,7 @@ double wdCanvasVectorCharSize(cdCanvas* canvas, double size);
66
70
  void wdCanvasVectorText(cdCanvas* canvas, double x, double y, const char* s);
67
71
  void wdCanvasMultiLineVectorText(cdCanvas* canvas, double x, double y, const char* s);
68
72
  void wdCanvasGetVectorTextBounds(cdCanvas* canvas, const char* s, double x, double y, double *rect);
73
+ void wdCanvasGetVectorTextBox(cdCanvas* canvas, double x, double y, const char *s, double *xmin, double *xmax, double *ymin, double *ymax);
69
74
 
70
75
  #ifdef __cplusplus
71
76
  }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -18,10 +18,10 @@ extern "C" {
18
18
 
19
19
  #define CD_NAME "CD - Canvas Draw"
20
20
  #define CD_DESCRIPTION "A 2D Graphics Library"
21
- #define CD_COPYRIGHT "Copyright (C) 1994-2008 Tecgraf, PUC-Rio."
22
- #define CD_VERSION "5.1"
23
- #define CD_VERSION_DATE "2008/10/14"
24
- #define CD_VERSION_NUMBER 501000
21
+ #define CD_COPYRIGHT "Copyright (C) 1994-2010 Tecgraf, PUC-Rio."
22
+ #define CD_VERSION "5.3" /* bug fixes are reported only by cdVersion functions */
23
+ #define CD_VERSION_NUMBER 503000
24
+ #define CD_VERSION_DATE "2010/01/26"
25
25
 
26
26
  typedef struct _cdContext cdContext;
27
27
  typedef struct _cdCanvas cdCanvas;
@@ -76,6 +76,7 @@ int cdCanvasPlay(cdCanvas* canvas, cdContext *context, int xmin, int xmax, int
76
76
  void cdCanvasGetSize(cdCanvas* canvas, int *width, int *height, double *width_mm, double *height_mm);
77
77
  int cdCanvasUpdateYAxis(cdCanvas* canvas, int* y);
78
78
  double cdfCanvasUpdateYAxis(cdCanvas* canvas, double* y);
79
+ int cdCanvasYAxisMode(cdCanvas* canvas, int invert);
79
80
  int cdCanvasInvertYAxis(cdCanvas* canvas, int y);
80
81
  double cdfCanvasInvertYAxis(cdCanvas* canvas, double y);
81
82
  void cdCanvasMM2Pixel(cdCanvas* canvas, double mm_dx, double mm_dy, int *dx, int *dy);
@@ -169,10 +170,13 @@ void cdCanvasVectorTextDirection(cdCanvas* canvas, int x1, int y1, int x2, int y
169
170
  double* cdCanvasVectorTextTransform(cdCanvas* canvas, const double* matrix);
170
171
  void cdCanvasVectorTextSize(cdCanvas* canvas, int size_x, int size_y, const char* s);
171
172
  int cdCanvasVectorCharSize(cdCanvas* canvas, int size);
173
+ void cdCanvasVectorFontSize(cdCanvas* canvas, double size_x, double size_y);
174
+ void cdCanvasGetVectorFontSize(cdCanvas* canvas, double *size_x, double *size_y);
172
175
 
173
176
  /* vector text properties */
174
177
  void cdCanvasGetVectorTextSize(cdCanvas* canvas, const char* s, int *x, int *y);
175
178
  void cdCanvasGetVectorTextBounds(cdCanvas* canvas, const char* s, int x, int y, int *rect);
179
+ void cdCanvasGetVectorTextBox(cdCanvas* canvas, int x, int y, const char *s, int *xmin, int *xmax, int *ymin, int *ymax);
176
180
 
177
181
  /* properties */
178
182
  void cdCanvasGetFontDim(cdCanvas* canvas, int *max_width, int *height, int *ascent, int *descent);
@@ -468,7 +472,7 @@ typedef int(*cdSizeCB)(cdCanvas *canvas, int w, int h, double w_mm, double h_mm)
468
472
 
469
473
 
470
474
  /******************************************************************************
471
- Copyright (C) 1994-2008 Tecgraf, PUC-Rio.
475
+ Copyright (C) 1994-2010 Tecgraf, PUC-Rio.
472
476
 
473
477
  Permission is hereby granted, free of charge, to any person obtaining
474
478
  a copy of this software and associated documentation files (the
@@ -92,7 +92,7 @@ struct _cdCanvas
92
92
  void (*cxArc)(cdCtxCanvas* ctxcanvas, int xc, int yc, int w, int h, double angle1, double angle2);
93
93
  void (*cxSector)(cdCtxCanvas* ctxcanvas, int xc, int yc, int w, int h, double angle1, double angle2);
94
94
  void (*cxChord)(cdCtxCanvas* ctxcanvas, int xc, int yc, int w, int h, double angle1, double angle2);
95
- void (*cxText)(cdCtxCanvas* ctxcanvas, int x, int y, const char *s);
95
+ void (*cxText)(cdCtxCanvas* ctxcanvas, int x, int y, const char *s, int len);
96
96
  void (*cxKillCanvas)(cdCtxCanvas* ctxcanvas);
97
97
  int (*cxFont)(cdCtxCanvas* ctxcanvas, const char *type_face, int style, int size);
98
98
  void (*cxPutImageRectMap)(cdCtxCanvas* ctxcanvas, int iw, int ih, const unsigned char *index, const long *colors, int x, int y, int w, int h, int xmin, int xmax, int ymin, int ymax);
@@ -100,7 +100,7 @@ struct _cdCanvas
100
100
 
101
101
  /* default implementation uses the simulation driver */
102
102
  void (*cxGetFontDim)(cdCtxCanvas* ctxcanvas, int *max_width, int *height, int *ascent, int *descent);
103
- void (*cxGetTextSize)(cdCtxCanvas* ctxcanvas, const char *s, int *width, int *height);
103
+ void (*cxGetTextSize)(cdCtxCanvas* ctxcanvas, const char *s, int len, int *width, int *height);
104
104
 
105
105
  /* all the following function pointers can be NULL */
106
106
 
@@ -114,7 +114,7 @@ struct _cdCanvas
114
114
  void (*cxFArc)(cdCtxCanvas* ctxcanvas, double xc, double yc, double w, double h, double angle1, double angle2);
115
115
  void (*cxFSector)(cdCtxCanvas* ctxcanvas, double xc, double yc, double w, double h, double angle1, double angle2);
116
116
  void (*cxFChord)(cdCtxCanvas* ctxcanvas, double xc, double yc, double w, double h, double angle1, double angle2);
117
- void (*cxFText)(cdCtxCanvas* ctxcanvas, double x, double y, const char *s);
117
+ void (*cxFText)(cdCtxCanvas* ctxcanvas, double x, double y, const char *s, int len);
118
118
 
119
119
  int (*cxClip)(cdCtxCanvas* ctxcanvas, int mode);
120
120
  void (*cxClipArea)(cdCtxCanvas* ctxcanvas, int xmin, int xmax, int ymin, int ymax);
@@ -233,6 +233,8 @@ struct _cdCanvas
233
233
  cdContext* context;
234
234
  };
235
235
 
236
+ enum{CD_BASE_WIN, CD_BASE_X, CD_BASE_GDK};
237
+ int cdBaseDriver(void);
236
238
 
237
239
  /***************/
238
240
  /* attributes */
@@ -268,6 +270,9 @@ int cdfCheckBoxSize(double *xmin, double *xmax, double *ymin, double *ymax);
268
270
  void cdNormalizeLimits(int w, int h, int *xmin, int *xmax, int *ymin, int *ymax);
269
271
  int cdGetFileName(const char* strdata, char* filename);
270
272
  int cdStrEqualNoCase(const char* str1, const char* str2);
273
+ int cdStrLineCount(const char* str);
274
+ char* cdStrDup(const char* str);
275
+ char* cdStrDupN(const char* str, int len);
271
276
 
272
277
  #define _cdCheckCanvas(_canvas) (_canvas!=NULL && ((unsigned char*)_canvas)[0] == 'C' && ((unsigned char*)_canvas)[1] == 'D')
273
278
  #define _cdInvertYAxis(_canvas, _y) (_canvas->h - (_y) - 1)
@@ -286,6 +291,8 @@ void cdMatrixInverse(const double* matrix, double* inv_matrix);
286
291
  void cdRotatePoint(cdCanvas* canvas, int x, int y, int cx, int cy, int *rx, int *ry, double sin_teta, double cos_teta);
287
292
  void cdRotatePointY(cdCanvas* canvas, int x, int y, int cx, int cy, int *ry, double sin_theta, double cos_theta);
288
293
  void cdTextTranslatePoint(cdCanvas* canvas, int x, int y, int w, int h, int baseline, int *rx, int *ry);
294
+ void cdMovePoint(int *x, int *y, double dx, double dy, double sin_theta, double cos_theta);
295
+ void cdfMovePoint(double *x, double *y, double dx, double dy, double sin_theta, double cos_theta);
289
296
 
290
297
  /*************/
291
298
  /* Fonts */
@@ -331,10 +338,10 @@ void cdchordSIM(cdCtxCanvas* ctxcanvas, int xc, int yc, int width, int height, d
331
338
  void cdpolySIM(cdCtxCanvas* ctxcanvas, int mode, cdPoint* points, int n);
332
339
 
333
340
  /* Replacements for Text and Font using FreeType library */
334
- void cdtextSIM(cdCtxCanvas* ctxcanvas, int x, int y, const char *s);
341
+ void cdtextSIM(cdCtxCanvas* ctxcanvas, int x, int y, const char *s, int len);
335
342
  int cdfontSIM(cdCtxCanvas* ctxcanvas, const char *type_face, int style, int size);
336
343
  void cdgetfontdimSIM(cdCtxCanvas* ctxcanvas, int *max_width, int *height, int *ascent, int *descent);
337
- void cdgettextsizeSIM(cdCtxCanvas* ctxcanvas, const char *s, int *width, int *height);
344
+ void cdgettextsizeSIM(cdCtxCanvas* ctxcanvas, const char *s, int len, int *width, int *height);
338
345
 
339
346
  /* Simulation functions that are independent of the simulation base driver */
340
347
  void cdSimMark(cdCanvas* canvas, int x, int y);
@@ -352,7 +359,7 @@ void cdfSimArc(cdCtxCanvas *ctxcanvas, double xc, double yc, double width, doubl
352
359
 
353
360
  /* Replacements for Font using estimation */
354
361
  void cdgetfontdimEX(cdCtxCanvas* ctxcanvas, int *max_width, int *height, int *ascent, int *descent);
355
- void cdgettextsizeEX(cdCtxCanvas* ctxcanvas, const char *s, int *width, int *height);
362
+ void cdgettextsizeEX(cdCtxCanvas* ctxcanvas, const char *s, int len, int *width, int *height);
356
363
 
357
364
 
358
365
  #ifdef __cplusplus
@@ -0,0 +1,22 @@
1
+ /** \file
2
+ * \brief SVG driver
3
+ *
4
+ * See Copyright Notice in cd.h
5
+ */
6
+
7
+ #ifndef __CD_SVG_H
8
+ #define __CD_SVG_H
9
+
10
+ #ifdef __cplusplus
11
+ extern "C" {
12
+ #endif
13
+
14
+ cdContext* cdContextSVG(void);
15
+
16
+ #define CD_SVG cdContextSVG()
17
+
18
+ #ifdef __cplusplus
19
+ }
20
+ #endif
21
+
22
+ #endif /* ifndef __CD_SVG_ */
@@ -0,0 +1,287 @@
1
+ /** \file
2
+ * \brief Main API
3
+ *
4
+ * See Copyright Notice in im_lib.h
5
+ */
6
+
7
+ #ifndef __IM_H
8
+ #define __IM_H
9
+
10
+ #if defined(__cplusplus)
11
+ extern "C" {
12
+ #endif
13
+
14
+
15
+ /** Image data type descriptors. \n
16
+ * See also \ref datatypeutl.
17
+ * \ingroup imagerep */
18
+ enum imDataType
19
+ {
20
+ IM_BYTE, /**< "unsigned char". 1 byte from 0 to 255. */
21
+ IM_USHORT, /**< "unsigned short". 2 bytes from 0 to 65,535. */
22
+ IM_INT, /**< "int". 4 bytes from -2,147,483,648 to 2,147,483,647. */
23
+ IM_FLOAT, /**< "float". 4 bytes single precision IEEE floating point. */
24
+ IM_CFLOAT /**< complex "float". 2 float values in sequence, real and imaginary parts. */
25
+ };
26
+
27
+ /** Image color mode color space descriptors (first byte). \n
28
+ * See also \ref colormodeutl.
29
+ * \ingroup imagerep */
30
+ enum imColorSpace
31
+ {
32
+ IM_RGB, /**< Red, Green and Blue (nonlinear). */
33
+ IM_MAP, /**< Indexed by RGB color map (data_type=IM_BYTE). */
34
+ IM_GRAY, /**< Shades of gray, luma (nonlinear Luminance), or an intensity value that is not related to color. */
35
+ IM_BINARY, /**< Indexed by 2 colors: black (0) and white (1) (data_type=IM_BYTE). */
36
+ IM_CMYK, /**< Cian, Magenta, Yellow and Black (nonlinear). */
37
+ IM_YCBCR, /**< ITU-R 601 Y'CbCr. Y' is luma (nonlinear Luminance). */
38
+ IM_LAB, /**< CIE L*a*b*. L* is Lightness (nonlinear Luminance, nearly perceptually uniform). */
39
+ IM_LUV, /**< CIE L*u*v*. L* is Lightness (nonlinear Luminance, nearly perceptually uniform). */
40
+ IM_XYZ /**< CIE XYZ. Linear Light Tristimulus, Y is linear Luminance. */
41
+ };
42
+
43
+ /** Image color mode configuration/extra descriptors (1 bit each in the second byte). \n
44
+ * See also \ref colormodeutl.
45
+ * \ingroup imagerep */
46
+ enum imColorModeConfig
47
+ {
48
+ IM_ALPHA = 0x100, /**< adds an Alpha channel */
49
+ IM_PACKED = 0x200, /**< packed components (rgbrgbrgb...) */
50
+ IM_TOPDOWN = 0x400 /**< orientation from top down to bottom */
51
+ };
52
+
53
+
54
+
55
+ /** File Access Error Codes
56
+ * \ingroup file */
57
+ enum imErrorCodes
58
+ {
59
+ IM_ERR_NONE, /**< No error. */
60
+ IM_ERR_OPEN, /**< Error while opening the file (read or write). */
61
+ IM_ERR_ACCESS, /**< Error while accessing the file (read or write). */
62
+ IM_ERR_FORMAT, /**< Invalid or unrecognized file format. */
63
+ IM_ERR_DATA, /**< Invalid or unsupported data. */
64
+ IM_ERR_COMPRESS, /**< Invalid or unsupported compression. */
65
+ IM_ERR_MEM, /**< Insuficient memory */
66
+ IM_ERR_COUNTER /**< Interrupted by the counter */
67
+ };
68
+
69
+ /* Internal Image File Structure. */
70
+ typedef struct _imFile imFile;
71
+
72
+ /** Opens the file for reading. It must exists. Also reads file header.
73
+ * It will try to identify the file format.
74
+ * See also \ref imErrorCodes. \n
75
+ * In Lua the IM file metatable name is "imFile".
76
+ * When converted to a string will return "imFile(%p)" where %p is replaced by the userdata address.
77
+ * If the file is already closed by im.FileClose, then it will return also the suffix "-closed".
78
+ *
79
+ * \verbatim im.FileOpen(file_name: string) -> ifile: imFile, error: number [in Lua 5] \endverbatim
80
+ * \ingroup file */
81
+ imFile* imFileOpen(const char* file_name, int *error);
82
+
83
+ /** Opens the file for reading using a specific format. It must exists. Also reads file header.
84
+ * See also \ref imErrorCodes and \ref format.
85
+ *
86
+ * \verbatim im.FileOpenAs(file_name, format: string) -> ifile: imFile, error: number [in Lua 5] \endverbatim
87
+ * \ingroup file */
88
+ imFile* imFileOpenAs(const char* file_name, const char* format, int *error);
89
+
90
+ /** Creates a new file for writing using a specific format. If the file exists will be replaced. \n
91
+ * It will only initialize the format driver and create the file, no data is actually written.
92
+ * See also \ref imErrorCodes and \ref format.
93
+ *
94
+ * \verbatim im.FileNew(file_name: string, format: string) -> ifile: imFile, error: number [in Lua 5] \endverbatim
95
+ * \ingroup file */
96
+ imFile* imFileNew(const char* file_name, const char* format, int *error);
97
+
98
+ /** Closes the file. \n
99
+ * In Lua if this function is not called, the file is closed by the garbage collector.
100
+ *
101
+ * \verbatim im.FileClose(ifile: imFile) [in Lua 5] \endverbatim
102
+ * \verbatim ifile:Close() [in Lua 5] \endverbatim
103
+ * \ingroup file */
104
+ void imFileClose(imFile* ifile);
105
+
106
+ /** Returns an internal handle.
107
+ * index=0 returns always an imBinFile* handle,
108
+ * but for some formats returns NULL because they do not use imBinFile (like AVI and WMV).
109
+ * index=1 return an internal structure used by the format, usually is a handle
110
+ * to a third party library structure. This is file format dependent.
111
+ *
112
+ * \verbatim ifile:Handle() -> handle: userdata [in Lua 5] \endverbatim
113
+ * \ingroup file */
114
+ void* imFileHandle(imFile* ifile, int index);
115
+
116
+ /** Returns file information.
117
+ * image_count is the number of images in a stack or
118
+ * the number of frames in a video/animation or the depth of a volume data. \n
119
+ * compression and image_count can be NULL. \n
120
+ * These informations are also available as attributes:
121
+ * \verbatim FileFormat (string) \endverbatim
122
+ * \verbatim FileCompression (string) \endverbatim
123
+ * \verbatim FileImageCount IM_INT (1) \endverbatim
124
+ * See also \ref format.
125
+ *
126
+ * \verbatim ifile:GetInfo() -> format: string, compression: string, image_count: number [in Lua 5] \endverbatim
127
+ * \ingroup file */
128
+ void imFileGetInfo(imFile* ifile, char* format, char* compression, int *image_count);
129
+
130
+ /** Changes the write compression method. \n
131
+ * If the compression is not supported will return an error code when writting. \n
132
+ * Use NULL to set the default compression. You can use the imFileGetInfo to retrieve the actual compression
133
+ * but only after \ref imFileWriteImageInfo. Only a few formats allow you to change the compression between frames.
134
+ *
135
+ * \verbatim ifile:SetInfo(compression: string) [in Lua 5] \endverbatim
136
+ * \ingroup file */
137
+ void imFileSetInfo(imFile* ifile, const char* compression);
138
+
139
+ /** Changes an extended attribute. \n
140
+ * The data will be internally duplicated. \n
141
+ * If data is NULL the attribute is removed.
142
+ * If data_type is BYTE then count can be -1 to indicate a NULL terminated string.
143
+ * See also \ref imDataType.
144
+ *
145
+ * \verbatim ifile:SetAttribute(attrib: string, data_type: number, data: table of numbers or string) [in Lua 5] \endverbatim
146
+ * If data_type is IM_BYTE, as_string can be used as data.
147
+ * \ingroup file */
148
+ void imFileSetAttribute(imFile* ifile, const char* attrib, int data_type, int count, const void* data);
149
+
150
+ /** Returns an extended attribute. \n
151
+ * Returns NULL if not found. data_type and count can be NULL.
152
+ * See also \ref imDataType.
153
+ *
154
+ * \verbatim ifile:GetAttribute(attrib: string, [as_string: boolean]) -> data: table of numbers or string, data_type: number [in Lua 5] \endverbatim
155
+ * If data_type is IM_BYTE, as_string can be used to return a string instead of a table.
156
+ * \ingroup file */
157
+ const void* imFileGetAttribute(imFile* ifile, const char* attrib, int *data_type, int *count);
158
+
159
+ /** Returns a list of the attribute names. \n
160
+ * "attrib" must contain room enough for "attrib_count" names. Use "attrib=NULL" to return only the count.
161
+ *
162
+ * \verbatim ifile:GetAttributeList() -> data: table of strings [in Lua 5] \endverbatim
163
+ * \ingroup file */
164
+ void imFileGetAttributeList(imFile* ifile, char** attrib, int *attrib_count);
165
+
166
+ /** Returns the pallete if any. \n
167
+ * "palette" must be a 256 colors alocated array. \n
168
+ * Returns zero in "palette_count" if there is no palette. "palette_count" is >0 and <=256.
169
+ *
170
+ * \verbatim ifile:GetPalette() -> palette: imPalette [in Lua 5] \endverbatim
171
+ * \ingroup file */
172
+ void imFileGetPalette(imFile* ifile, long* palette, int *palette_count);
173
+
174
+ /** Changes the pallete. \n
175
+ * "palette_count" is >0 and <=256.
176
+ *
177
+ * \verbatim ifile:SetPalette(palette: imPalette) [in Lua 5] \endverbatim
178
+ * \ingroup file */
179
+ void imFileSetPalette(imFile* ifile, long* palette, int palette_count);
180
+
181
+ /** Reads the image header if any and returns image information. \n
182
+ * Reads also the extended image attributes, so other image attributes will be available only after calling this function. \n
183
+ * Returns an error code.
184
+ * index specifies the image number between 0 and image_count-1. \n
185
+ * Some drivers reads only in sequence, so "index" can be ignored by the format driver. \n
186
+ * Any parameters can be NULL. This function must be called at least once, check each format documentation.
187
+ * See also \ref imErrorCodes, \ref imDataType, \ref imColorSpace and \ref imColorModeConfig.
188
+ *
189
+ * \verbatim ifile:ReadImageInfo([index: number]) -> error: number, width: number, height: number, file_color_mode: number, file_data_type: number [in Lua 5] \endverbatim
190
+ * Default index is 0.
191
+ * \ingroup file */
192
+ int imFileReadImageInfo(imFile* ifile, int index, int *width, int *height, int *file_color_mode, int *file_data_type);
193
+
194
+ /** Writes the image header. Writes the file header at the first time it is called.
195
+ * Writes also the extended image attributes. \n
196
+ * Must call imFileSetPalette and set other attributes before calling this function. \n
197
+ * In some formats the color space will be converted to match file format specification. \n
198
+ * Returns an error code. This function must be called at least once, check each format documentation.
199
+ * See also \ref imErrorCodes, \ref imDataType, \ref imColorSpace and \ref imColorModeConfig.
200
+ *
201
+ * \verbatim ifile:WriteImageInfo(width: number, height: number, user_color_mode: number, user_data_type: number) -> error: number [in Lua 5] \endverbatim
202
+ * \ingroup file */
203
+ int imFileWriteImageInfo(imFile* ifile, int width, int height, int user_color_mode, int user_data_type);
204
+
205
+ /** Reads the image data with or without conversion. \n
206
+ * The data can be converted to bitmap when reading.
207
+ * Data type conversion to byte will always scan for min-max then scale to 0-255,
208
+ * except integer values that min-max are already between 0-255. Complex to real conversions will use the magnitude. \n
209
+ * Color mode flags contains packed, alpha and top-botttom information.
210
+ * If flag is 0 means unpacked, no alpha and bottom up. If flag is -1 the file original flags are used. \n
211
+ * Returns an error code.
212
+ * See also \ref imErrorCodes, \ref imDataType, \ref imColorSpace and \ref imColorModeConfig.
213
+ *
214
+ * \verbatim ifile:ReadImageData(data: userdata, convert2bitmap: boolean, color_mode_flags: number) -> error: number [in Lua 5] \endverbatim
215
+ * \ingroup file */
216
+ int imFileReadImageData(imFile* ifile, void* data, int convert2bitmap, int color_mode_flags);
217
+
218
+ /** Writes the image data. \n
219
+ * Returns an error code.
220
+ *
221
+ * \verbatim ifile:WriteImageData(data: userdata) -> error: number [in Lua 5] \endverbatim
222
+ * \ingroup file */
223
+ int imFileWriteImageData(imFile* ifile, void* data);
224
+
225
+
226
+
227
+
228
+ /** Registers all the internal formats. \n
229
+ * It is automatically called internally when a format is accessed,
230
+ * but can be called to force the internal formats to be registered before other formats.
231
+ * Notice that additional formats when registered will be registered before the internal formats
232
+ * if imFormatRegisterInternal is not called yet. \n
233
+ * To control the register order is usefull when two format drivers handle the same format.
234
+ * The first registered format will always be used first.
235
+ * \ingroup format */
236
+ void imFormatRegisterInternal(void);
237
+
238
+ /** Remove all registered formats. Call this if you are checking memory leaks.
239
+ * \ingroup format */
240
+ void imFormatRemoveAll(void);
241
+
242
+ /** Returns a list of the registered formats. \n
243
+ * format_list is an array of format identifiers.
244
+ * Each format identifier is 10 chars max, maximum of 50 formats.
245
+ * You can use "char* format_list[50]".
246
+ *
247
+ * \verbatim im.FormatList() -> format_list: table of strings [in Lua 5] \endverbatim
248
+ * \ingroup format */
249
+ void imFormatList(char** format_list, int *format_count);
250
+
251
+ /** Returns the format description. \n
252
+ * Format description is 50 chars max. \n
253
+ * Extensions are separated like "*.tif;*.tiff;", 50 chars max. \n
254
+ * Returns an error code. The parameters can be NULL, except format.
255
+ * See also \ref format.
256
+ *
257
+ * \verbatim im.FormatInfo(format: string) -> error: number, desc: string, ext: string, can_sequence: boolean [in Lua 5] \endverbatim
258
+ * \ingroup format */
259
+ int imFormatInfo(const char* format, char* desc, char* ext, int *can_sequence);
260
+
261
+ /** Returns the format compressions. \n
262
+ * Compressions are 20 chars max each, maximum of 50 compressions. You can use "char* comp[50]". \n
263
+ * color_mode and data_type are optional, use -1 to ignore them. \n
264
+ * If you use them they will select only the allowed compressions checked like in \ref imFormatCanWriteImage. \n
265
+ * Returns an error code.
266
+ * See also \ref format, \ref imErrorCodes, \ref imDataType, \ref imColorSpace and \ref imColorModeConfig.
267
+ *
268
+ * \verbatim im.FormatCompressions(format: string, [color_mode: number], [data_type: number]) -> error: number, comp: table of strings [in Lua 5] \endverbatim
269
+ * \ingroup format */
270
+ int imFormatCompressions(const char* format, char** comp, int *comp_count, int color_mode, int data_type);
271
+
272
+ /** Checks if the format suport the given image class at the given compression. \n
273
+ * Returns an error code.
274
+ * See also \ref format, \ref imErrorCodes, \ref imDataType, \ref imColorSpace and \ref imColorModeConfig.
275
+ *
276
+ * \verbatim im.FormatCanWriteImage(format: string, compression: string, color_mode: number, data_type: number) -> can_write: boolean [in Lua 5] \endverbatim
277
+ * \ingroup format */
278
+ int imFormatCanWriteImage(const char* format, const char* compression, int color_mode, int data_type);
279
+
280
+
281
+ #if defined(__cplusplus)
282
+ }
283
+ #endif
284
+
285
+ #include "old_im.h"
286
+
287
+ #endif