ruby-iup 0.0.1

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 (323) hide show
  1. data/Rakefile +97 -0
  2. data/doc/README +10 -0
  3. data/doc/build_install.txt +77 -0
  4. data/examples/README +16 -0
  5. data/examples/ctrl/cbox.rb +221 -0
  6. data/examples/ctrl/checkboard.rb +33 -0
  7. data/examples/ctrl/degrade.rb +73 -0
  8. data/examples/ctrl/example1.rb +53 -0
  9. data/examples/ctrl/example2.rb +39 -0
  10. data/examples/ctrl/iupcolorbar.rb +95 -0
  11. data/examples/ctrl/iupcolorbrowser.rb +45 -0
  12. data/examples/ctrl/iupdial.rb +117 -0
  13. data/examples/ctrl/iupgauge.rb +242 -0
  14. data/examples/ctrl/iupgetcolor.rb +8 -0
  15. data/examples/ctrl/iupgetparam.rb +62 -0
  16. data/examples/ctrl/iupglcanvas.rb +172 -0
  17. data/examples/ctrl/iupmask.rb +15 -0
  18. data/examples/ctrl/iupmatrix.rb +39 -0
  19. data/examples/ctrl/iupplot2.rb +603 -0
  20. data/examples/ctrl/iuptabs.rb +22 -0
  21. data/examples/ctrl/iuptree.rb +190 -0
  22. data/examples/ctrl/iupval.rb +71 -0
  23. data/examples/ctrl/numbering.rb +46 -0
  24. data/examples/ctrl/sample.rb +166 -0
  25. data/examples/dlg/iupalarm.rb +14 -0
  26. data/examples/dlg/iupfiledlg.rb +19 -0
  27. data/examples/dlg/iupgetfile.rb +19 -0
  28. data/examples/dlg/iuplistdialog.rb +26 -0
  29. data/examples/dlg/iupmessage.rb +5 -0
  30. data/examples/dlg/iupscanf.rb +17 -0
  31. data/examples/elem/iupbutton.rb +197 -0
  32. data/examples/elem/iupcanvas.rb +27 -0
  33. data/examples/elem/iupcanvas2.rb +113 -0
  34. data/examples/elem/iupcanvas3.rb +62 -0
  35. data/examples/elem/iupdialog.rb +71 -0
  36. data/examples/elem/iupdialog2.rb +25 -0
  37. data/examples/elem/iupfill.rb +51 -0
  38. data/examples/elem/iupframe.rb +25 -0
  39. data/examples/elem/iuphbox.rb +68 -0
  40. data/examples/elem/iupimage.rb +113 -0
  41. data/examples/elem/iupitem.rb +60 -0
  42. data/examples/elem/iuplabel.rb +57 -0
  43. data/examples/elem/iuplist.rb +41 -0
  44. data/examples/elem/iuplist2.rb +125 -0
  45. data/examples/elem/iupmenu.rb +32 -0
  46. data/examples/elem/iupmultiline.rb +24 -0
  47. data/examples/elem/iupmultiline2.rb +156 -0
  48. data/examples/elem/iupradio.rb +32 -0
  49. data/examples/elem/iupseparator.rb +81 -0
  50. data/examples/elem/iupsubmenu.rb +85 -0
  51. data/examples/elem/iuptext.rb +61 -0
  52. data/examples/elem/iuptimer.rb +36 -0
  53. data/examples/elem/iuptoggle.rb +110 -0
  54. data/examples/elem/iupvbox.rb +87 -0
  55. data/examples/elem/iupzbox.rb +60 -0
  56. data/examples/elem/mdisample.rb +376 -0
  57. data/examples/elem/progressbar.rb +294 -0
  58. data/examples/elem/scrollbar.rb +66 -0
  59. data/examples/elem/tray.rb +90 -0
  60. data/examples/func/iupgetattribute.rb +32 -0
  61. data/examples/func/iupidle.rb +48 -0
  62. data/ext/extconf.rb +27 -0
  63. data/ext/iup-linux/include/cd.h +494 -0
  64. data/ext/iup-linux/include/cd_canvas.hpp +358 -0
  65. data/ext/iup-linux/include/cd_old.h +158 -0
  66. data/ext/iup-linux/include/cd_private.h +362 -0
  67. data/ext/iup-linux/include/cdcgm.h +34 -0
  68. data/ext/iup-linux/include/cdclipbd.h +22 -0
  69. data/ext/iup-linux/include/cddbuf.h +23 -0
  70. data/ext/iup-linux/include/cddebug.h +24 -0
  71. data/ext/iup-linux/include/cddgn.h +23 -0
  72. data/ext/iup-linux/include/cddxf.h +22 -0
  73. data/ext/iup-linux/include/cdemf.h +22 -0
  74. data/ext/iup-linux/include/cdgdiplus.h +29 -0
  75. data/ext/iup-linux/include/cdimage.h +23 -0
  76. data/ext/iup-linux/include/cdirgb.h +30 -0
  77. data/ext/iup-linux/include/cdiup.h +22 -0
  78. data/ext/iup-linux/include/cdlua.h +39 -0
  79. data/ext/iup-linux/include/cdlua3_private.h +120 -0
  80. data/ext/iup-linux/include/cdlua5_private.h +141 -0
  81. data/ext/iup-linux/include/cdluaim.h +24 -0
  82. data/ext/iup-linux/include/cdluaiup.h +27 -0
  83. data/ext/iup-linux/include/cdluapdf.h +27 -0
  84. data/ext/iup-linux/include/cdmf.h +24 -0
  85. data/ext/iup-linux/include/cdmf_private.h +32 -0
  86. data/ext/iup-linux/include/cdnative.h +26 -0
  87. data/ext/iup-linux/include/cdpdf.h +38 -0
  88. data/ext/iup-linux/include/cdpicture.h +22 -0
  89. data/ext/iup-linux/include/cdprint.h +23 -0
  90. data/ext/iup-linux/include/cdps.h +37 -0
  91. data/ext/iup-linux/include/cdwmf.h +22 -0
  92. data/ext/iup-linux/include/im.h +282 -0
  93. data/ext/iup-linux/include/im_attrib.h +116 -0
  94. data/ext/iup-linux/include/im_attrib_flat.h +39 -0
  95. data/ext/iup-linux/include/im_binfile.h +214 -0
  96. data/ext/iup-linux/include/im_capture.h +365 -0
  97. data/ext/iup-linux/include/im_color.h +465 -0
  98. data/ext/iup-linux/include/im_colorhsi.h +61 -0
  99. data/ext/iup-linux/include/im_complex.h +160 -0
  100. data/ext/iup-linux/include/im_convert.h +127 -0
  101. data/ext/iup-linux/include/im_counter.h +69 -0
  102. data/ext/iup-linux/include/im_dib.h +195 -0
  103. data/ext/iup-linux/include/im_file.h +111 -0
  104. data/ext/iup-linux/include/im_format.h +79 -0
  105. data/ext/iup-linux/include/im_format_all.h +576 -0
  106. data/ext/iup-linux/include/im_format_avi.h +87 -0
  107. data/ext/iup-linux/include/im_format_ecw.h +93 -0
  108. data/ext/iup-linux/include/im_format_jp2.h +78 -0
  109. data/ext/iup-linux/include/im_format_raw.h +64 -0
  110. data/ext/iup-linux/include/im_format_wmv.h +100 -0
  111. data/ext/iup-linux/include/im_image.h +403 -0
  112. data/ext/iup-linux/include/im_kernel.h +315 -0
  113. data/ext/iup-linux/include/im_lib.h +191 -0
  114. data/ext/iup-linux/include/im_math.h +368 -0
  115. data/ext/iup-linux/include/im_math_op.h +219 -0
  116. data/ext/iup-linux/include/im_palette.h +172 -0
  117. data/ext/iup-linux/include/im_plus.h +73 -0
  118. data/ext/iup-linux/include/im_process.h +35 -0
  119. data/ext/iup-linux/include/im_process_ana.h +221 -0
  120. data/ext/iup-linux/include/im_process_glo.h +170 -0
  121. data/ext/iup-linux/include/im_process_loc.h +577 -0
  122. data/ext/iup-linux/include/im_process_pon.h +712 -0
  123. data/ext/iup-linux/include/im_raw.h +34 -0
  124. data/ext/iup-linux/include/im_util.h +277 -0
  125. data/ext/iup-linux/include/imlua.h +83 -0
  126. data/ext/iup-linux/include/iup.h +255 -0
  127. data/ext/iup-linux/include/iup_pplot.h +40 -0
  128. data/ext/iup-linux/include/iupcb.h +25 -0
  129. data/ext/iup-linux/include/iupcbox.h +23 -0
  130. data/ext/iup-linux/include/iupcbs.h +42 -0
  131. data/ext/iup-linux/include/iupcells.h +130 -0
  132. data/ext/iup-linux/include/iupcolorbar.h +126 -0
  133. data/ext/iup-linux/include/iupcompat.h +62 -0
  134. data/ext/iup-linux/include/iupcontrols.h +40 -0
  135. data/ext/iup-linux/include/iupcpi.h +76 -0
  136. data/ext/iup-linux/include/iupdef.h +520 -0
  137. data/ext/iup-linux/include/iupdial.h +64 -0
  138. data/ext/iup-linux/include/iupgauge.h +57 -0
  139. data/ext/iup-linux/include/iupgc.h +20 -0
  140. data/ext/iup-linux/include/iupgetparam.h +27 -0
  141. data/ext/iup-linux/include/iupgl.h +101 -0
  142. data/ext/iup-linux/include/iupim.h +21 -0
  143. data/ext/iup-linux/include/iupkey.h +290 -0
  144. data/ext/iup-linux/include/iuplua.h +41 -0
  145. data/ext/iup-linux/include/iuplua_pplot.h +26 -0
  146. data/ext/iup-linux/include/iupluacontrols.h +27 -0
  147. data/ext/iup-linux/include/iupluagl.h +26 -0
  148. data/ext/iup-linux/include/iupluaim.h +26 -0
  149. data/ext/iup-linux/include/iupluaole.h +26 -0
  150. data/ext/iup-linux/include/iupmask.h +52 -0
  151. data/ext/iup-linux/include/iupmatrix.h +69 -0
  152. data/ext/iup-linux/include/iupole.h +24 -0
  153. data/ext/iup-linux/include/iupsbox.h +20 -0
  154. data/ext/iup-linux/include/iupspeech.h +23 -0
  155. data/ext/iup-linux/include/iupspin.h +21 -0
  156. data/ext/iup-linux/include/iuptabs.h +79 -0
  157. data/ext/iup-linux/include/iuptree.h +93 -0
  158. data/ext/iup-linux/include/iupval.h +46 -0
  159. data/ext/iup-linux/include/lauxlib.h +174 -0
  160. data/ext/iup-linux/include/lua.h +388 -0
  161. data/ext/iup-linux/include/lua.hpp +9 -0
  162. data/ext/iup-linux/include/luaconf.h +763 -0
  163. data/ext/iup-linux/include/lualib.h +53 -0
  164. data/ext/iup-linux/include/old_im.h +59 -0
  165. data/ext/iup-linux/include/wd.h +78 -0
  166. data/ext/iup-linux/include/wd_old.h +85 -0
  167. data/ext/iup-linux/libcd.so +0 -0
  168. data/ext/iup-linux/libcdcontextplus.so +0 -0
  169. data/ext/iup-linux/libcdluacontextplus51.so +0 -0
  170. data/ext/iup-linux/libcdpdf.so +0 -0
  171. data/ext/iup-linux/libfreetype.so +0 -0
  172. data/ext/iup-linux/libim.so +0 -0
  173. data/ext/iup-linux/libim_fftw.so +0 -0
  174. data/ext/iup-linux/libim_jp2.so +0 -0
  175. data/ext/iup-linux/libim_process.so +0 -0
  176. data/ext/iup-linux/libiup.so +0 -0
  177. data/ext/iup-linux/libiup_pplot.so +0 -0
  178. data/ext/iup-linux/libiupcd.so +0 -0
  179. data/ext/iup-linux/libiupcontrols.so +0 -0
  180. data/ext/iup-linux/libiupgl.so +0 -0
  181. data/ext/iup-linux/libiupim.so +0 -0
  182. data/ext/iup-linux/libiupimglib.so +0 -0
  183. data/ext/iup-linux/libpdflib.so +0 -0
  184. data/ext/iup-win32/cd.dll +0 -0
  185. data/ext/iup-win32/cd.lib +0 -0
  186. data/ext/iup-win32/cdcontextplus.dll +0 -0
  187. data/ext/iup-win32/cdcontextplus.lib +0 -0
  188. data/ext/iup-win32/cdlua51.lib +0 -0
  189. data/ext/iup-win32/cdluacontextplus51.lib +0 -0
  190. data/ext/iup-win32/cdluaim51.lib +0 -0
  191. data/ext/iup-win32/cdluapdf51.lib +0 -0
  192. data/ext/iup-win32/cdpdf.dll +0 -0
  193. data/ext/iup-win32/cdpdf.lib +0 -0
  194. data/ext/iup-win32/freetype6.dll +0 -0
  195. data/ext/iup-win32/freetype6.lib +0 -0
  196. data/ext/iup-win32/im.dll +0 -0
  197. data/ext/iup-win32/im_avi.dll +0 -0
  198. data/ext/iup-win32/im_capture.dll +0 -0
  199. data/ext/iup-win32/im_ecw.dll +0 -0
  200. data/ext/iup-win32/im_fftw.dll +0 -0
  201. data/ext/iup-win32/im_jp2.dll +0 -0
  202. data/ext/iup-win32/im_process.dll +0 -0
  203. data/ext/iup-win32/im_wmv.dll +0 -0
  204. data/ext/iup-win32/include/cd.h +494 -0
  205. data/ext/iup-win32/include/cd_canvas.hpp +358 -0
  206. data/ext/iup-win32/include/cd_old.h +158 -0
  207. data/ext/iup-win32/include/cd_private.h +362 -0
  208. data/ext/iup-win32/include/cdcgm.h +34 -0
  209. data/ext/iup-win32/include/cdclipbd.h +22 -0
  210. data/ext/iup-win32/include/cddbuf.h +23 -0
  211. data/ext/iup-win32/include/cddebug.h +24 -0
  212. data/ext/iup-win32/include/cddgn.h +23 -0
  213. data/ext/iup-win32/include/cddxf.h +22 -0
  214. data/ext/iup-win32/include/cdemf.h +22 -0
  215. data/ext/iup-win32/include/cdgdiplus.h +29 -0
  216. data/ext/iup-win32/include/cdimage.h +23 -0
  217. data/ext/iup-win32/include/cdirgb.h +30 -0
  218. data/ext/iup-win32/include/cdiup.h +22 -0
  219. data/ext/iup-win32/include/cdlua.h +39 -0
  220. data/ext/iup-win32/include/cdlua3_private.h +120 -0
  221. data/ext/iup-win32/include/cdlua5_private.h +141 -0
  222. data/ext/iup-win32/include/cdluaim.h +24 -0
  223. data/ext/iup-win32/include/cdluaiup.h +27 -0
  224. data/ext/iup-win32/include/cdluapdf.h +27 -0
  225. data/ext/iup-win32/include/cdmf.h +24 -0
  226. data/ext/iup-win32/include/cdmf_private.h +32 -0
  227. data/ext/iup-win32/include/cdnative.h +26 -0
  228. data/ext/iup-win32/include/cdpdf.h +38 -0
  229. data/ext/iup-win32/include/cdpicture.h +22 -0
  230. data/ext/iup-win32/include/cdprint.h +23 -0
  231. data/ext/iup-win32/include/cdps.h +37 -0
  232. data/ext/iup-win32/include/cdwmf.h +22 -0
  233. data/ext/iup-win32/include/iup.h +255 -0
  234. data/ext/iup-win32/include/iup_pplot.h +40 -0
  235. data/ext/iup-win32/include/iupcb.h +25 -0
  236. data/ext/iup-win32/include/iupcbox.h +23 -0
  237. data/ext/iup-win32/include/iupcbs.h +42 -0
  238. data/ext/iup-win32/include/iupcells.h +130 -0
  239. data/ext/iup-win32/include/iupcolorbar.h +126 -0
  240. data/ext/iup-win32/include/iupcompat.h +62 -0
  241. data/ext/iup-win32/include/iupcontrols.h +40 -0
  242. data/ext/iup-win32/include/iupcpi.h +76 -0
  243. data/ext/iup-win32/include/iupdef.h +520 -0
  244. data/ext/iup-win32/include/iupdial.h +64 -0
  245. data/ext/iup-win32/include/iupgauge.h +57 -0
  246. data/ext/iup-win32/include/iupgc.h +20 -0
  247. data/ext/iup-win32/include/iupgetparam.h +27 -0
  248. data/ext/iup-win32/include/iupgl.h +101 -0
  249. data/ext/iup-win32/include/iupim.h +21 -0
  250. data/ext/iup-win32/include/iupkey.h +290 -0
  251. data/ext/iup-win32/include/iuplua.h +41 -0
  252. data/ext/iup-win32/include/iuplua_pplot.h +26 -0
  253. data/ext/iup-win32/include/iupluacontrols.h +27 -0
  254. data/ext/iup-win32/include/iupluagl.h +26 -0
  255. data/ext/iup-win32/include/iupluaim.h +26 -0
  256. data/ext/iup-win32/include/iupluaole.h +26 -0
  257. data/ext/iup-win32/include/iupmask.h +52 -0
  258. data/ext/iup-win32/include/iupmatrix.h +69 -0
  259. data/ext/iup-win32/include/iupole.h +24 -0
  260. data/ext/iup-win32/include/iupsbox.h +20 -0
  261. data/ext/iup-win32/include/iupspeech.h +23 -0
  262. data/ext/iup-win32/include/iupspin.h +21 -0
  263. data/ext/iup-win32/include/iuptabs.h +79 -0
  264. data/ext/iup-win32/include/iuptree.h +93 -0
  265. data/ext/iup-win32/include/iupval.h +46 -0
  266. data/ext/iup-win32/include/wd.h +78 -0
  267. data/ext/iup-win32/include/wd_old.h +85 -0
  268. data/ext/iup-win32/iup.dll +0 -0
  269. data/ext/iup-win32/iup.lib +0 -0
  270. data/ext/iup-win32/iup_pplot.dll +0 -0
  271. data/ext/iup-win32/iup_pplot.lib +0 -0
  272. data/ext/iup-win32/iupcd.dll +0 -0
  273. data/ext/iup-win32/iupcd.lib +0 -0
  274. data/ext/iup-win32/iupcontrols.dll +0 -0
  275. data/ext/iup-win32/iupcontrols.lib +0 -0
  276. data/ext/iup-win32/iupgl.dll +0 -0
  277. data/ext/iup-win32/iupgl.lib +0 -0
  278. data/ext/iup-win32/iupim.dll +0 -0
  279. data/ext/iup-win32/iupim.lib +0 -0
  280. data/ext/iup-win32/iupimglib.dll +0 -0
  281. data/ext/iup-win32/iupimglib.lib +0 -0
  282. data/ext/iup-win32/iuplua51.lib +0 -0
  283. data/ext/iup-win32/iuplua_pplot51.lib +0 -0
  284. data/ext/iup-win32/iupluacd51.lib +0 -0
  285. data/ext/iup-win32/iupluacontrols51.lib +0 -0
  286. data/ext/iup-win32/iupluagl51.lib +0 -0
  287. data/ext/iup-win32/iupluaim51.lib +0 -0
  288. data/ext/iup-win32/iupluaimglib51.lib +0 -0
  289. data/ext/iup-win32/iupluaole51.lib +0 -0
  290. data/ext/iup-win32/iupole.dll +0 -0
  291. data/ext/iup-win32/iupole.lib +0 -0
  292. data/ext/iup-win32/iupstub.lib +0 -0
  293. data/ext/iup-win32/pdflib.dll +0 -0
  294. data/ext/iup-win32/pdflib.lib +0 -0
  295. data/ext/iup.c +1261 -0
  296. data/ext/mkrf_conf.rb +72 -0
  297. data/ext/rb_cd.h +1525 -0
  298. data/ext/rb_iup.h +2446 -0
  299. data/ext/rb_iup_pplot.h +129 -0
  300. data/ext/rb_iupcb.h +13 -0
  301. data/ext/rb_iupcbox.h +40 -0
  302. data/ext/rb_iupcells.h +15 -0
  303. data/ext/rb_iupcolorbar.h +17 -0
  304. data/ext/rb_iupcompat.h +237 -0
  305. data/ext/rb_iupcontrols.h +28 -0
  306. data/ext/rb_iupdef.h +3 -0
  307. data/ext/rb_iupdial.h +24 -0
  308. data/ext/rb_iupgauge.h +15 -0
  309. data/ext/rb_iupgc.h +18 -0
  310. data/ext/rb_iupgetparam.h +72 -0
  311. data/ext/rb_iupgl.h +58 -0
  312. data/ext/rb_iupim.h +25 -0
  313. data/ext/rb_iupmask.h +189 -0
  314. data/ext/rb_iupmatrix.h +80 -0
  315. data/ext/rb_iupole.h +24 -0
  316. data/ext/rb_iupsbox.h +23 -0
  317. data/ext/rb_iupspeech.h +25 -0
  318. data/ext/rb_iupspin.h +29 -0
  319. data/ext/rb_iuptabs.h +29 -0
  320. data/ext/rb_iuptree.h +94 -0
  321. data/ext/rb_iupval.h +24 -0
  322. data/lib/README +1 -0
  323. metadata +391 -0
