ruby-iup 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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,365 +1,365 @@
1
- /** \file
2
- * \brief Video Capture
3
- *
4
- * See Copyright Notice in im.h
5
- */
6
-
7
- #ifndef __IM_CAPTURE_H
8
- #define __IM_CAPTURE_H
9
-
10
- #if defined(__cplusplus)
11
- extern "C" {
12
- #endif
13
-
14
- /* declarations to create an export library for Watcom. */
15
- #if ! defined (IM_DECL)
16
- #if defined (__WATCOMC__)
17
- #define IM_DECL __cdecl
18
- #elif defined(__WATCOM_CPLUSPLUS__)
19
- #define IM_DECL __cdecl
20
- #else
21
- #define IM_DECL
22
- #endif
23
- #endif
24
-
25
- /** \defgroup capture Image Capture
26
- * \par
27
- * Functions to capture images from live video devices.
28
- * \par
29
- * See \ref im_capture.h
30
- */
31
-
32
- typedef struct _imVideoCapture imVideoCapture;
33
-
34
- /** Returns the number of available devices.
35
- *
36
- * \verbatim im.VideoCaptureDeviceCount() -> count: number [in Lua 5] \endverbatim
37
- * \ingroup capture */
38
- int IM_DECL imVideoCaptureDeviceCount(void);
39
-
40
- /** Returns the device description. Returns NULL only if it is an invalid device.
41
- *
42
- * \verbatim im.VideoCaptureDeviceDesc(device: number) -> desc: string [in Lua 5] \endverbatim
43
- * \ingroup capture */
44
- const char* IM_DECL imVideoCaptureDeviceDesc(int device);
45
-
46
- /** Returns the extendend device description. May return NULL.
47
- *
48
- * \verbatim im.VideoCaptureDeviceExDesc(device: number) -> desc: string [in Lua 5] \endverbatim
49
- * \ingroup capture */
50
- const char* imVideoCaptureDeviceExDesc(int device);
51
-
52
- /** Returns the device path configuration. This is a unique string.
53
- *
54
- * \verbatim im.VideoCaptureDevicePath(device: number) -> desc: string [in Lua 5] \endverbatim
55
- * \ingroup capture */
56
- const char* imVideoCaptureDevicePath(int device);
57
-
58
- /** Returns the vendor information. May return NULL.
59
- *
60
- * \verbatim im.VideoCaptureDeviceVendorInfo(device: number) -> desc: string [in Lua 5] \endverbatim
61
- * \ingroup capture */
62
- const char* imVideoCaptureDeviceVendorInfo(int device);
63
-
64
- /** Reload the device list. The devices can be dynamically removed or added to the system.
65
- * Returns the number of available devices.
66
- *
67
- * \verbatim im.imVideoCaptureReloadDevices() -> count: number [in Lua 5] \endverbatim
68
- * \ingroup capture */
69
- int IM_DECL imVideoCaptureReloadDevices(void);
70
-
71
- /** Creates a new imVideoCapture object. \n
72
- * Returns NULL if there is no capture device available. \n
73
- * In Windows returns NULL if DirectX version is older than 8. \n
74
- * In Lua the IM videocapture metatable name is "imVideoCapture".
75
- * When converted to a string will return "imVideoCapture(%p)" where %p is replaced by the userdata address.
76
- * If the videocapture is already destroyed by im.VideoCaptureDestroy, then it will return also the suffix "-destroyed".
77
- *
78
- * \verbatim im.VideoCaptureCreate() -> vc: imVideoCapture [in Lua 5] \endverbatim
79
- * \ingroup capture */
80
- imVideoCapture* IM_DECL imVideoCaptureCreate(void);
81
-
82
- /** Destroys a imVideoCapture object. \n
83
- * In Lua if this function is not called, the videocapture is destroyed by the garbage collector.
84
- *
85
- * \verbatim im.VideoCaptureDestroy(vc: imVideoCapture) [in Lua 5] \endverbatim
86
- * \verbatim vc:Destroy() [in Lua 5] \endverbatim
87
- * \ingroup capture */
88
- void IM_DECL imVideoCaptureDestroy(imVideoCapture* vc);
89
-
90
- /** Connects to a capture device.
91
- * More than one imVideoCapture object can be created
92
- * but they must be connected to different devices. \n
93
- * If the object is conected it will disconnect first. \n
94
- * Use -1 to return the current connected device,
95
- * in this case returns -1 if not connected. \n
96
- * Returns zero if failed.
97
- *
98
- * \verbatim vc:Connect([device: number]) -> ret: number [in Lua 5] \endverbatim
99
- * \ingroup capture */
100
- int IM_DECL imVideoCaptureConnect(imVideoCapture* vc, int device);
101
-
102
- /** Disconnect from a capture device.
103
- *
104
- * \verbatim vc:Disconnect() [in Lua 5] \endverbatim
105
- * \ingroup capture */
106
- void IM_DECL imVideoCaptureDisconnect(imVideoCapture* vc);
107
-
108
- /** Returns the number of available configuration dialogs.
109
- *
110
- * \verbatim vc:DialogCount() -> count: number [in Lua 5] \endverbatim
111
- * \ingroup capture */
112
- int IM_DECL imVideoCaptureDialogCount(imVideoCapture* vc);
113
-
114
- /** Displays a configuration modal dialog of the connected device. \n
115
- * In Windows, the capturing will be stopped in some cases. \n
116
- * In Windows parent is a HWND of a parent window, it can be NULL. \n
117
- * dialog can be from 0 to \ref imVideoCaptureDialogCount. \n
118
- * Returns zero if failed.
119
- *
120
- * \verbatim vc:ShowDialog(dialog: number, parent: userdata) -> error: number [in Lua 5] \endverbatim
121
- * \ingroup capture */
122
- int IM_DECL imVideoCaptureShowDialog(imVideoCapture* vc, int dialog, void* parent);
123
-
124
- /** Allows to control the input and output of devices that have multiple input and outputs.
125
- * cross controls in which stage the input/output will be set. Usually use 1, but some capture boards
126
- * has a second stage. In Direct X it controls the crossbars.
127
- *
128
- * \verbatim vc:SetInOut(input, output, cross: number) -> error: number [in Lua 5] \endverbatim
129
- * \ingroup capture */
130
- int imVideoCaptureSetInOut(imVideoCapture* vc, int input, int output, int cross);
131
-
132
- /** Returns the description of a configuration dialog.
133
- * dialog can be from 0 to \ref imVideoCaptureDialogCount. \n
134
- *
135
- * \verbatim vc:DialogDesc(dialog: number) -> desc: string [in Lua 5] \endverbatim
136
- * \ingroup capture */
137
- const char* IM_DECL imVideoCaptureDialogDesc(imVideoCapture* vc, int dialog);
138
-
139
- /** Returns the number of available video formats. \n
140
- * Returns zero if failed.
141
- *
142
- * \verbatim vc:FormatCount() -> error: number [in Lua 5] \endverbatim
143
- * \ingroup capture */
144
- int IM_DECL imVideoCaptureFormatCount(imVideoCapture* vc);
145
-
146
- /** Returns information about the video format. \n
147
- * format can be from 0 to \ref imVideoCaptureFormatCount. \n
148
- * desc should be of size 10. \n
149
- * The image size is usually the maximum size for that format.
150
- * Other sizes can be available using \ref imVideoCaptureSetImageSize. \n
151
- * Returns zero if failed.
152
- *
153
- * \verbatim vc:GetFormat(format: number) -> error: number, width: number, height: number, desc: string [in Lua 5] \endverbatim
154
- * \ingroup capture */
155
- int IM_DECL imVideoCaptureGetFormat(imVideoCapture* vc, int format, int *width, int *height, char* desc);
156
-
157
- /** Changes the video format of the connected device. \n
158
- * Should NOT work for DV devices. Use \ref imVideoCaptureSetImageSize only. \n
159
- * Use -1 to return the current format, in this case returns -1 if failed. \n
160
- * When the format is changed in the dialog, for some formats
161
- * the returned format is the preferred format, not the current format. \n
162
- * This will not affect color_mode of the capture image. \n
163
- * Returns zero if failed.
164
- *
165
- * \verbatim vc:SetFormat(format: number) -> error: number [in Lua 5] \endverbatim
166
- * \ingroup capture */
167
- int IM_DECL imVideoCaptureSetFormat(imVideoCapture* vc, int format);
168
-
169
- /** Returns the current image size of the connected device. \n
170
- * width and height returns 0 if not connected.
171
- *
172
- * \verbatim vc:GetImageSize() -> width: number, height: number [in Lua 5] \endverbatim
173
- * \ingroup capture */
174
- void IM_DECL imVideoCaptureGetImageSize(imVideoCapture* vc, int *width, int *height);
175
-
176
- /** Changes the image size of the connected device. \n
177
- * Similar to \ref imVideoCaptureSetFormat, but changes only the size. \n
178
- * Valid sizes can be obtained with \ref imVideoCaptureGetFormat. \n
179
- * Returns zero if failed.
180
- *
181
- * \verbatim vc:SetImageSize(width: number, height: number) -> error: number [in Lua 5] \endverbatim
182
- * \ingroup capture */
183
- int IM_DECL imVideoCaptureSetImageSize(imVideoCapture* vc, int width, int height);
184
-
185
- /** Returns a new captured frame. Use -1 for infinite timeout. \n
186
- * Color space can be IM_RGB or IM_GRAY, and mode can be packed (IM_PACKED) or not. \n
187
- * Data type is always IM_BYTE. \n
188
- * It can not have an alpha channel and orientation is always bottom up. \n
189
- * Returns zero if failed or timeout expired, the buffer is not changed.
190
- *
191
- * \verbatim vc:Frame(image: imImage, timeout: number) -> error: number [in Lua 5] \endverbatim
192
- * \ingroup capture */
193
- int IM_DECL imVideoCaptureFrame(imVideoCapture* vc, unsigned char* data, int color_mode, int timeout);
194
-
195
- /** Start capturing, returns the new captured frame and stop capturing. \n
196
- * This is more usefull if you are switching between devices. \n
197
- * Data format is the same as imVideoCaptureFrame. \n
198
- * Returns zero if failed.
199
- *
200
- * \verbatim vc:OneFrame(image: imImage) -> error: number [in Lua 5] \endverbatim
201
- * \ingroup capture */
202
- int IM_DECL imVideoCaptureOneFrame(imVideoCapture* vc, unsigned char* data, int color_mode);
203
-
204
- /** Start capturing. \n
205
- * Use -1 to return the current state. \n
206
- * Returns zero if failed.
207
- *
208
- * \verbatim vc:Live(live: number) -> error: number [in Lua 5] \endverbatim
209
- * \ingroup capture */
210
- int IM_DECL imVideoCaptureLive(imVideoCapture* vc, int live);
211
-
212
- /** Resets a camera or video attribute to the default value or
213
- * to the automatic setting. \n
214
- * Not all attributes support automatic modes. \n
215
- * Returns zero if failed.
216
- *
217
- * \verbatim vc:ResetAttribute(attrib: string, fauto: number) -> error: number [in Lua 5] \endverbatim
218
- * \ingroup capture */
219
- int IM_DECL imVideoCaptureResetAttribute(imVideoCapture* vc, const char* attrib, int fauto);
220
-
221
- /** Returns a camera or video attribute in percentage of the valid range value. \n
222
- * Returns zero if failed or attribute not supported.
223
- *
224
- * \verbatim vc:GetAttribute(attrib: string) -> error: number, percent: number [in Lua 5] \endverbatim
225
- * \ingroup capture */
226
- int IM_DECL imVideoCaptureGetAttribute(imVideoCapture* vc, const char* attrib, float *percent);
227
-
228
- /** Changes a camera or video attribute in percentage of the valid range value. \n
229
- * Returns zero if failed or attribute not supported.
230
- *
231
- * \verbatim vc:SetAttribute(attrib: string, percent: number) -> error: number [in Lua 5] \endverbatim
232
- * \ingroup capture */
233
- int IM_DECL imVideoCaptureSetAttribute(imVideoCapture* vc, const char* attrib, float percent);
234
-
235
- /** Returns a list of the description of the valid attributes for the device class. \n
236
- * But each device may still not support some of the returned attributes. \n
237
- * Use the return value of \ref imVideoCaptureGetAttribute to check if the attribute is supported.
238
- *
239
- * \verbatim vc:GetAttributeList() -> attrib_list: table of strings [in Lua 5] \endverbatim
240
- * \ingroup capture */
241
- const char** IM_DECL imVideoCaptureGetAttributeList(imVideoCapture* vc, int *num_attrib);
242
-
243
-
244
- /** \defgroup winattrib Windows Attributes Names
245
- * Not all attributes are supported by each device.
246
- * Use the return value of \ref imVideoCaptureGetAttribute to check if the attribute is supported.
247
- \verbatim
248
- VideoBrightness - Specifies the brightness, also called the black level.
249
- VideoContrast - Specifies the contrast, expressed as gain factor.
250
- VideoHue - Specifies the hue angle.
251
- VideoSaturation - Specifies the saturation.
252
- VideoSharpness - Specifies the sharpness.
253
- VideoGamma - Specifies the gamma.
254
- VideoColorEnable - Specifies the color enable setting. (0/100)
255
- VideoWhiteBalance - Specifies the white balance, as a color temperature in degrees Kelvin.
256
- VideoBacklightCompensation - Specifies the backlight compensation setting. (0/100)
257
- VideoGain - Specifies the gain adjustment.
258
- CameraPanAngle - Specifies the camera's pan angle. To 100 rotate right, To 0 rotate left (view from above).
259
- CameraTiltAngle - Specifies the camera's tilt angle. To 100 rotate up, To 0 rotate down.
260
- CameraRollAngle - Specifies the camera's roll angle. To 100 rotate right, To 0 rotate left.
261
- CameraLensZoom - Specifies the camera's zoom setting.
262
- CameraExposure - Specifies the exposure setting.
263
- CameraIris - Specifies the camera's iris setting.
264
- CameraFocus - Specifies the camera's focus setting, as the distance to the optimally focused target.
265
- FlipHorizontal - Specifies the video will be flipped in the horizontal direction.
266
- FlipVertical - Specifies the video will be flipped in the vertical direction.
267
- AnalogFormat - Specifies the video format standard NTSC, PAL, etc. Valid values:
268
- NTSC_M = 0
269
- NTSC_M_J = 1
270
- NTSC_433 = 2
271
- PAL_B = 3
272
- PAL_D = 4
273
- PAL_H = 5
274
- PAL_I = 6
275
- PAL_M = 7
276
- PAL_N = 8
277
- PAL_60 = 9
278
- SECAM_B = 10
279
- SECAM_D = 11
280
- SECAM_G = 12
281
- SECAM_H = 13
282
- SECAM_K = 14
283
- SECAM_K1 = 15
284
- SECAM_L = 16
285
- SECAM_L1 = 17
286
- PAL_N_COMBO = 18
287
- \endverbatim
288
- * \ingroup capture */
289
-
290
-
291
- #if defined(__cplusplus)
292
- }
293
-
294
- /** A C++ Wrapper for the imVideoCapture structure functions.
295
- * \ingroup capture */
296
- class imCapture
297
- {
298
- public:
299
- imCapture()
300
- { vc = imVideoCaptureCreate(); }
301
-
302
- ~imCapture()
303
- { if (vc) imVideoCaptureDestroy(vc); }
304
-
305
- int Failed()
306
- { if (!vc) return 0; else return 1; }
307
-
308
- int Connect(int device)
309
- { return imVideoCaptureConnect(vc, device); }
310
-
311
- void Disconnect()
312
- { imVideoCaptureDisconnect(vc); }
313
-
314
- int DialogCount()
315
- { return imVideoCaptureDialogCount(vc); }
316
-
317
- int ShowDialog(int dialog, void* parent)
318
- { return imVideoCaptureShowDialog(vc, dialog, parent); }
319
-
320
- const char* DialogDescription(int dialog)
321
- { return imVideoCaptureDialogDesc(vc, dialog); }
322
-
323
- int FormatCount()
324
- { return imVideoCaptureFormatCount(vc); }
325
-
326
- int GetFormat(int format, int *width, int *height, char* desc)
327
- { return imVideoCaptureGetFormat(vc, format, width, height, desc); }
328
-
329
- int SetFormat(int format)
330
- { return imVideoCaptureSetFormat(vc, format); }
331
-
332
- void GetImageSize(int *width, int *height)
333
- { imVideoCaptureGetImageSize(vc, width, height); }
334
-
335
- int SetImageSize(int width, int height)
336
- { return imVideoCaptureSetImageSize(vc, width, height); }
337
-
338
- int GetFrame(unsigned char* data, int color_mode, int timeout)
339
- { return imVideoCaptureFrame(vc, data, color_mode, timeout); }
340
-
341
- int GetOneFrame(unsigned char* data, int color_mode)
342
- { return imVideoCaptureOneFrame(vc, data, color_mode); }
343
-
344
- int Live(int live)
345
- { return imVideoCaptureLive(vc, live); }
346
-
347
- int ResetAttribute(const char* attrib, int fauto)
348
- { return imVideoCaptureResetAttribute(vc, attrib, fauto); }
349
-
350
- int GetAttribute(const char* attrib, float *percent)
351
- { return imVideoCaptureGetAttribute(vc, attrib, percent); }
352
-
353
- int SetAttribute(const char* attrib, float percent)
354
- { return imVideoCaptureSetAttribute(vc, attrib, percent); }
355
-
356
- const char** GetAttributeList(int *num_attrib)
357
- { return imVideoCaptureGetAttributeList(vc, num_attrib); }
358
-
359
- protected:
360
- imVideoCapture* vc;
361
- };
362
-
363
- #endif
364
-
365
- #endif
1
+ /** \file
2
+ * \brief Video Capture
3
+ *
4
+ * See Copyright Notice in im.h
5
+ */
6
+
7
+ #ifndef __IM_CAPTURE_H
8
+ #define __IM_CAPTURE_H
9
+
10
+ #if defined(__cplusplus)
11
+ extern "C" {
12
+ #endif
13
+
14
+ /* declarations to create an export library for Watcom. */
15
+ #if ! defined (IM_DECL)
16
+ #if defined (__WATCOMC__)
17
+ #define IM_DECL __cdecl
18
+ #elif defined(__WATCOM_CPLUSPLUS__)
19
+ #define IM_DECL __cdecl
20
+ #else
21
+ #define IM_DECL
22
+ #endif
23
+ #endif
24
+
25
+ /** \defgroup capture Image Capture
26
+ * \par
27
+ * Functions to capture images from live video devices.
28
+ * \par
29
+ * See \ref im_capture.h
30
+ */
31
+
32
+ typedef struct _imVideoCapture imVideoCapture;
33
+
34
+ /** Returns the number of available devices.
35
+ *
36
+ * \verbatim im.VideoCaptureDeviceCount() -> count: number [in Lua 5] \endverbatim
37
+ * \ingroup capture */
38
+ int IM_DECL imVideoCaptureDeviceCount(void);
39
+
40
+ /** Returns the device description. Returns NULL only if it is an invalid device.
41
+ *
42
+ * \verbatim im.VideoCaptureDeviceDesc(device: number) -> desc: string [in Lua 5] \endverbatim
43
+ * \ingroup capture */
44
+ const char* IM_DECL imVideoCaptureDeviceDesc(int device);
45
+
46
+ /** Returns the extendend device description. May return NULL.
47
+ *
48
+ * \verbatim im.VideoCaptureDeviceExDesc(device: number) -> desc: string [in Lua 5] \endverbatim
49
+ * \ingroup capture */
50
+ const char* IM_DECL imVideoCaptureDeviceExDesc(int device);
51
+
52
+ /** Returns the device path configuration. This is a unique string.
53
+ *
54
+ * \verbatim im.VideoCaptureDevicePath(device: number) -> desc: string [in Lua 5] \endverbatim
55
+ * \ingroup capture */
56
+ const char* IM_DECL imVideoCaptureDevicePath(int device);
57
+
58
+ /** Returns the vendor information. May return NULL.
59
+ *
60
+ * \verbatim im.VideoCaptureDeviceVendorInfo(device: number) -> desc: string [in Lua 5] \endverbatim
61
+ * \ingroup capture */
62
+ const char* IM_DECL imVideoCaptureDeviceVendorInfo(int device);
63
+
64
+ /** Reload the device list. The devices can be dynamically removed or added to the system.
65
+ * Returns the number of available devices.
66
+ *
67
+ * \verbatim im.imVideoCaptureReloadDevices() -> count: number [in Lua 5] \endverbatim
68
+ * \ingroup capture */
69
+ int IM_DECL imVideoCaptureReloadDevices(void);
70
+
71
+ /** Creates a new imVideoCapture object. \n
72
+ * Returns NULL if there is no capture device available. \n
73
+ * In Windows returns NULL if DirectX version is older than 8. \n
74
+ * In Lua the IM videocapture metatable name is "imVideoCapture".
75
+ * When converted to a string will return "imVideoCapture(%p)" where %p is replaced by the userdata address.
76
+ * If the videocapture is already destroyed by im.VideoCaptureDestroy, then it will return also the suffix "-destroyed".
77
+ *
78
+ * \verbatim im.VideoCaptureCreate() -> vc: imVideoCapture [in Lua 5] \endverbatim
79
+ * \ingroup capture */
80
+ imVideoCapture* IM_DECL imVideoCaptureCreate(void);
81
+
82
+ /** Destroys a imVideoCapture object. \n
83
+ * In Lua if this function is not called, the videocapture is destroyed by the garbage collector.
84
+ *
85
+ * \verbatim im.VideoCaptureDestroy(vc: imVideoCapture) [in Lua 5] \endverbatim
86
+ * \verbatim vc:Destroy() [in Lua 5] \endverbatim
87
+ * \ingroup capture */
88
+ void IM_DECL imVideoCaptureDestroy(imVideoCapture* vc);
89
+
90
+ /** Connects to a capture device.
91
+ * More than one imVideoCapture object can be created
92
+ * but they must be connected to different devices. \n
93
+ * If the object is conected it will disconnect first. \n
94
+ * Use -1 to return the current connected device,
95
+ * in this case returns -1 if not connected. \n
96
+ * Returns zero if failed.
97
+ *
98
+ * \verbatim vc:Connect([device: number]) -> ret: number [in Lua 5] \endverbatim
99
+ * \ingroup capture */
100
+ int IM_DECL imVideoCaptureConnect(imVideoCapture* vc, int device);
101
+
102
+ /** Disconnect from a capture device.
103
+ *
104
+ * \verbatim vc:Disconnect() [in Lua 5] \endverbatim
105
+ * \ingroup capture */
106
+ void IM_DECL imVideoCaptureDisconnect(imVideoCapture* vc);
107
+
108
+ /** Returns the number of available configuration dialogs.
109
+ *
110
+ * \verbatim vc:DialogCount() -> count: number [in Lua 5] \endverbatim
111
+ * \ingroup capture */
112
+ int IM_DECL imVideoCaptureDialogCount(imVideoCapture* vc);
113
+
114
+ /** Displays a configuration modal dialog of the connected device. \n
115
+ * In Windows, the capturing will be stopped in some cases. \n
116
+ * In Windows parent is a HWND of a parent window, it can be NULL. \n
117
+ * dialog can be from 0 to \ref imVideoCaptureDialogCount. \n
118
+ * Returns zero if failed.
119
+ *
120
+ * \verbatim vc:ShowDialog(dialog: number, parent: userdata) -> error: boolean [in Lua 5] \endverbatim
121
+ * \ingroup capture */
122
+ int IM_DECL imVideoCaptureShowDialog(imVideoCapture* vc, int dialog, void* parent);
123
+
124
+ /** Allows to control the input and output of devices that have multiple input and outputs.
125
+ * The cross index controls in which stage the input/output will be set. Usually use 1, but some capture boards
126
+ * has a second stage. In Direct X it controls the crossbars.
127
+ *
128
+ * \verbatim vc:SetInOut(input, output, cross: number) -> error: boolean [in Lua 5] \endverbatim
129
+ * \ingroup capture */
130
+ int IM_DECL imVideoCaptureSetInOut(imVideoCapture* vc, int input, int output, int cross);
131
+
132
+ /** Returns the description of a configuration dialog.
133
+ * dialog can be from 0 to \ref imVideoCaptureDialogCount. \n
134
+ *
135
+ * \verbatim vc:DialogDesc(dialog: number) -> desc: string [in Lua 5] \endverbatim
136
+ * \ingroup capture */
137
+ const char* IM_DECL imVideoCaptureDialogDesc(imVideoCapture* vc, int dialog);
138
+
139
+ /** Returns the number of available video formats. \n
140
+ * Returns zero if failed.
141
+ *
142
+ * \verbatim vc:FormatCount() -> count: number [in Lua 5] \endverbatim
143
+ * \ingroup capture */
144
+ int IM_DECL imVideoCaptureFormatCount(imVideoCapture* vc);
145
+
146
+ /** Returns information about the video format. \n
147
+ * format can be from 0 to \ref imVideoCaptureFormatCount. \n
148
+ * desc should be of size 10. \n
149
+ * The image size is usually the maximum size for that format.
150
+ * Other sizes can be available using \ref imVideoCaptureSetImageSize. \n
151
+ * Returns zero if failed.
152
+ *
153
+ * \verbatim vc:GetFormat(format: number) -> error: boolean, width: number, height: number, desc: string [in Lua 5] \endverbatim
154
+ * \ingroup capture */
155
+ int IM_DECL imVideoCaptureGetFormat(imVideoCapture* vc, int format, int *width, int *height, char* desc);
156
+
157
+ /** Changes the video format of the connected device. \n
158
+ * Should NOT work for DV devices. Use \ref imVideoCaptureSetImageSize only. \n
159
+ * Use -1 to return the current format, in this case returns -1 if failed. \n
160
+ * When the format is changed in the dialog, for some formats
161
+ * the returned format is the preferred format, not the current format. \n
162
+ * This will not affect color_mode of the capture image. \n
163
+ * Returns zero if failed.
164
+ *
165
+ * \verbatim vc:SetFormat([format: number]) -> error: boolean | format: number [in Lua 5] \endverbatim
166
+ * \ingroup capture */
167
+ int IM_DECL imVideoCaptureSetFormat(imVideoCapture* vc, int format);
168
+
169
+ /** Returns the current image size of the connected device. \n
170
+ * width and height returns 0 if not connected.
171
+ *
172
+ * \verbatim vc:GetImageSize() -> width: number, height: number [in Lua 5] \endverbatim
173
+ * \ingroup capture */
174
+ void IM_DECL imVideoCaptureGetImageSize(imVideoCapture* vc, int *width, int *height);
175
+
176
+ /** Changes the image size of the connected device. \n
177
+ * Similar to \ref imVideoCaptureSetFormat, but changes only the size. \n
178
+ * Valid sizes can be obtained with \ref imVideoCaptureGetFormat. \n
179
+ * Returns zero if failed.
180
+ *
181
+ * \verbatim vc:SetImageSize(width: number, height: number) -> error: boolean [in Lua 5] \endverbatim
182
+ * \ingroup capture */
183
+ int IM_DECL imVideoCaptureSetImageSize(imVideoCapture* vc, int width, int height);
184
+
185
+ /** Returns a new captured frame. Use -1 for infinite timeout. \n
186
+ * Color space can be IM_RGB or IM_GRAY, and mode can be packed (IM_PACKED) or not. \n
187
+ * Data type is always IM_BYTE. \n
188
+ * It can not have an alpha channel and orientation is always bottom up. \n
189
+ * Returns zero if failed or timeout expired, the buffer is not changed.
190
+ *
191
+ * \verbatim vc:Frame(image: imImage, timeout: number) -> error: boolean [in Lua 5] \endverbatim
192
+ * \ingroup capture */
193
+ int IM_DECL imVideoCaptureFrame(imVideoCapture* vc, unsigned char* data, int color_mode, int timeout);
194
+
195
+ /** Start capturing, returns the new captured frame and stop capturing. \n
196
+ * This is more usefull if you are switching between devices. \n
197
+ * Data format is the same as imVideoCaptureFrame. \n
198
+ * Returns zero if failed.
199
+ *
200
+ * \verbatim vc:OneFrame(image: imImage) -> error: boolean [in Lua 5] \endverbatim
201
+ * \ingroup capture */
202
+ int IM_DECL imVideoCaptureOneFrame(imVideoCapture* vc, unsigned char* data, int color_mode);
203
+
204
+ /** Start capturing. \n
205
+ * Use -1 to return the current state. \n
206
+ * Returns zero if failed.
207
+ *
208
+ * \verbatim vc:Live([live: number]) -> error: boolean | live: number [in Lua 5] \endverbatim
209
+ * \ingroup capture */
210
+ int IM_DECL imVideoCaptureLive(imVideoCapture* vc, int live);
211
+
212
+ /** Resets a camera or video attribute to the default value or
213
+ * to the automatic setting. \n
214
+ * Not all attributes support automatic modes. \n
215
+ * Returns zero if failed.
216
+ *
217
+ * \verbatim vc:ResetAttribute(attrib: string, fauto: boolean) -> error: boolean [in Lua 5] \endverbatim
218
+ * \ingroup capture */
219
+ int IM_DECL imVideoCaptureResetAttribute(imVideoCapture* vc, const char* attrib, int fauto);
220
+
221
+ /** Returns a camera or video attribute in percentage of the valid range value. \n
222
+ * Returns zero if failed or attribute not supported.
223
+ *
224
+ * \verbatim vc:GetAttribute(attrib: string) -> error: boolean, percent: number [in Lua 5] \endverbatim
225
+ * \ingroup capture */
226
+ int IM_DECL imVideoCaptureGetAttribute(imVideoCapture* vc, const char* attrib, float *percent);
227
+
228
+ /** Changes a camera or video attribute in percentage of the valid range value. \n
229
+ * Returns zero if failed or attribute not supported.
230
+ *
231
+ * \verbatim vc:SetAttribute(attrib: string, percent: number) -> error: boolean [in Lua 5] \endverbatim
232
+ * \ingroup capture */
233
+ int IM_DECL imVideoCaptureSetAttribute(imVideoCapture* vc, const char* attrib, float percent);
234
+
235
+ /** Returns a list of the description of the valid attributes for the device class. \n
236
+ * But each device may still not support some of the returned attributes. \n
237
+ * Use the return value of \ref imVideoCaptureGetAttribute to check if the attribute is supported.
238
+ *
239
+ * \verbatim vc:GetAttributeList() -> attrib_list: table of strings [in Lua 5] \endverbatim
240
+ * \ingroup capture */
241
+ const char** IM_DECL imVideoCaptureGetAttributeList(imVideoCapture* vc, int *num_attrib);
242
+
243
+
244
+ /** \defgroup winattrib Windows Attributes Names
245
+ * Not all attributes are supported by each device.
246
+ * Use the return value of \ref imVideoCaptureGetAttribute to check if the attribute is supported.
247
+ \verbatim
248
+ VideoBrightness - Specifies the brightness, also called the black level.
249
+ VideoContrast - Specifies the contrast, expressed as gain factor.
250
+ VideoHue - Specifies the hue angle.
251
+ VideoSaturation - Specifies the saturation.
252
+ VideoSharpness - Specifies the sharpness.
253
+ VideoGamma - Specifies the gamma.
254
+ VideoColorEnable - Specifies the color enable setting. (0/100)
255
+ VideoWhiteBalance - Specifies the white balance, as a color temperature in degrees Kelvin.
256
+ VideoBacklightCompensation - Specifies the backlight compensation setting. (0/100)
257
+ VideoGain - Specifies the gain adjustment.
258
+ CameraPanAngle - Specifies the camera's pan angle. To 100 rotate right, To 0 rotate left (view from above).
259
+ CameraTiltAngle - Specifies the camera's tilt angle. To 100 rotate up, To 0 rotate down.
260
+ CameraRollAngle - Specifies the camera's roll angle. To 100 rotate right, To 0 rotate left.
261
+ CameraLensZoom - Specifies the camera's zoom setting.
262
+ CameraExposure - Specifies the exposure setting.
263
+ CameraIris - Specifies the camera's iris setting.
264
+ CameraFocus - Specifies the camera's focus setting, as the distance to the optimally focused target.
265
+ FlipHorizontal - Specifies the video will be flipped in the horizontal direction.
266
+ FlipVertical - Specifies the video will be flipped in the vertical direction.
267
+ AnalogFormat - Specifies the video format standard NTSC, PAL, etc. Valid values:
268
+ NTSC_M = 0
269
+ NTSC_M_J = 1
270
+ NTSC_433 = 2
271
+ PAL_B = 3
272
+ PAL_D = 4
273
+ PAL_H = 5
274
+ PAL_I = 6
275
+ PAL_M = 7
276
+ PAL_N = 8
277
+ PAL_60 = 9
278
+ SECAM_B = 10
279
+ SECAM_D = 11
280
+ SECAM_G = 12
281
+ SECAM_H = 13
282
+ SECAM_K = 14
283
+ SECAM_K1 = 15
284
+ SECAM_L = 16
285
+ SECAM_L1 = 17
286
+ PAL_N_COMBO = 18
287
+ \endverbatim
288
+ * \ingroup capture */
289
+
290
+
291
+ #if defined(__cplusplus)
292
+ }
293
+
294
+ /** A C++ Wrapper for the imVideoCapture structure functions.
295
+ * \ingroup capture */
296
+ class imCapture
297
+ {
298
+ public:
299
+ imCapture()
300
+ { vc = imVideoCaptureCreate(); }
301
+
302
+ ~imCapture()
303
+ { if (vc) imVideoCaptureDestroy(vc); }
304
+
305
+ int Failed()
306
+ { if (!vc) return 0; else return 1; }
307
+
308
+ int Connect(int device)
309
+ { return imVideoCaptureConnect(vc, device); }
310
+
311
+ void Disconnect()
312
+ { imVideoCaptureDisconnect(vc); }
313
+
314
+ int DialogCount()
315
+ { return imVideoCaptureDialogCount(vc); }
316
+
317
+ int ShowDialog(int dialog, void* parent)
318
+ { return imVideoCaptureShowDialog(vc, dialog, parent); }
319
+
320
+ const char* DialogDescription(int dialog)
321
+ { return imVideoCaptureDialogDesc(vc, dialog); }
322
+
323
+ int FormatCount()
324
+ { return imVideoCaptureFormatCount(vc); }
325
+
326
+ int GetFormat(int format, int *width, int *height, char* desc)
327
+ { return imVideoCaptureGetFormat(vc, format, width, height, desc); }
328
+
329
+ int SetFormat(int format)
330
+ { return imVideoCaptureSetFormat(vc, format); }
331
+
332
+ void GetImageSize(int *width, int *height)
333
+ { imVideoCaptureGetImageSize(vc, width, height); }
334
+
335
+ int SetImageSize(int width, int height)
336
+ { return imVideoCaptureSetImageSize(vc, width, height); }
337
+
338
+ int GetFrame(unsigned char* data, int color_mode, int timeout)
339
+ { return imVideoCaptureFrame(vc, data, color_mode, timeout); }
340
+
341
+ int GetOneFrame(unsigned char* data, int color_mode)
342
+ { return imVideoCaptureOneFrame(vc, data, color_mode); }
343
+
344
+ int Live(int live)
345
+ { return imVideoCaptureLive(vc, live); }
346
+
347
+ int ResetAttribute(const char* attrib, int fauto)
348
+ { return imVideoCaptureResetAttribute(vc, attrib, fauto); }
349
+
350
+ int GetAttribute(const char* attrib, float *percent)
351
+ { return imVideoCaptureGetAttribute(vc, attrib, percent); }
352
+
353
+ int SetAttribute(const char* attrib, float percent)
354
+ { return imVideoCaptureSetAttribute(vc, attrib, percent); }
355
+
356
+ const char** GetAttributeList(int *num_attrib)
357
+ { return imVideoCaptureGetAttributeList(vc, num_attrib); }
358
+
359
+ protected:
360
+ imVideoCapture* vc;
361
+ };
362
+
363
+ #endif
364
+
365
+ #endif