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,111 +1,115 @@
1
- /** \file
2
- * \brief File Access
3
- *
4
- * See Copyright Notice in im_lib.h
5
- */
6
-
7
- #ifndef __IM_FILE_H
8
- #define __IM_FILE_H
9
-
10
- #include "im.h"
11
-
12
- #if defined(__cplusplus)
13
- extern "C" {
14
- #endif
15
-
16
-
17
- /** \defgroup filesdk File Format SDK
18
- * \par
19
- * All the file formats are based on theses structures. Use them to create new file formats. \n
20
- * The LineBuffer functions will help transfer image from format buffer to application buffer and vice-versa.
21
- * \par
22
- * See \ref im_file.h
23
- * \ingroup file */
24
-
25
-
26
- /** \brief Image File Format Base (SDK Use Only)
27
- *
28
- * \par
29
- * Base container to hold format independent state variables.
30
- * \ingroup filesdk */
31
- struct _imFile
32
- {
33
- int is_new;
34
- void* attrib_table; /**< in fact is a imAttribTable, but we hide this here */
35
-
36
- void* line_buffer; /**< used for line convertion, contains all components if packed, or only one if not */
37
- int line_buffer_size;
38
- int line_buffer_extra; /**< extra bytes to be allocated */
39
- int line_buffer_alloc; /**< total allocated so far */
40
- int counter;
41
-
42
- int convert_bpp; /**< number of bpp to unpack/pack to/from 1 byte.
43
- When reading converts n packed bits to 1 byte (unpack). If n>1 will also expand to 0-255.
44
- When writing converts 1 byte to 1 bit (pack).
45
- If negative will only expand to 0-255 (no unpack or pack). */
46
- int switch_type; /**< flag to switch the original data type: char-byte, short-ushort, uint-int, double-float */
47
-
48
- long palette[256];
49
- int palette_count;
50
-
51
- int user_color_mode,
52
- user_data_type,
53
- file_color_mode, /* these two must be filled by te driver always. */
54
- file_data_type;
55
-
56
- /* these must be filled by the driver when reading,
57
- and given by the user when writing. */
58
-
59
- char compression[10];
60
- int image_count,
61
- image_index,
62
- width,
63
- height;
64
- };
65
-
66
-
67
- /* Internal Use only */
68
-
69
- /* Initializes the imFile structure.
70
- * Used by the special format RAW. */
71
- void imFileClear(imFile* ifile);
72
-
73
- /* Initializes the line buffer.
74
- * Used by "im_file.cpp" only. */
75
- void imFileLineBufferInit(imFile* ifile);
76
-
77
- /* Check if the conversion is valid.
78
- * Used by "im_file.cpp" only. */
79
- int imFileCheckConversion(imFile* ifile);
80
-
81
-
82
-
83
- /* File Format SDK */
84
-
85
- /** Number of lines to be accessed.
86
- * \ingroup filesdk */
87
- int imFileLineBufferCount(imFile* ifile);
88
-
89
- /** Increments the row and plane counters.
90
- * \ingroup filesdk */
91
- void imFileLineBufferInc(imFile* ifile, int *row, int *plane);
92
-
93
- /** Converts from FILE color mode to USER color mode.
94
- * \ingroup filesdk */
95
- void imFileLineBufferRead(imFile* ifile, void* data, int line, int plane);
96
-
97
- /** Converts from USER color mode to FILE color mode.
98
- * \ingroup filesdk */
99
- void imFileLineBufferWrite(imFile* ifile, const void* data, int line, int plane);
100
-
101
- /** Utility to calculate the line size in byte with a specified alignment. \n
102
- * "align" can be 1, 2 or 4.
103
- * \ingroup filesdk */
104
- int imFileLineSizeAligned(int width, int bpp, int align);
105
-
106
-
107
- #if defined(__cplusplus)
108
- }
109
- #endif
110
-
111
- #endif
1
+ /** \file
2
+ * \brief File Access
3
+ *
4
+ * See Copyright Notice in im_lib.h
5
+ */
6
+
7
+ #ifndef __IM_FILE_H
8
+ #define __IM_FILE_H
9
+
10
+ #include "im.h"
11
+
12
+ #if defined(__cplusplus)
13
+ extern "C" {
14
+ #endif
15
+
16
+
17
+ /** \defgroup filesdk File Format SDK
18
+ * \par
19
+ * All the file formats are based on theses structures. Use them to create new file formats. \n
20
+ * The LineBuffer functions will help transfer image from format buffer to application buffer and vice-versa.
21
+ * \par
22
+ * See \ref im_file.h
23
+ * \ingroup file */
24
+
25
+
26
+ /** \brief Image File Format Base Class (SDK Use Only)
27
+ *
28
+ * \par
29
+ * Base container to hold format independent state variables.
30
+ * \ingroup filesdk */
31
+ struct _imFile
32
+ {
33
+ int is_new;
34
+ void* attrib_table; /**< in fact is a imAttribTable, but we hide this here */
35
+
36
+ void* line_buffer; /**< used for line convertion, contains all components if packed, or only one if not */
37
+ int line_buffer_size;
38
+ int line_buffer_extra; /**< extra bytes to be allocated */
39
+ int line_buffer_alloc; /**< total allocated so far */
40
+ int counter;
41
+
42
+ int convert_bpp; /**< number of bpp to unpack/pack to/from 1 byte.
43
+ When reading converts n packed bits to 1 byte (unpack). If n>1 will also expand to 0-255.
44
+ When writing converts 1 byte to 1 bit (pack).
45
+ If negative will only expand to 0-255 (no unpack or pack). */
46
+ int switch_type; /**< flag to switch the original data type: char-byte, short-ushort, uint-int, double-float */
47
+
48
+ long palette[256];
49
+ int palette_count;
50
+
51
+ int user_color_mode,
52
+ user_data_type,
53
+ file_color_mode, /* these two must be filled by te driver always. */
54
+ file_data_type;
55
+
56
+ /* these must be filled by the driver when reading,
57
+ and given by the user when writing. */
58
+
59
+ char compression[10];
60
+ int image_count,
61
+ image_index,
62
+ width,
63
+ height;
64
+ };
65
+
66
+
67
+ /* Internal Use only */
68
+
69
+ /* Initializes the imFile structure.
70
+ * Used by the special format RAW. */
71
+ void imFileClear(imFile* ifile);
72
+
73
+ /* Initializes the line buffer.
74
+ * Used by "im_file.cpp" only. */
75
+ void imFileLineBufferInit(imFile* ifile);
76
+
77
+ /* Check if the conversion is valid.
78
+ * Used by "im_file.cpp" only. */
79
+ int imFileCheckConversion(imFile* ifile);
80
+
81
+
82
+ /* File Format SDK */
83
+
84
+ /** Number of lines to be accessed.
85
+ * \ingroup filesdk */
86
+ int imFileLineBufferCount(imFile* ifile);
87
+
88
+ /** Increments the row and plane counters.
89
+ * \ingroup filesdk */
90
+ void imFileLineBufferInc(imFile* ifile, int *row, int *plane);
91
+
92
+ /** Converts from FILE color mode to USER color mode.
93
+ * \ingroup filesdk */
94
+ void imFileLineBufferRead(imFile* ifile, void* data, int line, int plane);
95
+
96
+ /** Converts from USER color mode to FILE color mode.
97
+ * \ingroup filesdk */
98
+ void imFileLineBufferWrite(imFile* ifile, const void* data, int line, int plane);
99
+
100
+ /** Utility to calculate the line size in byte with a specified alignment. \n
101
+ * "align" can be 1, 2 or 4.
102
+ * \ingroup filesdk */
103
+ int imFileLineSizeAligned(int width, int bpp, int align);
104
+
105
+ /** Set the attributes FileFormat, FileCompression and FileImageCount. \n
106
+ * Used in imFileOpen and imFileOpenAs, and after the attribute list cleared with RemoveAll.
107
+ * \ingroup filesdk */
108
+ void imFileSetBaseAttributes(imFile* ifile);
109
+
110
+
111
+ #if defined(__cplusplus)
112
+ }
113
+ #endif
114
+
115
+ #endif
@@ -1,79 +1,97 @@
1
- /** \file
2
- * \brief File Format Access
3
- *
4
- * See Copyright Notice in im_lib.h
5
- */
6
-
7
- #include "im_file.h"
8
- #include "im_attrib.h"
9
-
10
- #ifndef __IM_FORMAT_H
11
- #define __IM_FORMAT_H
12
-
13
-
14
- /** \brief Image File Format Driver (SDK Use Only)
15
- *
16
- * \par
17
- * Virtual Base class for file formats. All file formats inherit from this class.
18
- * \ingroup filesdk */
19
- class imFormat: public _imFile
20
- {
21
- public:
22
- const char* format;
23
- const char* desc;
24
- const char* ext;
25
- const char** comp;
26
- int comp_count,
27
- can_sequence;
28
-
29
- imFormat(const char* _format, const char* _desc, const char* _ext,
30
- const char** _comp, int _comp_count, int _can_sequence)
31
- :format(_format), desc(_desc), ext(_ext), comp(_comp),
32
- comp_count(_comp_count), can_sequence(_can_sequence)
33
- {}
34
- virtual ~imFormat() {}
35
-
36
- imAttribTable* AttribTable() {return (imAttribTable*)this->attrib_table;}
37
-
38
- /* Pure Virtual Methods. Every driver must implement all the following methods. */
39
-
40
- virtual int Open(const char* file_name) = 0; // Must initialize compression and image_count
41
- virtual int New(const char* file_name) = 0;
42
- virtual void Close() = 0;
43
- virtual void* Handle(int index) = 0;
44
- virtual int ReadImageInfo(int index) = 0; // Should update compression
45
- virtual int ReadImageData(void* data) = 0;
46
- virtual int WriteImageInfo() = 0; // Should update compression
47
- virtual int WriteImageData(void* data) = 0; // Must update image_count
48
- virtual int CanWrite(const char* compression, int color_mode, int data_type) const = 0;
49
- };
50
-
51
- extern "C"
52
- {
53
-
54
- /* Internal Use only */
55
-
56
- /* Opens a file with the respective format driver
57
- * Uses the file extension to speed up the search for the format driver.
58
- * Used by "im_file.cpp" only. */
59
- imFormat* imFormatOpen(const char* file_name, int *error);
60
-
61
- /* Opens a file with the given format
62
- * Used by "im_file.cpp" only. */
63
- imFormat* imFormatOpenAs(const char* file_name, const char* format, int *error);
64
-
65
- /* Creates a file using the given format driver.
66
- * Used by "im_file.cpp" only. */
67
- imFormat* imFormatNew(const char* file_name, const char* format, int *error);
68
-
69
-
70
- /* File Format SDK */
71
-
72
- /** Register a format driver.
73
- * \ingroup filesdk */
74
- void imFormatRegister(imFormat* iformat);
75
-
76
-
77
- }
78
-
79
- #endif
1
+ /** \file
2
+ * \brief File Format Access
3
+ *
4
+ * See Copyright Notice in im_lib.h
5
+ */
6
+
7
+ #include "im_file.h"
8
+ #include "im_attrib.h"
9
+
10
+ #ifndef __IM_FORMAT_H
11
+ #define __IM_FORMAT_H
12
+
13
+
14
+ class imFormat;
15
+
16
+ /** \brief Image File Format Virtual Class (SDK Use Only)
17
+ *
18
+ * \par
19
+ * Virtual Base class for file formats. All file formats inherit from this class.
20
+ * \ingroup filesdk */
21
+ class imFileFormatBase: public _imFile
22
+ {
23
+ public:
24
+ const imFormat* iformat;
25
+
26
+ imFileFormatBase(const imFormat* _iformat): iformat(_iformat) {}
27
+ virtual ~imFileFormatBase() {}
28
+
29
+ imAttribTable* AttribTable() {return (imAttribTable*)this->attrib_table;}
30
+
31
+ /* Pure Virtual Methods. Every driver must implement all the following methods. */
32
+
33
+ virtual int Open(const char* file_name) = 0; // Must initialize compression and image_count
34
+ virtual int New(const char* file_name) = 0;
35
+ virtual void Close() = 0;
36
+ virtual void* Handle(int index) = 0;
37
+ virtual int ReadImageInfo(int index) = 0; // Should update compression
38
+ virtual int ReadImageData(void* data) = 0;
39
+ virtual int WriteImageInfo() = 0; // Should update compression
40
+ virtual int WriteImageData(void* data) = 0; // Must update image_count
41
+ };
42
+
43
+ /** \brief Image File Format Descriptor (SDK Use Only)
44
+ *
45
+ * \par
46
+ * All file formats must define these informations. They are stored by \ref imFormatRegister.
47
+ * \ingroup filesdk */
48
+ class imFormat
49
+ {
50
+ public:
51
+ const char* format;
52
+ const char* desc;
53
+ const char* ext;
54
+ const char** comp;
55
+ int comp_count,
56
+ can_sequence;
57
+
58
+ virtual imFileFormatBase* Create() const = 0;
59
+ virtual int CanWrite(const char* compression, int color_mode, int data_type) const = 0;
60
+
61
+ imFormat(const char* _format, const char* _desc, const char* _ext,
62
+ const char** _comp, int _comp_count, int _can_sequence)
63
+ :format(_format), desc(_desc), ext(_ext), comp(_comp),
64
+ comp_count(_comp_count), can_sequence(_can_sequence)
65
+ {}
66
+ virtual ~imFormat() {}
67
+ };
68
+
69
+ extern "C"
70
+ {
71
+
72
+ /* Internal Use only */
73
+
74
+ /* Opens a file with the respective format driver
75
+ * Uses the file extension to speed up the search for the format driver.
76
+ * Used by "im_file.cpp" only. */
77
+ imFileFormatBase* imFileFormatBaseOpen(const char* file_name, int *error);
78
+
79
+ /* Opens a file with the given format
80
+ * Used by "im_file.cpp" only. */
81
+ imFileFormatBase* imFileFormatBaseOpenAs(const char* file_name, const char* format, int *error);
82
+
83
+ /* Creates a file using the given format driver.
84
+ * Used by "im_file.cpp" only. */
85
+ imFileFormatBase* imFileFormatBaseNew(const char* file_name, const char* format, int *error);
86
+
87
+
88
+ /* File Format SDK */
89
+
90
+ /** Register a format driver.
91
+ * \ingroup filesdk */
92
+ void imFormatRegister(imFormat* iformat);
93
+
94
+
95
+ }
96
+
97
+ #endif
@@ -1,576 +1,575 @@
1
- /** \file
2
- * \brief All the Internal File Formats.
3
- * They are all automatically registered by the library.
4
- * The signatures are in C, but the functions are C++.
5
- * Header for internal use only.
6
- *
7
- * See Copyright Notice in im_lib.h
8
- */
9
-
10
- #ifndef __IM_FORMAT_ALL_H
11
- #define __IM_FORMAT_ALL_H
12
-
13
- #if defined(__cplusplus)
14
- extern "C" {
15
- #endif
16
-
17
- /** \defgroup tiff TIFF - Tagged Image File Format
18
- * \section Description
19
- *
20
- * \par
21
- * Copyright (c) 1986-1988, 1992 by Adobe Systems Incorporated. \n
22
- * Originally created by a group of companies,
23
- * the Aldus Corporation keeped the copyright until Aldus was aquired by Adobe. \n
24
- * TIFF Revision 6.0 Final � June 3, 1992 \n
25
- * http://www.adobe.com/Support/TechNotes.html
26
- * \par
27
- * Access to the TIFF file format uses libTIFF version 3.8.2 \n
28
- * http://www.remotesensing.org/libtiff/ \n
29
- * Copyright (c) 1988-1997 Sam Leffler \n
30
- * Copyright (c) 1991-1997 Silicon Graphics, Inc. \n
31
- *
32
- * \section Features
33
- *
34
- \verbatim
35
- Data Types: <all>
36
- Color Spaces: Gray, RGB, CMYK, YCbCr, Lab, XYZ, Map and Binary.
37
- Compressions:
38
- NONE - no compression [default for IEEE Floating Point Data]
39
- CCITTRLE - CCITT modified Huffman RLE (binary only) [default for Binary]
40
- CCITTFAX3 - CCITT Group 3 fax (binary only)
41
- CCITTFAX4 - CCITT Group 4 fax (binary only)
42
- LZW - Lempel-Ziv & Welch [default]
43
- JPEG - ISO JPEG [default for YCBCR]
44
- NEXT - NeXT 2-bit RLE (2 bpp only)
45
- CCITTRLEW - CCITT modified Huffman RLE with word alignment (binary only)
46
- RLE - Packbits (Macintosh RLE) [default for MAP]
47
- THUNDERSCAN - ThunderScan 4-bit RLE (only for 2 or 4 bpp)
48
- PIXARLOG - Pixar companded 11-bit ZIP (only byte, ushort and float)
49
- DEFLATE - LZ77 variation (ZIP)
50
- ADOBE_DEFLATE - Adobe LZ77 variation
51
- SGILOG - SGI Log Luminance RLE for L and Luv (only byte, ushort and float) [default for XYZ]
52
- SGILOG24 - SGI Log 24-bit packed for Luv (only byte, ushort and float)
53
- Can have more than one image.
54
- Can have an alpha channel.
55
- Components can be packed or not.
56
- Lines arranged from top down to bottom or bottom up to top.
57
- Handle(1) returns a TIFF* libTIFF structure.
58
-
59
- Attributes:
60
- Photometric IM_USHORT (1) (when writing this will complement the color_mode information, for Mask, MinIsWhite, ITULab and ICCLab)
61
- ExtraSampleInfo IM_USHORT (1) (description of alpha channel: 0- uknown, 1- pre-multiplied, 2-normal)
62
- JPEGQuality IM_INT (1) [0-100, default 75] (write only)
63
- ZIPQuality IM_INT (1) [1-9, default 6] (write only)
64
- ResolutionUnit (string) ["DPC", "DPI"]
65
- XResolution, YResolution IM_FLOAT (1)
66
- Description, Author, Copyright, DateTime, DocumentName,
67
- PageName, TargetPrinter, Make, Model, Software, HostComputer (string)
68
- InkNames (strings separated by '0's)
69
- InkSet IM_USHORT (1)
70
- NumberOfInks IM_USHORT (1)
71
- DotRange IM_USHORT (2)
72
- TransferFunction0, TransferFunction1, TransferFunction3 IM_USHORT [gray=0, rgb=012]
73
- ReferenceBlackWhite IMFLOAT (6)
74
- WhitePoint IMFLOAT (2)
75
- PrimaryChromaticities IMFLOAT (6)
76
- YCbCrCoefficients IM_FLOAT (3)
77
- YCbCrSubSampling IM_USHORT (2)
78
- YCbCrPositioning IM_USHORT (1)
79
- PageNumber IM_USHORT (2)
80
- StoNits IM_FLOAT (1)
81
- XPosition, YPosition IM_FLOAT (1)
82
- SMinSampleValue, SMaxSampleValue IM_FLOAT (1)
83
- HalftoneHints IM_USHORT (2)
84
- SubfileType IM_INT (1)
85
- ICCProfile IM_BYTE (N)
86
- MultiBandCount IM_USHORT (1) [Number of bands in a multiband gray image.]
87
- MultiBandSelect IM_USHORT (1) [Band number to read one band of a multiband gray image. Must be set before reading image info.]
88
- and other TIFF tags as they are described in the TIFF documentation.
89
- GeoTIFF tags:
90
- GeoTiePoints, GeoTransMatrix, IntergraphMatrix, GeoPixelScale, GeoDoubleParams IM_FLOAT (N)
91
- GeoASCIIParams (string)
92
- Read-only support for EXIF tags as they are described in the EXIF 2.2 documentation. See http://www.exif.org/
93
- DNG tags as they are described in the DNG documentation. See http://www.adobe.com/br/products/dng/
94
- Tags BlackLevel, DefaultCropOrigin and DefaultCropSize are incorrectly interpreted by libTIFF so they are ignored.
95
- Raw image is loaded in place of the thumbnail image in the main IFD.
96
- SubIFDCount IM_USHORT (1) [Number of subifds of the current image.]
97
- SubIFDSelect IM_USHORT (1) [Subifd number to be readed. Must be set before reading image info.]
98
- (other attributes can be obtained by using libTIFF directly using the Handle(1) function)
99
-
100
- Comments:
101
- LogLuv is in fact Y'+CIE(u,v), so we choose to always convert it to XYZ.
102
- SubIFD is handled only for DNG.
103
- Since LZW patent expired, LZW compression is enabled. LZW Copyright Unisys.
104
- libGeoTIFF can be used without XTIFF initialization. Use Handle(1) to obtain a TIFF*.
105
-
106
- Changes:
107
- "tiff_jpeg.c" - commented "downsampled_output = TRUE" in 2 places.
108
- New file "tif_config.h" to match our needs.
109
- New file "tiff_binfile.c" that implement I/O rotines using imBinFile.
110
- \endverbatim
111
- * \ingroup format */
112
- void imFormatRegisterTIFF(void);
113
-
114
- /** \defgroup jpeg JPEG - JPEG File Interchange Format
115
- * \section Description
116
- *
117
- * \par
118
- * ISO/IEC 10918 (1994, 1995, 1997, 1999)\n
119
- * http://www.jpeg.org/
120
- * \par
121
- * Access to the JPEG file format uses libJPEG version 6b. \n
122
- * http://www.ijg.org \n
123
- * Copyright (C) 1991-1998, Thomas G. Lane \n
124
- * from the Independent JPEG Group.
125
- * \par
126
- * Access to the EXIF attributes uses libEXIF version 0.6.12. \n
127
- * http://sourceforge.net/projects/libexif \n
128
- * Copyright (C) 2001-2003, Lutz M�ller
129
- *
130
- * \section Features
131
- *
132
- \verbatim
133
- Data Types: Byte
134
- Color Spaces: Gray, RGB, CMYK and YCbCr (Binary Saved as Gray)
135
- Compressions:
136
- JPEG - ISO JPEG [default]
137
- Only one image.
138
- No alpha channel.
139
- Internally the components are always packed.
140
- Internally the lines are arranged from top down to bottom.
141
- Handle(1) returns jpeg_decompress_struct* when reading, and
142
- jpeg_compress_struct* when writing (libJPEG structures).
143
-
144
- Attributes:
145
- AutoYCbCr IM_INT (1) (controls YCbCr auto conversion) default 1
146
- JPEGQuality IM_INT (1) [0-100, default 75] (write only)
147
- ResolutionUnit (string) ["DPC", "DPI"]
148
- XResolution, YResolution IM_FLOAT (1)
149
- Interlaced (same as Progressive) IM_INT (1 | 0) default 0
150
- Description (string)
151
- (lots of Exif tags)
152
-
153
- Changes to libJPEG:
154
- jdatadst.c - fflush and ferror replaced by macros JFFLUSH and JFERROR.
155
- jinclude.h - standard JFFLUSH and JFERROR definitions, and new macro HAVE_JFIO.
156
- jmorecfg.h - changed definition of INT32 to JINT32 for better compatibility.
157
- jdhuf.c - added support for OJPEG_SUPPORT in libTIFF.
158
- new file created: jconfig.h
159
-
160
- Changes to libEXIF:
161
- new file config.h
162
- changed "exif-tag.c" to add new function
163
- changed "exif-entry.c" to improve exif_entry_initialize
164
- fixed small bug in "mnote-pentax-tag.h".
165
-
166
- Comments:
167
- Other APPx markers are ignored.
168
- No thumbnail support.
169
- RGB images are automatically converted to YCbCr when saved.
170
- Also YcbCr are converted to RGB when loaded. Use AutoYCbCr=0 to disable this behavior.
171
- \endverbatim
172
- * \ingroup format */
173
- void imFormatRegisterJPEG(void);
174
-
175
- /** \defgroup png PNG - Portable Network Graphic Format
176
- * \section Description
177
- *
178
- * \par
179
- * Access to the PNG file format uses libPNG version 1.2.22. \n
180
- * http://www.libpng.org \n
181
- * Copyright (C) 1998-2007 Glenn Randers-Pehrson
182
- *
183
- * \section Features
184
- *
185
- \verbatim
186
- Data Types: Byte and UShort
187
- Color Spaces: Gray, RGB, MAP and Binary
188
- Compressions:
189
- DEFLATE - LZ77 variation (ZIP) [default]
190
- Only one image.
191
- Can have an alpha channel.
192
- Internally the components are always packed.
193
- Internally the lines are arranged from top down to bottom.
194
- Handle(1) returns png_structp libPNG structure.
195
-
196
- Attributes:
197
- ZIPQuality IM_INT (1) [1-9, default 6] (write only)
198
- ResolutionUnit (string) ["DPC", "DPI"]
199
- XResolution, YResolution IM_FLOAT (1)
200
- Interlaced (same as Progressive) IM_INT (1 | 0) default 0
201
- Gamma IM_FLOAT (1)
202
- WhitePoint IMFLOAT (2)
203
- PrimaryChromaticities IMFLOAT (6)
204
- XPosition, YPosition IM_FLOAT (1)
205
- sRGBIntent IM_INT (1) [0: Perceptual, 1: Relative colorimetric, 2: Saturation, 3: Absolute colorimetric]
206
- TransparencyIndex IM_BYTE (1 or N)
207
- TransparentColor IM_BYTE (3)
208
- CalibrationName, CalibrationUnits (string)
209
- CalibrationLimits IM_INT (2)
210
- CalibrationEquation IM_BYTE (1) [0-Linear,1-Exponential,2-Arbitrary,3-HyperbolicSine)]
211
- CalibrationParam (string) [params separated by '\\n']
212
- Title, Author, Description, Copyright, DateTime (string)
213
- Software, Disclaimer, Warning, Source, Comment, ... (string)
214
- DateTimeModified (string) [when writing uses the current system time]
215
- ICCProfile IM_BYTE (N)
216
- ScaleUnit (string) ["meters", "radians"]
217
- XScale, YScale IM_FLOAT (1)
218
-
219
- Comments:
220
- Attributes after the image are ignored.
221
- Define PNG_NO_CONSOLE_IO to avoid printfs.
222
- We define PNG_TIME_RFC1123_SUPPORTED.
223
- Add the following files to the makefile to optimize the library:
224
- pngvcrd.c - PNG_USE_PNGVCRD
225
- For Intel x86 CPU and Microsoft Visual C++ compiler
226
- pnggccrd.c - PNG_USE_PNGGCCRD
227
- For Intel x86 CPU (Pentium-MMX or later) and GNU C compiler.
228
- Changed pngconf.h to use int instead of long in png_uint_32 and png_int_32.
229
- \endverbatim
230
- * \ingroup format */
231
- void imFormatRegisterPNG(void);
232
-
233
- /** \defgroup gif GIF - Graphics Interchange Format
234
- * \section Description
235
- *
236
- * \par
237
- * Copyright (c) 1987,1988,1989,1990 CompuServe Incorporated. \n
238
- * GIF is a Service Mark property of CompuServe Incorporated. \n
239
- * Graphics Interchange Format Programming Reference, 1990. \n
240
- * LZW Copyright Unisys.
241
- * \par
242
- * Patial Internal Implementation. \n
243
- * Decoding and encoding code were extracted from GIFLib 1.0. \n
244
- * Copyright (c) 1989 Gershon Elber.
245
- *
246
- * \section Features
247
- *
248
- \verbatim
249
- Data Types: Byte
250
- Color Spaces: MAP only, (Gray and Binary saved as MAP)
251
- Compressions:
252
- LZW - Lempel-Ziv & Welch [default]
253
- Can have more than one image.
254
- No alpha channel.
255
- Internally the lines are arranged from top down to bottom.
256
-
257
- Attributes:
258
- ScreenHeight, ScreenWidth IM_USHORT (1) screen size [default to the first image size]
259
- Interlaced IM_INT (1 | 0) default 0
260
- Description (string)
261
- TransparencyIndex IM_BYTE (1)
262
- XScreen, YScreen IM_USHORT (1) screen position
263
- UserInput IM_BYTE (1) [1, 0]
264
- Disposal (string) [UNDEF, LEAVE, RBACK, RPREV]
265
- Delay IM_USHORT (1)
266
- Iterations IM_USHORT (1) (NETSCAPE2.0 Application Extension)
267
-
268
- Comments:
269
- Attributes after the last image are ignored.
270
- Reads GIF87 and GIF89, but writes GIF89 always.
271
- Ignored attributes: Background Color Index, Pixel Aspect Ratio,
272
- Plain Text Extensions, Application Extensions...
273
- \endverbatim
274
- * \ingroup format */
275
- void imFormatRegisterGIF(void);
276
-
277
- /** \defgroup bmp BMP - Windows Device Independent Bitmap
278
- * \section Description
279
- *
280
- * \par
281
- * Windows Copyright Microsoft Corporation.
282
- * \par
283
- * Internal Implementation.
284
- *
285
- * \section Features
286
- *
287
- \verbatim
288
- Data Types: Byte
289
- Color Spaces: RGB, MAP and Binary (Gray saved as MAP)
290
- Compressions:
291
- NONE - no compression [default]
292
- RLE - Run Lenght Encoding (only for MAP and Gray)
293
- Only one image.
294
- Can have an alpha channel (only for RGB)
295
- Internally the components are always packed.
296
- Lines arranged from top down to bottom or bottom up to top. But are saved always as bottom up.
297
-
298
- Attributes:
299
- ResolutionUnit (string) ["DPC", "DPI"]
300
- XResolution, YResolution IM_FLOAT (1)
301
-
302
- Comments:
303
- Reads OS2 1.x and Windows 3, but writes Windows 3 always.
304
- Version 4 and 5 BMPs are not supported.
305
- \endverbatim
306
- * \ingroup format */
307
- void imFormatRegisterBMP(void);
308
-
309
- /** \defgroup ras RAS - Sun Raster File
310
- * \section Description
311
- *
312
- * \par
313
- * Copyright Sun Corporation.
314
- * \par
315
- * Internal Implementation.
316
- *
317
- * \section Features
318
- *
319
- \verbatim
320
- Data Types: Byte
321
- Color Spaces: Gray, RGB, MAP and Binary
322
- Compressions:
323
- NONE - no compression [default]
324
- RLE - Run Lenght Encoding
325
- Only one image.
326
- Can have an alpha channel (only for IM_RGB)
327
- Internally the components are always packed.
328
- Internally the lines are arranged from top down to bottom.
329
-
330
- Attributes:
331
- none
332
- \endverbatim
333
- * \ingroup format */
334
- void imFormatRegisterRAS(void);
335
-
336
- /** \defgroup led LED - IUP image in LED
337
- * \section Description
338
- *
339
- * \par
340
- * Copyright Tecgraf/PUC-Rio and PETROBRAS/CENPES.
341
- * \par
342
- * Internal Implementation.
343
- *
344
- * \section Features
345
- *
346
- \verbatim
347
- Data Types: Byte
348
- Color Spaces: MAP only (Gray and Binary saved as MAP)
349
- Compressions:
350
- NONE - no compression [default]
351
- Only one image.
352
- No alpha channel.
353
- Internally the lines are arranged from top down to bottom.
354
-
355
- Attributes:
356
- none
357
-
358
- Comments:
359
- LED file must start with "LEDImage = IMAGE[".
360
- \endverbatim
361
- * \ingroup format */
362
- void imFormatRegisterLED(void);
363
-
364
- /** \defgroup sgi SGI - Silicon Graphics Image File Format
365
- * \section Description
366
- *
367
- * \par
368
- * SGI is a trademark of Silicon Graphics, Inc.
369
- * \par
370
- * Internal Implementation.
371
- *
372
- * \section Features
373
- *
374
- \verbatim
375
- Data Types: Byte and UShort
376
- Color Spaces: Gray and RGB (Binary saved as Gray, MAP with fixed palette when reading only)
377
- Compressions:
378
- NONE - no compression [default]
379
- RLE - Run Lenght Encoding
380
- Only one image.
381
- Can have an alpha channel (only for IM_RGB)
382
- Internally the components are always packed.
383
- Internally the lines are arranged from bottom up to top.
384
-
385
- Attributes:
386
- Description (string)
387
- \endverbatim
388
- * \ingroup format */
389
- void imFormatRegisterSGI(void);
390
-
391
- /** \defgroup pcx PCX - ZSoft Picture
392
- * \section Description
393
- *
394
- * \par
395
- * Copyright ZSoft Corporation. \n
396
- * ZSoft (1988) PCX Technical Reference Manual.
397
- * \par
398
- * Internal Implementation.
399
- *
400
- * \section Features
401
- *
402
- \verbatim
403
- Data Types: Byte
404
- Color Spaces: RGB, MAP and Binary (Gray saved as MAP)
405
- Compressions:
406
- NONE - no compression
407
- RLE - Run Lenght Encoding [default - since uncompressed PCX is not well supported]
408
- Only one image.
409
- No alpha channel.
410
- Internally the components are always packed.
411
- Internally the lines are arranged from top down to bottom.
412
-
413
- Attributes:
414
- ResolutionUnit (string) ["DPC", "DPI"]
415
- XResolution, YResolution IM_FLOAT (1)
416
- XScreen, YScreen IM_USHORT (1) screen position
417
-
418
- Comments:
419
- Reads Versions 0-5, but writes Version 5 always.
420
- \endverbatim
421
- * \ingroup format */
422
- void imFormatRegisterPCX(void);
423
-
424
- /** \defgroup tga TGA - Truevision Graphics Adapter File
425
- * \section Description
426
- *
427
- * \par
428
- * Truevision TGA File Format Specification Version 2.0 \n
429
- * Technical Manual Version 2.2 January, 1991 \n
430
- * Copyright 1989, 1990, 1991 Truevision, Inc.
431
- * \par
432
- * Internal Implementation.
433
- *
434
- * \section Features
435
- *
436
- \verbatim
437
- Supports 8 bits per component only. Data type is always Byte.
438
- Color Spaces: Gray, RGB and MAP (Binary saved as Gray)
439
- Compressions:
440
- NONE - no compression [default]
441
- RLE - Run Lenght Encoding
442
- Only one image.
443
- No alpha channel.
444
- Internally the components are always packed.
445
- Internally the lines are arranged from bottom up to top or from top down to bottom.
446
-
447
- Attributes:
448
- XScreen, YScreen IM_USHORT (1) screen position
449
- Title, Author, Description, JobName, Software (string)
450
- SoftwareVersion (read only) (string)
451
- DateTimeModified (string) [when writing uses the current system time]
452
- Gamma IM_FLOAT (1)
453
- \endverbatim
454
- * \ingroup format */
455
- void imFormatRegisterTGA(void);
456
-
457
- /** \defgroup pnm PNM - Netpbm Portable Image Map
458
- * \section Description
459
- *
460
- * \par
461
- * PNM formats Copyright Jef Poskanzer
462
- * \par
463
- * Internal Implementation.
464
- *
465
- * \section Features
466
- *
467
- \verbatim
468
- Data Types: Byte and UShort
469
- Color Spaces: Gray, RGB and Binary
470
- Compressions:
471
- NONE - no compression [default]
472
- ASCII (textual data)
473
- Can have more than one image, but sequencial access only.
474
- No alpha channel.
475
- Internally the components are always packed.
476
- Internally the lines are arranged from top down to bottom.
477
-
478
- Attributes:
479
- Description (string)
480
-
481
- Comments:
482
- In fact ASCII is an expansion...
483
- \endverbatim
484
- * \ingroup format */
485
- void imFormatRegisterPNM(void);
486
-
487
- /** \defgroup ico ICO - Windows Icon
488
- * \section Description
489
- *
490
- * \par
491
- * Windows Copyright Microsoft Corporation.
492
- * \par
493
- * Internal Implementation.
494
- *
495
- * \section Features
496
- *
497
- \verbatim
498
- Data Types: Byte
499
- Color Spaces: RGB, MAP and Binary (Gray saved as MAP)
500
- Compressions:
501
- NONE - no compression [default]
502
- Can have more than one image. But writing is limited to 5 images,
503
- and all images must have different sizes and bpp.
504
- Can have an alpha channel (only for RGB)
505
- Internally the components are always packed.
506
- Internally the lines are arranged from bottom up to top.
507
-
508
- Attributes:
509
- TransparencyIndex IM_BYTE (1 or N)
510
-
511
- Comments:
512
- If the user specifies an alpha channel, the AND mask is loaded as alpha if
513
- the file color mode does not contain the IM_ALPHA flag.
514
- For MAP imagens, if the user does not specifies an alpha channel
515
- the TransparencyIndex is used to initialize the AND mask when writing,
516
- and if the user does specifies an alpha channel
517
- the most repeated index with transparency will be the transparent index.
518
- Although any size and common bpp can be used is recomended to use the typical configurations:
519
- 16x16, 32x32, 48x48, 64x64 or 96x96
520
- 2 colors, 16 colors, 256 colors, 24bpp or 32bpp
521
- \endverbatim
522
- * \ingroup format */
523
- void imFormatRegisterICO(void);
524
-
525
- /** \defgroup krn KRN - IM Kernel File Format
526
- * \section Description
527
- *
528
- * \par
529
- * Textual format to provied a simple way to create kernel convolution images.
530
- * \par
531
- * Internal Implementation.
532
- *
533
- * \section Features
534
- *
535
- \verbatim
536
- Data Types: Byte, Int
537
- Color Spaces: Gray
538
- Compressions:
539
- NONE - no compression [default]
540
- Only one image.
541
- No alpha channel.
542
- Internally the lines are arranged from top down to bottom.
543
-
544
- Attributes:
545
- Description (string)
546
-
547
- Comments:
548
- The format is very simple, inspired by PNM.
549
- It was developed because PNM does not have support for INT and FLOAT.
550
- Remeber that usually convolution operations use kernel size an odd number.
551
-
552
- Format Model:
553
- IMKERNEL
554
- Description up to 512 characters
555
- width height
556
- type (0 - IM_INT, 1 - IM_FLOAT)
557
- data...
558
-
559
- Example:
560
- IMKERNEL
561
- Gradian
562
- 3 3
563
- 0
564
- 0 -1 0
565
- 0 1 0
566
- 0 0 0
567
- \endverbatim
568
- * \ingroup format */
569
- void imFormatRegisterKRN(void);
570
-
571
-
572
- #if defined(__cplusplus)
573
- }
574
- #endif
575
-
576
- #endif
1
+ /** \file
2
+ * \brief All the Internal File Formats.
3
+ * They are all automatically registered by the library.
4
+ * The signatures are in C, but the functions are C++.
5
+ * Header for internal use only.
6
+ *
7
+ * See Copyright Notice in im_lib.h
8
+ */
9
+
10
+ #ifndef __IM_FORMAT_ALL_H
11
+ #define __IM_FORMAT_ALL_H
12
+
13
+ #if defined(__cplusplus)
14
+ extern "C" {
15
+ #endif
16
+
17
+ /** \defgroup tiff TIFF - Tagged Image File Format
18
+ * \section Description
19
+ *
20
+ * \par
21
+ * Copyright (c) 1986-1988, 1992 by Adobe Systems Incorporated. \n
22
+ * Originally created by a group of companies,
23
+ * the Aldus Corporation keeped the copyright until Aldus was aquired by Adobe. \n
24
+ * TIFF Revision 6.0 Final � June 3, 1992 \n
25
+ * http://www.adobe.com/Support/TechNotes.html
26
+ * \par
27
+ * Access to the TIFF file format uses libTIFF version 3.9.2 \n
28
+ * http://www.remotesensing.org/libtiff/ \n
29
+ * Copyright (c) 1988-1997 Sam Leffler \n
30
+ * Copyright (c) 1991-1997 Silicon Graphics, Inc. \n
31
+ *
32
+ * \section Features
33
+ *
34
+ \verbatim
35
+ Data Types: <all>
36
+ Color Spaces: Gray, RGB, CMYK, YCbCr, Lab, XYZ, Map and Binary.
37
+ Compressions:
38
+ NONE - no compression [default for IEEE Floating Point Data]
39
+ CCITTRLE - CCITT modified Huffman RLE (binary only) [default for Binary]
40
+ CCITTFAX3 - CCITT Group 3 fax (binary only)
41
+ CCITTFAX4 - CCITT Group 4 fax (binary only)
42
+ LZW - Lempel-Ziv & Welch [default]
43
+ JPEG - ISO JPEG [default for YCBCR]
44
+ NEXT - NeXT 2-bit RLE (2 bpp only)
45
+ CCITTRLEW - CCITT modified Huffman RLE with word alignment (binary only)
46
+ RLE - Packbits (Macintosh RLE) [default for MAP]
47
+ THUNDERSCAN - ThunderScan 4-bit RLE (only for 2 or 4 bpp)
48
+ PIXARLOG - Pixar companded 11-bit ZIP (only byte, ushort and float)
49
+ DEFLATE - LZ77 variation (ZIP)
50
+ ADOBE_DEFLATE - Adobe LZ77 variation
51
+ SGILOG - SGI Log Luminance RLE for L and Luv (only byte, ushort and float) [default for XYZ]
52
+ SGILOG24 - SGI Log 24-bit packed for Luv (only byte, ushort and float)
53
+ Can have more than one image.
54
+ Can have an alpha channel.
55
+ Components can be packed or not.
56
+ Lines arranged from top down to bottom or bottom up to top.
57
+ Handle(1) returns a TIFF* libTIFF structure.
58
+
59
+ Attributes:
60
+ Photometric IM_USHORT (1) (when writing this will complement the color_mode information, for Mask, MinIsWhite, ITULab and ICCLab)
61
+ ExtraSampleInfo IM_USHORT (1) (description of alpha channel: 0- uknown, 1- pre-multiplied, 2-normal)
62
+ JPEGQuality IM_INT (1) [0-100, default 75] (write only)
63
+ ZIPQuality IM_INT (1) [1-9, default 6] (write only)
64
+ ResolutionUnit (string) ["DPC", "DPI"]
65
+ XResolution, YResolution IM_FLOAT (1)
66
+ Description, Author, Copyright, DateTime, DocumentName,
67
+ PageName, TargetPrinter, Make, Model, Software, HostComputer (string)
68
+ InkNames (strings separated by '0's)
69
+ InkSet IM_USHORT (1)
70
+ NumberOfInks IM_USHORT (1)
71
+ DotRange IM_USHORT (2)
72
+ TransferFunction0, TransferFunction1, TransferFunction3 IM_USHORT [gray=0, rgb=012]
73
+ ReferenceBlackWhite IMFLOAT (6)
74
+ WhitePoint IMFLOAT (2)
75
+ PrimaryChromaticities IMFLOAT (6)
76
+ YCbCrCoefficients IM_FLOAT (3)
77
+ YCbCrSubSampling IM_USHORT (2)
78
+ YCbCrPositioning IM_USHORT (1)
79
+ PageNumber IM_USHORT (2)
80
+ StoNits IM_FLOAT (1)
81
+ XPosition, YPosition IM_FLOAT (1)
82
+ SMinSampleValue, SMaxSampleValue IM_FLOAT (1)
83
+ HalftoneHints IM_USHORT (2)
84
+ SubfileType IM_INT (1)
85
+ ICCProfile IM_BYTE (N)
86
+ MultiBandCount IM_USHORT (1) [Number of bands in a multiband gray image.]
87
+ MultiBandSelect IM_USHORT (1) [Band number to read one band of a multiband gray image. Must be set before reading image info.]
88
+ and other TIFF tags as they are described in the TIFF documentation.
89
+ GeoTIFF tags:
90
+ GeoTiePoints, GeoTransMatrix, IntergraphMatrix, GeoPixelScale, GeoDoubleParams IM_FLOAT (N)
91
+ GeoASCIIParams (string)
92
+ Read-only support for EXIF tags as they are described in the EXIF 2.2 documentation. See http://www.exif.org/
93
+ DNG tags as they are described in the DNG documentation. See http://www.adobe.com/br/products/dng/
94
+ Tags BlackLevel, DefaultCropOrigin and DefaultCropSize are incorrectly interpreted by libTIFF so they are ignored.
95
+ Raw image is loaded in place of the thumbnail image in the main IFD.
96
+ SubIFDCount IM_USHORT (1) [Number of subifds of the current image.]
97
+ SubIFDSelect IM_USHORT (1) [Subifd number to be read. Must be set before reading image info.]
98
+ (other attributes can be obtained by using libTIFF directly using the Handle(1) function)
99
+
100
+ Comments:
101
+ LogLuv is in fact Y'+CIE(u,v), so we choose to always convert it to XYZ.
102
+ SubIFD is handled only for DNG.
103
+ Since LZW patent expired, LZW compression is enabled. LZW Copyright Unisys.
104
+ libGeoTIFF can be used without XTIFF initialization. Use Handle(1) to obtain a TIFF*.
105
+
106
+ Changes:
107
+ "tiff_jpeg.c" - commented "downsampled_output = TRUE" in 2 places.
108
+ A few fixes in some files, search for "IMLIB" to see the changes.
109
+ New file "tif_config.h" to match our needs.
110
+ New file "tiff_binfile.c" that implement I/O rotines using imBinFile.
111
+ \endverbatim
112
+ * \ingroup format */
113
+ void imFormatRegisterTIFF(void);
114
+
115
+ /** \defgroup jpeg JPEG - JPEG File Interchange Format
116
+ * \section Description
117
+ *
118
+ * \par
119
+ * ISO/IEC 10918 (1994, 1995, 1997, 1999)\n
120
+ * http://www.jpeg.org/
121
+ * \par
122
+ * Access to the JPEG file format uses libJPEG version 7. \n
123
+ * http://www.ijg.org \n
124
+ * Copyright (C) 1994-2009, Thomas G. Lane, Guido Vollbeding \n
125
+ * from the Independent JPEG Group.
126
+ * \par
127
+ * Access to the EXIF attributes uses libEXIF version 0.6.17. \n
128
+ * http://sourceforge.net/projects/libexif \n
129
+ * Copyright (C) 2001-2003, Lutz M�ller
130
+ *
131
+ * \section Features
132
+ *
133
+ \verbatim
134
+ Data Types: Byte
135
+ Color Spaces: Gray, RGB, CMYK and YCbCr (Binary Saved as Gray)
136
+ Compressions:
137
+ JPEG - ISO JPEG [default]
138
+ Only one image.
139
+ No alpha channel.
140
+ Internally the components are always packed.
141
+ Internally the lines are arranged from top down to bottom.
142
+ Handle(1) returns jpeg_decompress_struct* when reading, and
143
+ jpeg_compress_struct* when writing (libJPEG structures).
144
+
145
+ Attributes:
146
+ AutoYCbCr IM_INT (1) (controls YCbCr auto conversion) default 1
147
+ JPEGQuality IM_INT (1) [0-100, default 75] (write only)
148
+ ResolutionUnit (string) ["DPC", "DPI"]
149
+ XResolution, YResolution IM_FLOAT (1)
150
+ Interlaced (same as Progressive) IM_INT (1 | 0) default 0
151
+ Description (string)
152
+ (lots of Exif tags)
153
+
154
+ Changes to libJPEG:
155
+ jdatadst.c - fflush and ferror replaced by macros JFFLUSH and JFERROR.
156
+ jinclude.h - standard JFFLUSH and JFERROR definitions, and new macro HAVE_JFIO.
157
+ jdhuf.c - added support for OJPEG_SUPPORT in libTIFF.
158
+ new file created: jconfig.h
159
+
160
+ Changes to libEXIF:
161
+ new files config.h and _stdint.h
162
+ changed "exif-tag.c" to add new function
163
+ changed "exif-entry.c" to improve exif_entry_initialize
164
+
165
+ Comments:
166
+ Other APPx markers are ignored.
167
+ No thumbnail support.
168
+ RGB images are automatically converted to YCbCr when saved.
169
+ Also YcbCr are converted to RGB when loaded. Use AutoYCbCr=0 to disable this behavior.
170
+ \endverbatim
171
+ * \ingroup format */
172
+ void imFormatRegisterJPEG(void);
173
+
174
+ /** \defgroup png PNG - Portable Network Graphic Format
175
+ * \section Description
176
+ *
177
+ * \par
178
+ * Access to the PNG file format uses libPNG version 1.2.39. \n
179
+ * http://www.libpng.org \n
180
+ * Copyright (C) 1998-2009 Glenn Randers-Pehrson
181
+ *
182
+ * \section Features
183
+ *
184
+ \verbatim
185
+ Data Types: Byte and UShort
186
+ Color Spaces: Gray, RGB, MAP and Binary
187
+ Compressions:
188
+ DEFLATE - LZ77 variation (ZIP) [default]
189
+ Only one image.
190
+ Can have an alpha channel.
191
+ Internally the components are always packed.
192
+ Internally the lines are arranged from top down to bottom.
193
+ Handle(1) returns png_structp libPNG structure.
194
+
195
+ Attributes:
196
+ ZIPQuality IM_INT (1) [1-9, default 6] (write only)
197
+ ResolutionUnit (string) ["DPC", "DPI"]
198
+ XResolution, YResolution IM_FLOAT (1)
199
+ Interlaced (same as Progressive) IM_INT (1 | 0) default 0
200
+ Gamma IM_FLOAT (1)
201
+ WhitePoint IMFLOAT (2)
202
+ PrimaryChromaticities IMFLOAT (6)
203
+ XPosition, YPosition IM_FLOAT (1)
204
+ sRGBIntent IM_INT (1) [0: Perceptual, 1: Relative colorimetric, 2: Saturation, 3: Absolute colorimetric]
205
+ TransparencyMap IM_BYTE (N) (for MAP images is the alpha value of the corresponding palette index)
206
+ TransparencyIndex IM_BYTE (1) (for MAP images is the first index that has minimum alpha in TransparencyMap, for GRAY images is the index that it is fully transparent)
207
+ TransparencyColor IM_BYTE (3) (for RGB images is the color that is full transparent)
208
+ CalibrationName, CalibrationUnits (string)
209
+ CalibrationLimits IM_INT (2)
210
+ CalibrationEquation IM_BYTE (1) [0-Linear,1-Exponential,2-Arbitrary,3-HyperbolicSine)]
211
+ CalibrationParam (string) [params separated by '\\n']
212
+ Title, Author, Description, Copyright, DateTime (string)
213
+ Software, Disclaimer, Warning, Source, Comment, ... (string)
214
+ DateTimeModified (string) [when writing uses the current system time]
215
+ ICCProfile IM_BYTE (N)
216
+ ScaleUnit (string) ["meters", "radians"]
217
+ XScale, YScale IM_FLOAT (1)
218
+
219
+ Comments:
220
+ When saving PNG image with TransparencyIndex or TransparencyMap, TransparencyMap has precedence, so set it to NULL if you changed TransparencyIndex.
221
+ Attributes after the image are ignored.
222
+ Define PNG_NO_CONSOLE_IO to avoid printfs. We also define PNG_TIME_RFC1123_SUPPORTED.
223
+ Added the following files to the makefile to optimize the library:
224
+ pngvcrd.c - PNG_USE_PNGVCRD
225
+ For Intel x86 CPU and Microsoft Visual C++ compiler
226
+ pnggccrd.c - PNG_USE_PNGGCCRD
227
+ For Intel x86 CPU (Pentium-MMX or later) and GNU C compiler.
228
+ \endverbatim
229
+ * \ingroup format */
230
+ void imFormatRegisterPNG(void);
231
+
232
+ /** \defgroup gif GIF - Graphics Interchange Format
233
+ * \section Description
234
+ *
235
+ * \par
236
+ * Copyright (c) 1987,1988,1989,1990 CompuServe Incorporated. \n
237
+ * GIF is a Service Mark property of CompuServe Incorporated. \n
238
+ * Graphics Interchange Format Programming Reference, 1990. \n
239
+ * LZW Copyright Unisys.
240
+ * \par
241
+ * Patial Internal Implementation. \n
242
+ * Decoding and encoding code were extracted from GIFLib 1.0. \n
243
+ * Copyright (c) 1989 Gershon Elber.
244
+ *
245
+ * \section Features
246
+ *
247
+ \verbatim
248
+ Data Types: Byte
249
+ Color Spaces: MAP only, (Gray and Binary saved as MAP)
250
+ Compressions:
251
+ LZW - Lempel-Ziv & Welch [default]
252
+ Can have more than one image.
253
+ No alpha channel.
254
+ Internally the lines are arranged from top down to bottom.
255
+
256
+ Attributes:
257
+ ScreenHeight, ScreenWidth IM_USHORT (1) screen size [default to the first image size]
258
+ Interlaced IM_INT (1 | 0) default 0
259
+ Description (string)
260
+ TransparencyIndex IM_BYTE (1)
261
+ XScreen, YScreen IM_USHORT (1) screen position
262
+ UserInput IM_BYTE (1) [1, 0]
263
+ Disposal (string) [UNDEF, LEAVE, RBACK, RPREV]
264
+ Delay IM_USHORT (1) [time to wait betweed frames in 1/100 of a second]
265
+ Iterations IM_USHORT (1) (NETSCAPE2.0 Application Extension) [The number of times to repeat the animation. 0 means to repeat forever. ]
266
+
267
+ Comments:
268
+ Attributes after the last image are ignored.
269
+ Reads GIF87 and GIF89, but writes GIF89 always.
270
+ Ignored attributes: Background Color Index, Pixel Aspect Ratio,
271
+ Plain Text Extensions, Application Extensions...
272
+ \endverbatim
273
+ * \ingroup format */
274
+ void imFormatRegisterGIF(void);
275
+
276
+ /** \defgroup bmp BMP - Windows Device Independent Bitmap
277
+ * \section Description
278
+ *
279
+ * \par
280
+ * Windows Copyright Microsoft Corporation.
281
+ * \par
282
+ * Internal Implementation.
283
+ *
284
+ * \section Features
285
+ *
286
+ \verbatim
287
+ Data Types: Byte
288
+ Color Spaces: RGB, MAP and Binary (Gray saved as MAP)
289
+ Compressions:
290
+ NONE - no compression [default]
291
+ RLE - Run Lenght Encoding (only for MAP and Gray)
292
+ Only one image.
293
+ Can have an alpha channel (only for RGB)
294
+ Internally the components are always packed.
295
+ Lines arranged from top down to bottom or bottom up to top. But are saved always as bottom up.
296
+
297
+ Attributes:
298
+ ResolutionUnit (string) ["DPC", "DPI"]
299
+ XResolution, YResolution IM_FLOAT (1)
300
+
301
+ Comments:
302
+ Reads OS2 1.x and Windows 3, but writes Windows 3 always.
303
+ Version 4 and 5 BMPs are not supported.
304
+ \endverbatim
305
+ * \ingroup format */
306
+ void imFormatRegisterBMP(void);
307
+
308
+ /** \defgroup ras RAS - Sun Raster File
309
+ * \section Description
310
+ *
311
+ * \par
312
+ * Copyright Sun Corporation.
313
+ * \par
314
+ * Internal Implementation.
315
+ *
316
+ * \section Features
317
+ *
318
+ \verbatim
319
+ Data Types: Byte
320
+ Color Spaces: Gray, RGB, MAP and Binary
321
+ Compressions:
322
+ NONE - no compression [default]
323
+ RLE - Run Lenght Encoding
324
+ Only one image.
325
+ Can have an alpha channel (only for IM_RGB)
326
+ Internally the components are always packed.
327
+ Internally the lines are arranged from top down to bottom.
328
+
329
+ Attributes:
330
+ none
331
+ \endverbatim
332
+ * \ingroup format */
333
+ void imFormatRegisterRAS(void);
334
+
335
+ /** \defgroup led LED - IUP image in LED
336
+ * \section Description
337
+ *
338
+ * \par
339
+ * Copyright Tecgraf/PUC-Rio and PETROBRAS/CENPES.
340
+ * \par
341
+ * Internal Implementation.
342
+ *
343
+ * \section Features
344
+ *
345
+ \verbatim
346
+ Data Types: Byte
347
+ Color Spaces: MAP only (Gray and Binary saved as MAP)
348
+ Compressions:
349
+ NONE - no compression [default]
350
+ Only one image.
351
+ No alpha channel.
352
+ Internally the lines are arranged from top down to bottom.
353
+
354
+ Attributes:
355
+ none
356
+
357
+ Comments:
358
+ LED file must start with "LEDImage = IMAGE[".
359
+ \endverbatim
360
+ * \ingroup format */
361
+ void imFormatRegisterLED(void);
362
+
363
+ /** \defgroup sgi SGI - Silicon Graphics Image File Format
364
+ * \section Description
365
+ *
366
+ * \par
367
+ * SGI is a trademark of Silicon Graphics, Inc.
368
+ * \par
369
+ * Internal Implementation.
370
+ *
371
+ * \section Features
372
+ *
373
+ \verbatim
374
+ Data Types: Byte and UShort
375
+ Color Spaces: Gray and RGB (Binary saved as Gray, MAP with fixed palette when reading only)
376
+ Compressions:
377
+ NONE - no compression [default]
378
+ RLE - Run Lenght Encoding
379
+ Only one image.
380
+ Can have an alpha channel (only for IM_RGB)
381
+ Internally the components are always packed.
382
+ Internally the lines are arranged from bottom up to top.
383
+
384
+ Attributes:
385
+ Description (string)
386
+ \endverbatim
387
+ * \ingroup format */
388
+ void imFormatRegisterSGI(void);
389
+
390
+ /** \defgroup pcx PCX - ZSoft Picture
391
+ * \section Description
392
+ *
393
+ * \par
394
+ * Copyright ZSoft Corporation. \n
395
+ * ZSoft (1988) PCX Technical Reference Manual.
396
+ * \par
397
+ * Internal Implementation.
398
+ *
399
+ * \section Features
400
+ *
401
+ \verbatim
402
+ Data Types: Byte
403
+ Color Spaces: RGB, MAP and Binary (Gray saved as MAP)
404
+ Compressions:
405
+ NONE - no compression
406
+ RLE - Run Lenght Encoding [default - since uncompressed PCX is not well supported]
407
+ Only one image.
408
+ No alpha channel.
409
+ Internally the components are always packed.
410
+ Internally the lines are arranged from top down to bottom.
411
+
412
+ Attributes:
413
+ ResolutionUnit (string) ["DPC", "DPI"]
414
+ XResolution, YResolution IM_FLOAT (1)
415
+ XScreen, YScreen IM_USHORT (1) screen position
416
+
417
+ Comments:
418
+ Reads Versions 0-5, but writes Version 5 always.
419
+ \endverbatim
420
+ * \ingroup format */
421
+ void imFormatRegisterPCX(void);
422
+
423
+ /** \defgroup tga TGA - Truevision Graphics Adapter File
424
+ * \section Description
425
+ *
426
+ * \par
427
+ * Truevision TGA File Format Specification Version 2.0 \n
428
+ * Technical Manual Version 2.2 January, 1991 \n
429
+ * Copyright 1989, 1990, 1991 Truevision, Inc.
430
+ * \par
431
+ * Internal Implementation.
432
+ *
433
+ * \section Features
434
+ *
435
+ \verbatim
436
+ Supports 8 bits per component only. Data type is always Byte.
437
+ Color Spaces: Gray, RGB and MAP (Binary saved as Gray)
438
+ Compressions:
439
+ NONE - no compression [default]
440
+ RLE - Run Lenght Encoding
441
+ Only one image.
442
+ No alpha channel.
443
+ Internally the components are always packed.
444
+ Internally the lines are arranged from bottom up to top or from top down to bottom.
445
+
446
+ Attributes:
447
+ XScreen, YScreen IM_USHORT (1) screen position
448
+ Title, Author, Description, JobName, Software (string)
449
+ SoftwareVersion (read only) (string)
450
+ DateTimeModified (string) [when writing uses the current system time]
451
+ Gamma IM_FLOAT (1)
452
+ \endverbatim
453
+ * \ingroup format */
454
+ void imFormatRegisterTGA(void);
455
+
456
+ /** \defgroup pnm PNM - Netpbm Portable Image Map
457
+ * \section Description
458
+ *
459
+ * \par
460
+ * PNM formats Copyright Jef Poskanzer
461
+ * \par
462
+ * Internal Implementation.
463
+ *
464
+ * \section Features
465
+ *
466
+ \verbatim
467
+ Data Types: Byte and UShort
468
+ Color Spaces: Gray, RGB and Binary
469
+ Compressions:
470
+ NONE - no compression [default]
471
+ ASCII (textual data)
472
+ Can have more than one image, but sequencial access only.
473
+ No alpha channel.
474
+ Internally the components are always packed.
475
+ Internally the lines are arranged from top down to bottom.
476
+
477
+ Attributes:
478
+ Description (string)
479
+
480
+ Comments:
481
+ In fact ASCII is an expansion, not a compression, because the file will be larger than binary data.
482
+ \endverbatim
483
+ * \ingroup format */
484
+ void imFormatRegisterPNM(void);
485
+
486
+ /** \defgroup ico ICO - Windows Icon
487
+ * \section Description
488
+ *
489
+ * \par
490
+ * Windows Copyright Microsoft Corporation.
491
+ * \par
492
+ * Internal Implementation.
493
+ *
494
+ * \section Features
495
+ *
496
+ \verbatim
497
+ Data Types: Byte
498
+ Color Spaces: RGB, MAP and Binary (Gray saved as MAP)
499
+ Compressions:
500
+ NONE - no compression [default]
501
+ Can have more than one image. But writing is limited to 5 images,
502
+ and all images must have different sizes and bpp.
503
+ Can have an alpha channel (only for RGB)
504
+ Internally the components are always packed.
505
+ Internally the lines are arranged from bottom up to top.
506
+
507
+ Attributes:
508
+ TransparencyIndex IM_BYTE (1)
509
+
510
+ Comments:
511
+ If the user specifies an alpha channel, the AND mask is loaded as alpha if
512
+ the file color mode does not contain the IM_ALPHA flag.
513
+ For MAP imagens, if the user does not specifies an alpha channel
514
+ the TransparencyIndex is used to initialize the AND mask when writing,
515
+ and if the user does specifies an alpha channel
516
+ the most repeated index with transparency will be the transparent index.
517
+ Although any size and common bpp can be used is recomended to use the typical configurations:
518
+ 16x16, 32x32, 48x48, 64x64 or 96x96
519
+ 2 colors, 16 colors, 256 colors, 24bpp or 32bpp
520
+ \endverbatim
521
+ * \ingroup format */
522
+ void imFormatRegisterICO(void);
523
+
524
+ /** \defgroup krn KRN - IM Kernel File Format
525
+ * \section Description
526
+ *
527
+ * \par
528
+ * Textual format to provied a simple way to create kernel convolution images.
529
+ * \par
530
+ * Internal Implementation.
531
+ *
532
+ * \section Features
533
+ *
534
+ \verbatim
535
+ Data Types: Byte, Int
536
+ Color Spaces: Gray
537
+ Compressions:
538
+ NONE - no compression [default]
539
+ Only one image.
540
+ No alpha channel.
541
+ Internally the lines are arranged from top down to bottom.
542
+
543
+ Attributes:
544
+ Description (string)
545
+
546
+ Comments:
547
+ The format is very simple, inspired by PNM.
548
+ It was developed because PNM does not have support for INT and FLOAT.
549
+ Remeber that usually convolution operations use kernel size an odd number.
550
+
551
+ Format Model:
552
+ IMKERNEL
553
+ Description up to 512 characters
554
+ width height
555
+ type (0 - IM_INT, 1 - IM_FLOAT)
556
+ data...
557
+
558
+ Example:
559
+ IMKERNEL
560
+ Gradian
561
+ 3 3
562
+ 0
563
+ 0 -1 0
564
+ 0 1 0
565
+ 0 0 0
566
+ \endverbatim
567
+ * \ingroup format */
568
+ void imFormatRegisterKRN(void);
569
+
570
+
571
+ #if defined(__cplusplus)
572
+ }
573
+ #endif
574
+
575
+ #endif