@@ -0,0 +1,34 @@
1
+ /** \file
2
+ * \brief RAW File Format
3
+ *
4
+ * See Copyright Notice in im_lib.h
5
+ */
6
+
7
+ #ifndef __IM_RAW_H
8
+ #define __IM_RAW_H
9
+
10
+ #if defined(__cplusplus)
11
+ extern "C" {
12
+ #endif
13
+
14
+
15
+ /** Opens a RAW image file.
16
+ * See also \ref imErrorCodes.
17
+ *
18
+ * \verbatim im.FileOpenRaw(file_name: string) -> ifile: imFile, error: number [in Lua 5] \endverbatim
19
+ * \ingroup raw */
20
+ imFile* imFileOpenRaw(const char* file_name, int *error);
21
+
22
+ /** Creates a RAW image file.
23
+ * See also \ref imErrorCodes.
24
+ *
25
+ * \verbatim im.FileNewRaw(file_name: string) -> ifile: imFile, error: number [in Lua 5] \endverbatim
26
+ * \ingroup raw */
27
+ imFile* imFileNewRaw(const char* file_name, int *error);
28
+
29
+
30
+ #if defined(__cplusplus)
31
+ }
32
+ #endif
33
+
34
+ #endif
@@ -0,0 +1,277 @@
1
+ /** \file
2
+ * \brief Utilities
3
+ *
4
+ * See Copyright Notice in im_lib.h
5
+ */
6
+
7
+ #ifndef __IM_UTIL_H
8
+ #define __IM_UTIL_H
9
+
10
+ #if defined(__cplusplus)
11
+ extern "C" {
12
+ #endif
13
+
14
+
15
+ /** \defgroup util Utilities
16
+ * \par
17
+ * See \ref im_util.h
18
+ * @{
19
+ */
20
+
21
+ #define IM_MIN(_a, _b) (_a < _b? _a: _b)
22
+ #define IM_MAX(_a, _b) (_a > _b? _a: _b)
23
+
24
+ /** @} */
25
+
26
+
27
+ /** \defgroup str String Utilities
28
+ * \par
29
+ * See \ref im_util.h
30
+ * \ingroup util */
31
+
32
+ /** Check if the two strings are equal.
33
+ * \ingroup str */
34
+ int imStrEqual(const char* str1, const char* str2);
35
+
36
+ /** Calculate the size of the string but limited to max_len.
37
+ * \ingroup str */
38
+ int imStrNLen(const char* str, int max_len);
39
+
40
+ /** Check if the data is a string.
41
+ * \ingroup str */
42
+ int imStrCheck(const void* data, int count);
43
+
44
+
45
+
46
+ /** \defgroup imageutil Raw Data Utilities
47
+ * \par
48
+ * See \ref im_util.h
49
+ * \ingroup imagerep */
50
+
51
+ /** Returns the size of the data buffer.
52
+ *
53
+ * \verbatim im.ImageDataSize(width: number, height: number, color_mode: number, data_type: number) -> datasize: number [in Lua 5] \endverbatim
54
+ * \ingroup imageutil */
55
+ int imImageDataSize(int width, int height, int color_mode, int data_type);
56
+
57
+ /** Returns the size of one line of the data buffer. \n
58
+ * This depends if the components are packed. If packed includes all components, if not includes only one.
59
+ *
60
+ * \verbatim im.ImageLineSize(width: number, color_mode: number, data_type: number) -> linesize: number [in Lua 5] \endverbatim
61
+ * \ingroup imageutil */
62
+ int imImageLineSize(int width, int color_mode, int data_type);
63
+
64
+ /** Returns the number of elements of one line of the data buffer. \n
65
+ * This depends if the components are packed. If packed includes all components, if not includes only one.
66
+ *
67
+ * \verbatim im.ImageLineCount(width: number, color_mode: number) -> linecount: number [in Lua 5] \endverbatim
68
+ * \ingroup imageutil */
69
+ int imImageLineCount(int width, int color_mode);
70
+
71
+ /** Check if the combination color_mode+data_type is valid.
72
+ *
73
+ * \verbatim im.ImageCheckFormat(color_mode: number, data_type: number) -> check: boolean [in Lua 5] \endverbatim
74
+ * \ingroup imageutil */
75
+ int imImageCheckFormat(int color_mode, int data_type);
76
+
77
+
78
+
79
+ /** \defgroup colorutl Color Utilities
80
+ * \par
81
+ * See \ref im_util.h
82
+ * \ingroup util */
83
+
84
+ /** Encode RGB components in a long for palete usage. \n
85
+ * "long" definition is compatible with the CD library definition.
86
+ *
87
+ * \verbatim im.ColorEncode(red: number, green: number, blue: number) -> color: lightuserdata [in Lua 5] \endverbatim
88
+ * \ingroup colorutl */
89
+ long imColorEncode(unsigned char red, unsigned char green, unsigned char blue);
90
+
91
+ /** Decode RGB components from a long for palete usage. \n
92
+ * "long" definition is compatible with the CD library definition.
93
+ *
94
+ * \verbatim im.ColorDecode(color: lightuserdata) -> red: number, green: number, blue: number [in Lua 5] \endverbatim
95
+ * \ingroup colorutl */
96
+ void imColorDecode(unsigned char *red, unsigned char *green, unsigned char *blue, long color);
97
+
98
+
99
+
100
+ /** \defgroup colormodeutl Color Mode Utilities
101
+ * \par
102
+ * See \ref im_util.h
103
+ * \ingroup imagerep */
104
+
105
+ /** Returns the color mode name.
106
+ *
107
+ * \verbatim im.ColorModeSpaceName(color_mode: number) -> name: string [in Lua 5] \endverbatim
108
+ * \ingroup colormodeutl */
109
+ const char* imColorModeSpaceName(int color_mode);
110
+
111
+ /** Returns the number of components of the color space including alpha.
112
+ *
113
+ * \verbatim im.ColorModeDepth(color_mode: number) -> depth: number [in Lua 5] \endverbatim
114
+ * \ingroup colormodeutl */
115
+ int imColorModeDepth(int color_mode);
116
+
117
+ /** Returns the color space of the color mode.
118
+ *
119
+ * \verbatim im.ColorModeSpace(color_mode: number) -> color_space: number [in Lua 5] \endverbatim
120
+ * \ingroup colormodeutl */
121
+ #define imColorModeSpace(_cm) (_cm & 0xFF)
122
+
123
+ /** Check if the two color modes match. Only the color space is compared.
124
+ *
125
+ * \verbatim im.ColorModeMatch(color_mode1: number, color_mode2: number) -> match: boolean [in Lua 5] \endverbatim
126
+ * \ingroup colormodeutl */
127
+ #define imColorModeMatch(_cm1, _cm2) (imColorModeSpace(_cm1) == imColorModeSpace(_cm2))
128
+
129
+ /** Check if the color mode has an alpha channel.
130
+ *
131
+ * \verbatim im.ColorModeHasAlpha(color_mode: number) -> has_alpha: boolean [in Lua 5] \endverbatim
132
+ * \ingroup colormodeutl */
133
+ #define imColorModeHasAlpha(_cm) (_cm & IM_ALPHA)
134
+
135
+ /** Check if the color mode components are packed in one plane.
136
+ *
137
+ * \verbatim im.ColorModeIsPacked(color_mode: number) -> is_packed: boolean [in Lua 5] \endverbatim
138
+ * \ingroup colormodeutl */
139
+ #define imColorModeIsPacked(_cm) (_cm & IM_PACKED)
140
+
141
+ /** Check if the color mode orients the image from top down to bottom.
142
+ *
143
+ * \verbatim im.ColorModeIsTopDown(color_mode: number) -> is_top_down: boolean [in Lua 5] \endverbatim
144
+ * \ingroup colormodeutl */
145
+ #define imColorModeIsTopDown(_cm) (_cm & IM_TOPDOWN)
146
+
147
+ /** Returns the color space of the equivalent display bitmap image. \n
148
+ * Original packing and alpha are ignored. Returns IM_RGB, IM_GRAY, IM_MAP or IM_BINARY.
149
+ *
150
+ * \verbatim im.ColorModeToBitmap(color_mode: number) -> color_space: number [in Lua 5] \endverbatim
151
+ * \ingroup colormodeutl */
152
+ int imColorModeToBitmap(int color_mode);
153
+
154
+ /** Check if the color mode and data_type defines a display bitmap image.
155
+ *
156
+ * \verbatim im.ColorModeIsBitmap(color_mode: number, data_type: number) -> is_bitmap: boolean [in Lua 5] \endverbatim
157
+ * \ingroup colormodeutl */
158
+ int imColorModeIsBitmap(int color_mode, int data_type);
159
+
160
+
161
+
162
+ /** \defgroup datatypeutl Data Type Utilities
163
+ * \par
164
+ * See \ref im_util.h
165
+ * \ingroup util
166
+ * @{
167
+ */
168
+
169
+ typedef unsigned char imbyte;
170
+ typedef unsigned short imushort;
171
+
172
+ #define IM_BYTECROP(_v) (_v < 0? 0: _v > 255? 255: _v)
173
+ #define IM_CROPMAX(_v, _max) (_v < 0? 0: _v > _max? _max: _v)
174
+
175
+ /** @} */
176
+
177
+ /** Returns the size in bytes of a specified numeric data type.
178
+ *
179
+ * \verbatim im.DataTypeSize(data_type: number) -> size: number [in Lua 5] \endverbatim
180
+ * \ingroup datatypeutl */
181
+ int imDataTypeSize(int data_type);
182
+
183
+ /** Returns the numeric data type name given its identifier.
184
+ *
185
+ * \verbatim im.DataTypeName(data_type: number) -> name: string [in Lua 5] \endverbatim
186
+ * \ingroup datatypeutl */
187
+ const char* imDataTypeName(int data_type);
188
+
189
+ /** Returns the maximum value of an integer data type. For floating point returns 0.
190
+ *
191
+ * \verbatim im.DataTypeIntMax(data_type: number) -> int_max: number [in Lua 5] \endverbatim
192
+ * \ingroup datatypeutl */
193
+ unsigned long imDataTypeIntMax(int data_type);
194
+
195
+ /** Returns the minimum value of an integer data type. For floating point returns 0.
196
+ *
197
+ * \verbatim im.DataTypeIntMin(data_type: number) -> int_min: number [in Lua 5] \endverbatim
198
+ * \ingroup datatypeutl */
199
+ long imDataTypeIntMin(int data_type);
200
+
201
+
202
+
203
+ /** \defgroup bin Binary Data Utilities
204
+ * \par
205
+ * See \ref im_util.h
206
+ * \ingroup util */
207
+
208
+ /** CPU Byte Orders.
209
+ * \ingroup bin */
210
+ enum imByteOrder
211
+ {
212
+ IM_LITTLEENDIAN, /**< Little Endian - The most significant byte is on the right end of a word. Used by Intel processors. */
213
+ IM_BIGENDIAN /**< Big Endian - The most significant byte is on the left end of a word. Used by Motorola processors, also is the network standard byte order. */
214
+ };
215
+
216
+ /** Returns the current CPU byte order.
217
+ * \ingroup bin */
218
+ int imBinCPUByteOrder(void);
219
+
220
+ /** Changes the byte order of an array of 2, 4 or 8 byte values.
221
+ * \ingroup bin */
222
+ void imBinSwapBytes(void *data, int count, int size);
223
+
224
+ /** Changes the byte order of an array of 2 byte values.
225
+ * \ingroup bin */
226
+ void imBinSwapBytes2(void *data, int count);
227
+
228
+ /** Inverts the byte order of the 4 byte values
229
+ * \ingroup bin */
230
+ void imBinSwapBytes4(void *data, int count);
231
+
232
+ /** Inverts the byte order of the 8 byte values
233
+ * \ingroup bin */
234
+ void imBinSwapBytes8(void *data, int count);
235
+
236
+
237
+
238
+ /** \defgroup compress Data Compression Utilities
239
+ * \par
240
+ * Deflate compression support uses zlib version 1.2.3. \n
241
+ * http://www.zlib.org/ \n
242
+ * Copyright (C) 1995-2004 Jean-loup Gailly and Mark Adler
243
+ * \par
244
+ * LZF compression support uses libLZF version 1.51. \n
245
+ * http://liblzf.plan9.de/ \n
246
+ * Copyright (C) 2000-2005 Marc Alexander Lehmann
247
+ * See \ref im_util.h
248
+ * \ingroup util */
249
+
250
+ /** Compresses the data using the ZLIB Deflate compression. \n
251
+ * The destination buffer must be at least 0.1% larger than source_size plus 12 bytes. \n
252
+ * It compresses raw byte data. zip_quality can be 1 to 9. \n
253
+ * Returns the size of the compressed buffer or zero if failed.
254
+ * \ingroup compress */
255
+ int imCompressDataZ(const void* src_data, int src_size, void* dst_data, int dst_size, int zip_quality);
256
+
257
+ /** Uncompresses the data compressed with the ZLIB Deflate compression. \n
258
+ * Returns zero if failed.
259
+ * \ingroup compress */
260
+ int imCompressDataUnZ(const void* src_data, int src_size, void* dst_data, int dst_size);
261
+
262
+ /** Compresses the data using the libLZF compression. \n
263
+ * Returns the size of the compressed buffer or zero if failed.
264
+ * \ingroup compress */
265
+ int imCompressDataLZF(const void* src_data, int src_size, void* dst_data, int dst_size, int zip_quality);
266
+
267
+ /** Uncompresses the data compressed with the libLZF compression.
268
+ * Returns zero if failed.
269
+ * \ingroup compress */
270
+ int imCompressDataUnLZF(const void* src_data, int src_size, void* dst_data, int dst_size);
271
+
272
+
273
+ #if defined(__cplusplus)
274
+ }
275
+ #endif
276
+
277
+ #endif
@@ -0,0 +1,83 @@
1
+ /** \file
2
+ * \brief IM Lua 5 Binding
3
+ *
4
+ * See Copyright Notice in im_lib.h
5
+ */
6
+
7
+ #ifndef __IMLUA_H
8
+ #define __IMLUA_H
9
+
10
+ #ifdef __cplusplus
11
+ extern "C" {
12
+ #endif
13
+
14
+ /** \defgroup imlua IM Lua 5 Binding
15
+ * \par
16
+ * Binding for the Lua 5 scripting language. \n
17
+ * Lua 5.1 Copyright (C) 1994-2005 Lua.org, PUC-Rio \n
18
+ * R. Ierusalimschy, L. H. de Figueiredo & W. Celes \n
19
+ * http://www.lua.org
20
+ * \par
21
+ * The name of the functions were changed because of the namespace "im" and because of the object orientation. \n
22
+ * As a general rule use:
23
+ \verbatim
24
+ imXxx -> im.Xxx
25
+ IM_XXX -> im.XXX
26
+ imFileXXX(ifile,... -> ifile:XXX(...
27
+ imImageXXX(image,... -> image:XXX(...
28
+ \endverbatim
29
+ * All the objects are garbage collected by the Lua garbage collector.
30
+ * \par
31
+ * See \ref imlua.h
32
+ * \ingroup util */
33
+
34
+ #ifdef LUA_NOOBJECT /* Lua 3 */
35
+ void imlua_open(void);
36
+ #endif
37
+
38
+ #ifdef LUA_TNONE /* Lua 5 */
39
+
40
+ /** Initializes the Lua binding of the main IM library. \n
41
+ * Returns 1 (leaves the "im" table on the top of the stack).
42
+ * You must link the application with the "imlua51" library.
43
+ * \ingroup imlua */
44
+ int imlua_open(lua_State *L);
45
+ int luaopen_imlua(lua_State *L);
46
+
47
+ /** Pushes an image as a metatable on the stack.
48
+ * \ingroup imlua */
49
+ void imlua_pushimage(lua_State *L, imImage* image);
50
+
51
+ /** Gets an image as a metatable from the stack, checks for correct type.
52
+ * \ingroup imlua */
53
+ imImage* imlua_checkimage(lua_State *L, int param);
54
+
55
+ /** Initializes the Lua binding of the capture library. \n
56
+ * Returns 1 (leaves the "im" table on the top of the stack).
57
+ * You must link the application with the "imlua_capture51" library.
58
+ * \ingroup imlua */
59
+ int imlua_open_capture(lua_State *L);
60
+ int luaopen_imlua_capture(lua_State *L);
61
+
62
+ /** Initializes the Lua binding of the process library. \n
63
+ * Returns 1 (leaves the "im" table on the top of the stack).
64
+ * You must link the application with the "imlua_process51" library.
65
+ * \ingroup imlua */
66
+ int imlua_open_process(lua_State *L);
67
+ int luaopen_imlua_process(lua_State *L);
68
+
69
+ /** Initializes the Lua binding of the fourier transform library. \n
70
+ * Returns 1 (leaves the "im" table on the top of the stack).
71
+ * You must link the application with the "imlua_fftw51" library.
72
+ * \ingroup imlua */
73
+ int imlua_open_fftw(lua_State *L);
74
+ int luaopen_imlua_fftw(lua_State *L);
75
+
76
+
77
+ #endif
78
+
79
+ #ifdef __cplusplus
80
+ }
81
+ #endif
82
+
83
+ #endif
@@ -0,0 +1,255 @@
1
+ /** \file
2
+ * \brief User API
3
+ * IUP - A Portable User Interface Toolkit
4
+ * Tecgraf: Computer Graphics Technology Group, PUC-Rio, Brazil
5
+ * http://www.tecgraf.puc-rio.br/iup mailto:iup@tecgraf.puc-rio.br
6
+ *
7
+ * See Copyright Notice at the end of this file
8
+ */
9
+
10
+ #ifndef __IUP_H
11
+ #define __IUP_H
12
+
13
+ #include <iupkey.h>
14
+ #include <iupdef.h>
15
+
16
+ #ifdef __cplusplus
17
+ extern "C" {
18
+ #endif
19
+
20
+
21
+ #define IUP_NAME "IUP - Portable User Interface"
22
+ #define IUP_COPYRIGHT "Copyright (C) 1994-2008 Tecgraf, PUC-Rio."
23
+ #define IUP_DESCRIPTION "Portable toolkit for building graphical user interfaces."
24
+ #define IUP_VERSION "2.7.0"
25
+ #define IUP_VERSION_DATE "2008/10/14"
26
+ #define IUP_VERSION_NUMBER 207000
27
+
28
+ typedef struct Ihandle_ Ihandle;
29
+ typedef int (*Icallback)(Ihandle*);
30
+
31
+ /************************************************************************/
32
+ /* pre-definided dialogs */
33
+ /************************************************************************/
34
+ Ihandle* IupFileDlg(void);
35
+
36
+ int IupGetFile (char *arq);
37
+ void IupMessage (const char *title, const char *msg);
38
+ void IupMessagef (const char *title, const char *format, ...);
39
+ int IupAlarm (const char *title, const char *msg, const char *b1, const char *b2, const char *b3);
40
+ int IupScanf (const char *format, ...);
41
+ int IupListDialog (int type, const char *title, int size, const char *lst[],
42
+ int op, int col, int line, int marks[]);
43
+ int IupGetText (const char* title, char* text);
44
+
45
+ /************************************************************************/
46
+ /* Functions */
47
+ /************************************************************************/
48
+
49
+ int IupOpen (int *argc, char ***argv);
50
+ void IupClose (void);
51
+
52
+ int IupMainLoop (void);
53
+ int IupLoopStep (void);
54
+ void IupFlush (void);
55
+ void IupExitLoop (void);
56
+
57
+ void IupUpdate (Ihandle* ih);
58
+ void IupRefresh (Ihandle* ih);
59
+ char* IupMapFont (const char *iupfont);
60
+ char* IupUnMapFont (const char *driverfont);
61
+ int IupHelp (const char* url);
62
+ char * IupLoad (const char *filename);
63
+
64
+ char* IupVersion (void);
65
+ char* IupVersionDate (void);
66
+ int IupVersionNumber (void);
67
+ void IupSetLanguage (const char *lng);
68
+ char* IupGetLanguage (void);
69
+
70
+ void IupDestroy (Ihandle *ih);
71
+ void IupDetach (Ihandle *child);
72
+ Ihandle* IupAppend (Ihandle *ih, Ihandle *child);
73
+ Ihandle* IupGetNextChild (Ihandle *ih, Ihandle *child);
74
+ Ihandle* IupGetBrother (Ihandle *ih);
75
+ Ihandle* IupGetParent (Ihandle *ih);
76
+ Ihandle* IupGetDialog (Ihandle *ih);
77
+
78
+ int IupPopup (Ihandle *ih, int x, int y);
79
+ int IupShow (Ihandle *ih);
80
+ int IupShowXY (Ihandle *ih, int x, int y);
81
+ int IupHide (Ihandle *ih);
82
+ int IupMap (Ihandle *ih);
83
+
84
+ void IupSetAttribute (Ihandle *ih, const char* name, const char* value);
85
+ void IupStoreAttribute(Ihandle *ih, const char* name, const char* value);
86
+ Ihandle* IupSetAttributes (Ihandle *ih, const char *str);
87
+ char* IupGetAttribute (Ihandle *ih, const char* name);
88
+ char* IupGetAttributes (Ihandle *ih);
89
+ int IupGetInt (Ihandle *ih, const char* name);
90
+ int IupGetInt2 (Ihandle *ih, const char* name);
91
+ float IupGetFloat (Ihandle *ih, const char* name);
92
+ void IupSetfAttribute (Ihandle *ih, const char* name, const char* format, ...);
93
+
94
+ void IupSetGlobal (const char* name, const char* value);
95
+ void IupStoreGlobal (const char* name, const char* value);
96
+ char* IupGetGlobal (const char* name);
97
+
98
+ Ihandle* IupSetFocus (Ihandle *ih);
99
+ Ihandle* IupGetFocus (void);
100
+ Ihandle* IupPreviousField (Ihandle *ih);
101
+ Ihandle* IupNextField (Ihandle *ih);
102
+
103
+ Icallback IupGetCallback(Ihandle *ih, const char *name);
104
+ Icallback IupSetCallback(Ihandle *ih, const char *name, Icallback func);
105
+ Ihandle* IupSetCallbacks(Ihandle* ih, ...);
106
+
107
+ Icallback IupGetFunction (const char *name);
108
+ Icallback IupSetFunction (const char *name, Icallback func);
109
+ const char* IupGetActionName (void);
110
+
111
+ Ihandle* IupGetHandle (const char *name);
112
+ Ihandle* IupSetHandle (const char *name, Ihandle *ih);
113
+ int IupGetAllNames (char *names[], int n);
114
+ int IupGetAllDialogs (char *names[], int n);
115
+ char* IupGetName (Ihandle* ih);
116
+
117
+ void IupSetAttributeHandle (Ihandle *ih, const char* name, Ihandle *ih_named);
118
+ Ihandle* IupGetAttributeHandle(Ihandle *ih, const char* name);
119
+
120
+ char* IupGetClassName (Ihandle *ih);
121
+
122
+ Ihandle* IupCreate (const char *name);
123
+ Ihandle* IupCreatev (const char *name, void* *params);
124
+ Ihandle* IupCreatep (const char *name, void* first, ...);
125
+
126
+ Ihandle* IupFill (void);
127
+ Ihandle* IupRadio (Ihandle *child);
128
+ Ihandle* IupVbox (Ihandle* child, ...);
129
+ Ihandle* IupVboxv (Ihandle* *children);
130
+ Ihandle* IupZbox (Ihandle* child, ...);
131
+ Ihandle* IupZboxv (Ihandle* *children);
132
+ Ihandle* IupHbox (Ihandle* child,...);
133
+ Ihandle* IupHboxv (Ihandle* *children);
134
+
135
+
136
+ Ihandle* IupFrame (Ihandle* child);
137
+
138
+ Ihandle* IupImage (int width, int height, const unsigned char *pixmap);
139
+ Ihandle* IupButton (const char* title, const char* action);
140
+ Ihandle* IupCanvas (const char* action);
141
+ Ihandle* IupDialog (Ihandle* child);
142
+ Ihandle* IupUser (void);
143
+ Ihandle* IupItem (const char* title, const char* action);
144
+ Ihandle* IupSubmenu (const char* title, Ihandle* child);
145
+ Ihandle* IupSeparator (void);
146
+ Ihandle* IupLabel (const char* title);
147
+ Ihandle* IupList (const char* action);
148
+ Ihandle* IupMenu (Ihandle *child,...);
149
+ Ihandle* IupMenuv (Ihandle **children);
150
+ Ihandle* IupText (const char* action);
151
+ Ihandle* IupMultiLine (const char* action);
152
+ Ihandle* IupToggle (const char* title, const char* action);
153
+ Ihandle* IupTimer (void);
154
+
155
+ #ifdef __cplusplus
156
+ }
157
+ #endif
158
+
159
+ /************************************************************************/
160
+ /* Common Return Values */
161
+ /************************************************************************/
162
+ #define IUP_ERROR 1
163
+ #define IUP_NOERROR 0
164
+ #define IUP_OPENED -1
165
+ #define IUP_INVALID -1
166
+
167
+ /************************************************************************/
168
+ /* Callback Return Values */
169
+ /************************************************************************/
170
+ #define IUP_IGNORE -1
171
+ #define IUP_DEFAULT -2
172
+ #define IUP_CLOSE -3
173
+ #define IUP_CONTINUE -4
174
+
175
+ /************************************************************************/
176
+ /* IupPopup and IupShowXY Parameter Values */
177
+ /************************************************************************/
178
+ #define IUP_CENTER 0xFFFF /* 65535 */
179
+ #define IUP_LEFT 0xFFFE /* 65534 */
180
+ #define IUP_RIGHT 0xFFFD /* 65533 */
181
+ #define IUP_MOUSEPOS 0xFFFC /* 65532 */
182
+ #define IUP_CURRENT 0xFFFB /* 65531 */
183
+ #define IUP_CENTERPARENT 0xFFFA
184
+ #define IUP_TOP IUP_LEFT
185
+ #define IUP_BOTTOM IUP_RIGHT
186
+
187
+ /************************************************************************/
188
+ /* SHOW_CB Callback Values */
189
+ /************************************************************************/
190
+ enum{IUP_SHOW, IUP_RESTORE, IUP_MINIMIZE, IUP_MAXIMIZE, IUP_HIDE};
191
+
192
+ /************************************************************************/
193
+ /* SCROLL_CB Callback Values */
194
+ /************************************************************************/
195
+ enum{IUP_SBUP, IUP_SBDN, IUP_SBPGUP, IUP_SBPGDN, IUP_SBPOSV, IUP_SBDRAGV,
196
+ IUP_SBLEFT, IUP_SBRIGHT, IUP_SBPGLEFT, IUP_SBPGRIGHT, IUP_SBPOSH, IUP_SBDRAGH};
197
+
198
+ /************************************************************************/
199
+ /* Mouse Button Values and Macros */
200
+ /************************************************************************/
201
+ #define IUP_BUTTON1 '1'
202
+ #define IUP_BUTTON2 '2'
203
+ #define IUP_BUTTON3 '3'
204
+ #define IUP_BUTTON4 '4'
205
+ #define IUP_BUTTON5 '5'
206
+
207
+ #define isshift(_s) (_s[0]=='S')
208
+ #define iscontrol(_s) (_s[1]=='C')
209
+ #define isbutton1(_s) (_s[2]=='1')
210
+ #define isbutton2(_s) (_s[3]=='2')
211
+ #define isbutton3(_s) (_s[4]=='3')
212
+ #define isdouble(_s) (_s[5]=='D')
213
+ #define isalt(_s) (_s[6]=='A')
214
+ #define issys(_s) (_s[7]=='Y')
215
+ #define isbutton4(_s) (_s[8]=='4')
216
+ #define isbutton5(_s) (_s[9]=='5')
217
+
218
+
219
+ /************************************************************************/
220
+ /* Replacement for the WinMain in Windows, */
221
+ /* this allows the application to start from "main". */
222
+ /************************************************************************/
223
+ #if defined (__WATCOMC__) || defined (__MWERKS__)
224
+ #ifdef __cplusplus
225
+ extern "C" {
226
+ int IupMain (int argc, char** argv); /* In C++ we have to declare the prototype */
227
+ }
228
+ #endif
229
+ #define main IupMain /* this is the trick for Watcom and MetroWerks */
230
+ #endif
231
+
232
+ /******************************************************************************
233
+ * Copyright (C) 1994-2008 Tecgraf, PUC-Rio.
234
+ *
235
+ * Permission is hereby granted, free of charge, to any person obtaining
236
+ * a copy of this software and associated documentation files (the
237
+ * "Software"), to deal in the Software without restriction, including
238
+ * without limitation the rights to use, copy, modify, merge, publish,
239
+ * distribute, sublicense, and/or sell copies of the Software, and to
240
+ * permit persons to whom the Software is furnished to do so, subject to
241
+ * the following conditions:
242
+ *
243
+ * The above copyright notice and this permission notice shall be
244
+ * included in all copies or substantial portions of the Software.
245
+ *
246
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
247
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
248
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
249
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
250
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
251
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
252
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
253
+ ******************************************************************************/
254
+
255
+ #endif