ruby-iup 0.0.2 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +3 -0
- data/MANIFEST +8 -0
- data/MIT-LICENSE +18 -0
- data/README +12 -0
- data/Rakefile +68 -80
- data/doc/build_install.txt +9 -12
- data/examples/ctrl/cbox.rb +14 -15
- data/examples/ctrl/checkboard.rb +1 -1
- data/examples/ctrl/example1.rb +53 -53
- data/examples/ctrl/example2.rb +39 -39
- data/examples/ctrl/iupcolorbar.rb +95 -95
- data/examples/ctrl/iupcolorbrowser.rb +45 -45
- data/examples/ctrl/iupdial.rb +117 -117
- data/examples/ctrl/iupgetcolor.rb +7 -7
- data/examples/ctrl/iupgetparam.rb +62 -62
- data/examples/ctrl/iupglcanvas.rb +172 -172
- data/examples/ctrl/iupmask.rb +1 -3
- data/examples/ctrl/iupmatrix.rb +39 -39
- data/examples/ctrl/iupplot2.rb +2 -1
- data/examples/ctrl/iuptabs.rb +22 -22
- data/examples/ctrl/iuptree.rb +190 -190
- data/examples/ctrl/iupval.rb +71 -71
- data/examples/ctrl/numbering.rb +46 -46
- data/examples/ctrl/sample.rb +166 -166
- data/examples/dlg/iupfiledlg.rb +19 -19
- data/examples/dlg/iupgetfile.rb +19 -19
- data/examples/dlg/iuplistdialog.rb +26 -26
- data/examples/dlg/iupmessage.rb +5 -5
- data/examples/dlg/iupscanf.rb +17 -17
- data/examples/elem/iupdialog2.rb +25 -25
- data/examples/elem/iupfill.rb +51 -51
- data/examples/elem/iupframe.rb +25 -25
- data/examples/elem/iuphbox.rb +68 -68
- data/examples/elem/iupimage.rb +113 -113
- data/examples/elem/iupitem.rb +60 -60
- data/examples/elem/iuplabel.rb +57 -57
- data/examples/elem/iuplist.rb +41 -41
- data/examples/elem/iuplist2.rb +125 -125
- data/examples/elem/iupmenu.rb +32 -32
- data/examples/elem/iupmultiline.rb +24 -24
- data/examples/elem/iupmultiline2.rb +156 -156
- data/examples/elem/iupradio.rb +32 -32
- data/examples/elem/iupseparator.rb +81 -81
- data/examples/elem/iupsubmenu.rb +85 -85
- data/examples/elem/iuptext.rb +61 -61
- data/examples/elem/iuptimer.rb +36 -36
- data/examples/elem/iuptoggle.rb +110 -110
- data/examples/elem/iupvbox.rb +87 -87
- data/examples/elem/iupzbox.rb +60 -60
- data/examples/elem/mdisample.rb +377 -376
- data/examples/elem/scrollbar.rb +66 -66
- data/examples/elem/tray.rb +90 -90
- data/examples/func/iupgetattribute.rb +32 -32
- data/examples/func/iupidle.rb +48 -48
- data/ext/extconf.rb +62 -27
- data/ext/iup-linux/include/cd.h +9 -5
- data/ext/iup-linux/include/cd_private.h +13 -6
- data/ext/iup-linux/include/cdsvg.h +22 -0
- data/ext/iup-linux/include/im.h +287 -282
- data/ext/iup-linux/include/im_attrib.h +120 -116
- data/ext/iup-linux/include/im_attrib_flat.h +39 -39
- data/ext/iup-linux/include/im_binfile.h +224 -214
- data/ext/iup-linux/include/im_capture.h +365 -365
- data/ext/iup-linux/include/im_color.h +465 -465
- data/ext/iup-linux/include/im_colorhsi.h +56 -61
- data/ext/iup-linux/include/im_complex.h +180 -160
- data/ext/iup-linux/include/im_convert.h +142 -127
- data/ext/iup-linux/include/im_counter.h +69 -69
- data/ext/iup-linux/include/im_dib.h +195 -195
- data/ext/iup-linux/include/im_file.h +115 -111
- data/ext/iup-linux/include/im_format.h +97 -79
- data/ext/iup-linux/include/im_format_all.h +575 -576
- data/ext/iup-linux/include/im_format_avi.h +88 -87
- data/ext/iup-linux/include/im_format_ecw.h +93 -93
- data/ext/iup-linux/include/im_format_jp2.h +79 -78
- data/ext/iup-linux/include/im_format_raw.h +74 -64
- data/ext/iup-linux/include/im_format_wmv.h +101 -100
- data/ext/iup-linux/include/im_image.h +425 -403
- data/ext/iup-linux/include/im_kernel.h +315 -315
- data/ext/iup-linux/include/im_lib.h +191 -191
- data/ext/iup-linux/include/im_math.h +368 -368
- data/ext/iup-linux/include/im_math_op.h +214 -219
- data/ext/iup-linux/include/im_palette.h +172 -172
- data/ext/iup-linux/include/im_plus.h +73 -73
- data/ext/iup-linux/include/im_process.h +36 -35
- data/ext/iup-linux/include/im_process_ana.h +222 -221
- data/ext/iup-linux/include/im_process_glo.h +170 -170
- data/ext/iup-linux/include/im_process_loc.h +608 -577
- data/ext/iup-linux/include/im_process_pon.h +734 -712
- data/ext/iup-linux/include/im_raw.h +34 -34
- data/ext/iup-linux/include/im_util.h +277 -277
- data/ext/iup-linux/include/imlua.h +75 -83
- data/ext/iup-linux/include/iup.h +86 -40
- data/ext/iup-linux/include/iupcb.h +1 -25
- data/ext/iup-linux/include/iupcbox.h +1 -0
- data/ext/iup-linux/include/iupcbs.h +1 -1
- data/ext/iup-linux/include/iupcells.h +1 -130
- data/ext/iup-linux/include/iupcolorbar.h +1 -126
- data/ext/iup-linux/include/iupcontrols.h +26 -16
- data/ext/iup-linux/include/iupdef.h +205 -0
- data/ext/iup-linux/include/iupdial.h +1 -63
- data/ext/iup-linux/include/iupgauge.h +1 -57
- data/ext/iup-linux/include/iupgc.h +1 -0
- data/ext/iup-linux/include/iupgetparam.h +1 -27
- data/ext/iup-linux/include/iupgl.h +2 -7
- data/ext/iup-linux/include/iupim.h +7 -1
- data/ext/iup-linux/include/iupkey.h +4 -4
- data/ext/iup-linux/include/iupmask.h +2 -1
- data/ext/iup-linux/include/iupmatrix.h +1 -63
- data/ext/iup-linux/include/iupsbox.h +1 -0
- data/ext/iup-linux/include/iupspin.h +1 -21
- data/ext/iup-linux/include/iuptabs.h +1 -75
- data/ext/iup-linux/include/iuptree.h +1 -93
- data/ext/iup-linux/include/iupval.h +1 -46
- data/ext/iup-linux/include/old_im.h +59 -59
- data/ext/iup-linux/include/wd.h +5 -0
- data/ext/iup-linux/libcd.a +0 -0
- data/ext/iup-linux/libcdcontextplus.a +0 -0
- data/ext/iup-linux/libcdgdk.a +0 -0
- data/ext/iup-linux/libcdpdf.a +0 -0
- data/ext/iup-linux/libfreetype.a +0 -0
- data/ext/iup-linux/libim.a +0 -0
- data/ext/iup-linux/libim_fftw.a +0 -0
- data/ext/iup-linux/libim_jp2.a +0 -0
- data/ext/iup-linux/libim_process.a +0 -0
- data/ext/iup-linux/libiup.a +0 -0
- data/ext/iup-linux/libiup_pplot.a +0 -0
- data/ext/iup-linux/libiupcd.a +0 -0
- data/ext/iup-linux/libiupcontrols.a +0 -0
- data/ext/iup-linux/libiupgl.a +0 -0
- data/ext/iup-linux/libiupim.a +0 -0
- data/ext/iup-linux/libiupimglib.a +0 -0
- data/ext/iup-linux/libiupmot.a +0 -0
- data/ext/iup-linux/libpdflib.a +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cd.h +9 -5
- data/ext/{iup-win32 → iup-mingw32}/include/cd_canvas.hpp +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cd_old.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cd_private.h +13 -6
- data/ext/{iup-win32 → iup-mingw32}/include/cdcgm.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdclipbd.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cddbuf.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cddebug.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cddgn.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cddxf.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdemf.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdgdiplus.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdimage.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdirgb.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdiup.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdlua.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdlua3_private.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdlua5_private.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdluaim.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdluaiup.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdluapdf.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdmf.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdmf_private.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdnative.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdpdf.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdpicture.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdprint.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdps.h +0 -0
- data/ext/iup-mingw32/include/cdsvg.h +22 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdwmf.h +0 -0
- data/ext/iup-mingw32/include/im.h +287 -0
- data/ext/iup-mingw32/include/im_attrib.h +120 -0
- data/ext/iup-mingw32/include/im_attrib_flat.h +39 -0
- data/ext/iup-mingw32/include/im_binfile.h +224 -0
- data/ext/iup-mingw32/include/im_capture.h +365 -0
- data/ext/iup-mingw32/include/im_color.h +465 -0
- data/ext/iup-mingw32/include/im_colorhsi.h +56 -0
- data/ext/iup-mingw32/include/im_complex.h +180 -0
- data/ext/iup-mingw32/include/im_convert.h +142 -0
- data/ext/iup-mingw32/include/im_counter.h +69 -0
- data/ext/iup-mingw32/include/im_dib.h +195 -0
- data/ext/iup-mingw32/include/im_file.h +115 -0
- data/ext/iup-mingw32/include/im_format.h +97 -0
- data/ext/iup-mingw32/include/im_format_all.h +575 -0
- data/ext/iup-mingw32/include/im_format_avi.h +88 -0
- data/ext/iup-mingw32/include/im_format_ecw.h +93 -0
- data/ext/iup-mingw32/include/im_format_jp2.h +79 -0
- data/ext/iup-mingw32/include/im_format_raw.h +74 -0
- data/ext/iup-mingw32/include/im_format_wmv.h +101 -0
- data/ext/iup-mingw32/include/im_image.h +425 -0
- data/ext/iup-mingw32/include/im_kernel.h +315 -0
- data/ext/iup-mingw32/include/im_lib.h +191 -0
- data/ext/iup-mingw32/include/im_math.h +368 -0
- data/ext/iup-mingw32/include/im_math_op.h +214 -0
- data/ext/iup-mingw32/include/im_palette.h +172 -0
- data/ext/iup-mingw32/include/im_plus.h +73 -0
- data/ext/iup-mingw32/include/im_process.h +36 -0
- data/ext/iup-mingw32/include/im_process_ana.h +222 -0
- data/ext/iup-mingw32/include/im_process_glo.h +170 -0
- data/ext/iup-mingw32/include/im_process_loc.h +608 -0
- data/ext/iup-mingw32/include/im_process_pon.h +734 -0
- data/ext/iup-mingw32/include/im_raw.h +34 -0
- data/ext/iup-mingw32/include/im_util.h +277 -0
- data/ext/iup-mingw32/include/imlua.h +75 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iup.h +86 -40
- data/ext/{iup-win32 → iup-mingw32}/include/iup_pplot.h +0 -0
- data/ext/iup-mingw32/include/iupcb.h +1 -0
- data/ext/iup-mingw32/include/iupcbox.h +1 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iupcbs.h +1 -1
- data/ext/iup-mingw32/include/iupcells.h +1 -0
- data/ext/iup-mingw32/include/iupcolorbar.h +1 -0
- data/ext/iup-mingw32/include/iupcontrols.h +46 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iupdef.h +205 -0
- data/ext/iup-mingw32/include/iupdial.h +1 -0
- data/ext/iup-mingw32/include/iupgauge.h +1 -0
- data/ext/iup-mingw32/include/iupgc.h +1 -0
- data/ext/iup-mingw32/include/iupgetparam.h +1 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iupgl.h +2 -7
- data/ext/{iup-win32 → iup-mingw32}/include/iupim.h +7 -1
- data/ext/{iup-win32 → iup-mingw32}/include/iupkey.h +4 -4
- data/ext/{iup-win32 → iup-mingw32}/include/iuplua.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iuplua_pplot.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iupluacontrols.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iupluagl.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iupluaim.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iupluaole.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iupmask.h +2 -1
- data/ext/iup-mingw32/include/iupmatrix.h +1 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iupole.h +0 -0
- data/ext/iup-mingw32/include/iupsbox.h +1 -0
- data/ext/iup-mingw32/include/iupspin.h +1 -0
- data/ext/iup-mingw32/include/iuptabs.h +1 -0
- data/ext/iup-mingw32/include/iuptree.h +1 -0
- data/ext/iup-mingw32/include/iupval.h +1 -0
- data/ext/iup-mingw32/include/old_im.h +59 -0
- data/ext/{iup-win32 → iup-mingw32}/include/wd.h +5 -0
- data/ext/{iup-win32 → iup-mingw32}/include/wd_old.h +0 -0
- data/ext/iup-mingw32/libcd.a +0 -0
- data/ext/iup-mingw32/libcdpdf.a +0 -0
- data/ext/iup-mingw32/libfreetype6.a +0 -0
- data/ext/iup-mingw32/libim.a +0 -0
- data/ext/iup-mingw32/libim_avi.a +0 -0
- data/ext/iup-mingw32/libim_fftw.a +0 -0
- data/ext/iup-mingw32/libim_jp2.a +0 -0
- data/ext/iup-mingw32/libim_process.a +0 -0
- data/ext/iup-mingw32/libiup.a +0 -0
- data/ext/iup-mingw32/libiup_pplot.a +0 -0
- data/ext/iup-mingw32/libiupcd.a +0 -0
- data/ext/iup-mingw32/libiupcontrols.a +0 -0
- data/ext/iup-mingw32/libiupgl.a +0 -0
- data/ext/iup-mingw32/libiupim.a +0 -0
- data/ext/iup-mingw32/libiupimglib.a +0 -0
- data/ext/iup-mingw32/libiupole.a +0 -0
- data/ext/iup-mingw32/libpdflib.a +0 -0
- data/ext/iup-mswin32/cd.lib +0 -0
- data/ext/iup-mswin32/cdcontextplus.lib +0 -0
- data/ext/iup-mswin32/cdgdk.lib +0 -0
- data/ext/iup-mswin32/cdpdf.lib +0 -0
- data/ext/iup-mswin32/freetype6.lib +0 -0
- data/ext/iup-mswin32/im.lib +0 -0
- data/ext/iup-mswin32/im_avi.lib +0 -0
- data/ext/iup-mswin32/im_capture.lib +0 -0
- data/ext/iup-mswin32/im_fftw.lib +0 -0
- data/ext/iup-mswin32/im_jp2.lib +0 -0
- data/ext/iup-mswin32/im_process.lib +0 -0
- data/ext/iup-mswin32/im_wmv.lib +0 -0
- data/ext/iup-mswin32/include/cd.h +498 -0
- data/ext/iup-mswin32/include/cd_canvas.hpp +358 -0
- data/ext/iup-mswin32/include/cd_old.h +158 -0
- data/ext/iup-mswin32/include/cd_private.h +369 -0
- data/ext/iup-mswin32/include/cdcgm.h +34 -0
- data/ext/iup-mswin32/include/cdclipbd.h +22 -0
- data/ext/iup-mswin32/include/cddbuf.h +23 -0
- data/ext/iup-mswin32/include/cddebug.h +24 -0
- data/ext/iup-mswin32/include/cddgn.h +23 -0
- data/ext/iup-mswin32/include/cddxf.h +22 -0
- data/ext/iup-mswin32/include/cdemf.h +22 -0
- data/ext/iup-mswin32/include/cdgdiplus.h +29 -0
- data/ext/iup-mswin32/include/cdimage.h +23 -0
- data/ext/iup-mswin32/include/cdirgb.h +30 -0
- data/ext/iup-mswin32/include/cdiup.h +22 -0
- data/ext/iup-mswin32/include/cdlua.h +39 -0
- data/ext/iup-mswin32/include/cdlua3_private.h +120 -0
- data/ext/iup-mswin32/include/cdlua5_private.h +141 -0
- data/ext/iup-mswin32/include/cdluaim.h +24 -0
- data/ext/iup-mswin32/include/cdluaiup.h +27 -0
- data/ext/iup-mswin32/include/cdluapdf.h +27 -0
- data/ext/iup-mswin32/include/cdmf.h +24 -0
- data/ext/iup-mswin32/include/cdmf_private.h +32 -0
- data/ext/iup-mswin32/include/cdnative.h +26 -0
- data/ext/iup-mswin32/include/cdpdf.h +38 -0
- data/ext/iup-mswin32/include/cdpicture.h +22 -0
- data/ext/iup-mswin32/include/cdprint.h +23 -0
- data/ext/iup-mswin32/include/cdps.h +37 -0
- data/ext/iup-mswin32/include/cdsvg.h +22 -0
- data/ext/iup-mswin32/include/cdwmf.h +22 -0
- data/ext/iup-mswin32/include/im.h +287 -0
- data/ext/iup-mswin32/include/im_attrib.h +120 -0
- data/ext/iup-mswin32/include/im_attrib_flat.h +39 -0
- data/ext/iup-mswin32/include/im_binfile.h +224 -0
- data/ext/iup-mswin32/include/im_capture.h +365 -0
- data/ext/iup-mswin32/include/im_color.h +465 -0
- data/ext/iup-mswin32/include/im_colorhsi.h +56 -0
- data/ext/iup-mswin32/include/im_complex.h +180 -0
- data/ext/iup-mswin32/include/im_convert.h +142 -0
- data/ext/iup-mswin32/include/im_counter.h +69 -0
- data/ext/iup-mswin32/include/im_dib.h +195 -0
- data/ext/iup-mswin32/include/im_file.h +115 -0
- data/ext/iup-mswin32/include/im_format.h +97 -0
- data/ext/iup-mswin32/include/im_format_all.h +575 -0
- data/ext/iup-mswin32/include/im_format_avi.h +88 -0
- data/ext/iup-mswin32/include/im_format_ecw.h +93 -0
- data/ext/iup-mswin32/include/im_format_jp2.h +79 -0
- data/ext/iup-mswin32/include/im_format_raw.h +74 -0
- data/ext/iup-mswin32/include/im_format_wmv.h +101 -0
- data/ext/iup-mswin32/include/im_image.h +425 -0
- data/ext/iup-mswin32/include/im_kernel.h +315 -0
- data/ext/iup-mswin32/include/im_lib.h +191 -0
- data/ext/iup-mswin32/include/im_math.h +368 -0
- data/ext/iup-mswin32/include/im_math_op.h +214 -0
- data/ext/iup-mswin32/include/im_palette.h +172 -0
- data/ext/iup-mswin32/include/im_plus.h +73 -0
- data/ext/iup-mswin32/include/im_process.h +36 -0
- data/ext/iup-mswin32/include/im_process_ana.h +222 -0
- data/ext/iup-mswin32/include/im_process_glo.h +170 -0
- data/ext/iup-mswin32/include/im_process_loc.h +608 -0
- data/ext/iup-mswin32/include/im_process_pon.h +734 -0
- data/ext/iup-mswin32/include/im_raw.h +34 -0
- data/ext/iup-mswin32/include/im_util.h +277 -0
- data/ext/iup-mswin32/include/imlua.h +75 -0
- data/ext/iup-mswin32/include/iup.h +364 -0
- data/ext/iup-mswin32/include/iup_pplot.h +40 -0
- data/ext/iup-mswin32/include/iupcb.h +1 -0
- data/ext/iup-mswin32/include/iupcbox.h +1 -0
- data/ext/iup-mswin32/include/iupcbs.h +43 -0
- data/ext/iup-mswin32/include/iupcells.h +1 -0
- data/ext/iup-mswin32/include/iupcolorbar.h +1 -0
- data/ext/iup-mswin32/include/iupcontrols.h +46 -0
- data/ext/iup-mswin32/include/iupdef.h +725 -0
- data/ext/iup-mswin32/include/iupdial.h +1 -0
- data/ext/iup-mswin32/include/iupgauge.h +1 -0
- data/ext/iup-mswin32/include/iupgc.h +1 -0
- data/ext/iup-mswin32/include/iupgetparam.h +1 -0
- data/ext/iup-mswin32/include/iupgl.h +96 -0
- data/ext/iup-mswin32/include/iupim.h +27 -0
- data/ext/iup-mswin32/include/iupkey.h +457 -0
- data/ext/iup-mswin32/include/iuplua.h +41 -0
- data/ext/iup-mswin32/include/iuplua_pplot.h +26 -0
- data/ext/iup-mswin32/include/iupluacontrols.h +27 -0
- data/ext/iup-mswin32/include/iupluagl.h +26 -0
- data/ext/iup-mswin32/include/iupluaim.h +26 -0
- data/ext/iup-mswin32/include/iupluaole.h +26 -0
- data/ext/iup-mswin32/include/iupmask.h +41 -0
- data/ext/iup-mswin32/include/iupmatrix.h +1 -0
- data/ext/iup-mswin32/include/iupole.h +24 -0
- data/ext/iup-mswin32/include/iupsbox.h +1 -0
- data/ext/iup-mswin32/include/iupspin.h +1 -0
- data/ext/iup-mswin32/include/iuptabs.h +1 -0
- data/ext/iup-mswin32/include/iuptree.h +1 -0
- data/ext/iup-mswin32/include/iupval.h +1 -0
- data/ext/iup-mswin32/include/old_im.h +59 -0
- data/ext/iup-mswin32/include/wd.h +83 -0
- data/ext/iup-mswin32/include/wd_old.h +85 -0
- data/ext/iup-mswin32/iup.lib +0 -0
- data/ext/iup-mswin32/iup_pplot.lib +0 -0
- data/ext/iup-mswin32/iupcd.lib +0 -0
- data/ext/iup-mswin32/iupcontrols.lib +0 -0
- data/ext/iup-mswin32/iupgl.lib +0 -0
- data/ext/iup-mswin32/iupgtk.lib +0 -0
- data/ext/iup-mswin32/iupim.lib +0 -0
- data/ext/{iup-win32/iupimglib.dll → iup-mswin32/iupimglib.lib} +0 -0
- data/ext/iup-mswin32/iupole.lib +0 -0
- data/ext/iup-mswin32/pdflib.lib +0 -0
- data/ext/iup.c +6 -37
- data/ext/{rb_cd.h → rb_cd.c} +300 -302
- data/ext/rb_iup.c +2485 -0
- data/ext/rb_iup.h +400 -2475
- data/ext/{rb_iup_pplot.h → rb_iup_pplot.c} +21 -22
- data/ext/{rb_iupcb.h → rb_iupcb.c} +2 -3
- data/ext/{rb_iupcells.h → rb_iupcells.c} +5 -5
- data/ext/{rb_iupcolorbar.h → rb_iupcolorbar.c} +2 -3
- data/ext/{rb_iupcontrols.h → rb_iupcontrols.c} +1 -1
- data/ext/{rb_iupdial.h → rb_iupdial.c} +3 -4
- data/ext/{rb_iupgauge.h → rb_iupgauge.c} +2 -3
- data/ext/{rb_iupgc.h → rb_iupgc.c} +1 -1
- data/ext/{rb_iupgetparam.h → rb_iupgetparam.c} +12 -10
- data/ext/{rb_iupgl.h → rb_iupgl.c} +10 -10
- data/ext/{rb_iupim.h → rb_iupim.c} +6 -6
- data/ext/{rb_iupmatrix.h → rb_iupmatrix.c} +15 -16
- data/ext/{rb_iupole.h → rb_iupole.c} +4 -4
- data/ext/{rb_iupsbox.h → rb_iupsbox.c} +3 -3
- data/ext/{rb_iupspin.h → rb_iupspin.c} +4 -5
- data/ext/{rb_iuptabs.h → rb_iuptabs.c} +5 -6
- data/ext/{rb_iuptree.h → rb_iuptree.c} +20 -21
- data/ext/{rb_iupval.h → rb_iupval.c} +3 -4
- data/ruby-iup.gemspec +26 -0
- data/test/test_ruby_iup.rb +25 -0
- metadata +395 -270
- data/ext/iup-linux/include/lauxlib.h +0 -174
- data/ext/iup-linux/include/lua.h +0 -388
- data/ext/iup-linux/include/lua.hpp +0 -9
- data/ext/iup-linux/include/luaconf.h +0 -763
- data/ext/iup-linux/include/lualib.h +0 -53
- data/ext/iup-linux/libcd.so +0 -0
- data/ext/iup-linux/libcdcontextplus.so +0 -0
- data/ext/iup-linux/libcdpdf.so +0 -0
- data/ext/iup-linux/libfreetype.so +0 -0
- data/ext/iup-linux/libim.so +0 -0
- data/ext/iup-linux/libim_fftw.so +0 -0
- data/ext/iup-linux/libim_jp2.so +0 -0
- data/ext/iup-linux/libim_process.so +0 -0
- data/ext/iup-linux/libiup.so +0 -0
- data/ext/iup-linux/libiup_pplot.so +0 -0
- data/ext/iup-linux/libiupcd.so +0 -0
- data/ext/iup-linux/libiupcontrols.so +0 -0
- data/ext/iup-linux/libiupgl.so +0 -0
- data/ext/iup-linux/libiupim.so +0 -0
- data/ext/iup-linux/libiupimglib.so +0 -0
- data/ext/iup-linux/libiupmot.so +0 -0
- data/ext/iup-linux/libpdflib.so +0 -0
- data/ext/iup-win32/cd.dll +0 -0
- data/ext/iup-win32/cd.lib +0 -0
- data/ext/iup-win32/cdcontextplus.dll +0 -0
- data/ext/iup-win32/cdcontextplus.lib +0 -0
- data/ext/iup-win32/cdpdf.dll +0 -0
- data/ext/iup-win32/cdpdf.lib +0 -0
- data/ext/iup-win32/freetype6.dll +0 -0
- data/ext/iup-win32/freetype6.lib +0 -0
- data/ext/iup-win32/im.dll +0 -0
- data/ext/iup-win32/im.lib +0 -0
- data/ext/iup-win32/im_avi.dll +0 -0
- data/ext/iup-win32/im_avi.lib +0 -0
- data/ext/iup-win32/im_capture.dll +0 -0
- data/ext/iup-win32/im_capture.lib +0 -0
- data/ext/iup-win32/im_ecw.dll +0 -0
- data/ext/iup-win32/im_fftw.dll +0 -0
- data/ext/iup-win32/im_fftw.lib +0 -0
- data/ext/iup-win32/im_jp2.dll +0 -0
- data/ext/iup-win32/im_jp2.lib +0 -0
- data/ext/iup-win32/im_process.dll +0 -0
- data/ext/iup-win32/im_process.lib +0 -0
- data/ext/iup-win32/im_wmv.dll +0 -0
- data/ext/iup-win32/im_wmv.lib +0 -0
- data/ext/iup-win32/imlua_capture51.dll +0 -0
- data/ext/iup-win32/imlua_capture51.lib +0 -0
- data/ext/iup-win32/imlua_wmv51.dll +0 -0
- data/ext/iup-win32/imlua_wmv51.lib +0 -0
- data/ext/iup-win32/include/iupcb.h +0 -25
- data/ext/iup-win32/include/iupcells.h +0 -130
- data/ext/iup-win32/include/iupcolorbar.h +0 -126
- data/ext/iup-win32/include/iupcontrols.h +0 -36
- data/ext/iup-win32/include/iupdial.h +0 -63
- data/ext/iup-win32/include/iupgauge.h +0 -57
- data/ext/iup-win32/include/iupgetparam.h +0 -27
- data/ext/iup-win32/include/iupmatrix.h +0 -63
- data/ext/iup-win32/include/iupspin.h +0 -21
- data/ext/iup-win32/include/iuptabs.h +0 -75
- data/ext/iup-win32/include/iuptree.h +0 -93
- data/ext/iup-win32/include/iupval.h +0 -46
- data/ext/iup-win32/iup.dll +0 -0
- data/ext/iup-win32/iup.lib +0 -0
- data/ext/iup-win32/iup_pplot.dll +0 -0
- data/ext/iup-win32/iup_pplot.lib +0 -0
- data/ext/iup-win32/iupcd.dll +0 -0
- data/ext/iup-win32/iupcd.lib +0 -0
- data/ext/iup-win32/iupcontrols.dll +0 -0
- data/ext/iup-win32/iupcontrols.lib +0 -0
- data/ext/iup-win32/iupgl.dll +0 -0
- data/ext/iup-win32/iupgl.lib +0 -0
- data/ext/iup-win32/iupgtk.dll +0 -0
- data/ext/iup-win32/iupgtk.lib +0 -0
- data/ext/iup-win32/iupim.dll +0 -0
- data/ext/iup-win32/iupim.lib +0 -0
- data/ext/iup-win32/iupimglib.lib +0 -0
- data/ext/iup-win32/iupole.dll +0 -0
- data/ext/iup-win32/iupole.lib +0 -0
- data/ext/iup-win32/iupstub.lib +0 -0
- data/ext/iup-win32/pdflib.dll +0 -0
- data/ext/iup-win32/pdflib.lib +0 -0
- data/ext/mkrf_conf.rb +0 -72
- data/ext/rb_iupcompat.h +0 -237
- data/ext/rb_iupdef.h +0 -3
- data/ext/rb_iupmask.h +0 -189
- data/lib/README +0 -1
|
@@ -1,64 +1,74 @@
|
|
|
1
|
-
/** \file
|
|
2
|
-
* \brief Initialize the RAW Format Driver
|
|
3
|
-
* Header for internal use only.
|
|
4
|
-
*
|
|
5
|
-
* See Copyright Notice in im_lib.h
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
#ifndef __IM_FORMAT_RAW_H
|
|
9
|
-
#define __IM_FORMAT_RAW_H
|
|
10
|
-
|
|
11
|
-
#if defined(__cplusplus)
|
|
12
|
-
extern "C" {
|
|
13
|
-
#endif
|
|
14
|
-
|
|
15
|
-
/** \defgroup raw RAW - RAW File
|
|
16
|
-
*
|
|
17
|
-
* \par
|
|
18
|
-
* The file must be open/created with the functions \ref imFileOpenRaw and \ref imFileNewRaw.
|
|
19
|
-
*
|
|
20
|
-
* \section Description
|
|
21
|
-
*
|
|
22
|
-
* \par
|
|
23
|
-
* Internal Implementation.
|
|
24
|
-
* \par
|
|
25
|
-
* Supports RAW binary images.
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* \
|
|
34
|
-
*
|
|
35
|
-
* \par
|
|
36
|
-
*
|
|
37
|
-
* \par
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
\
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
1
|
+
/** \file
|
|
2
|
+
* \brief Initialize the RAW Format Driver
|
|
3
|
+
* Header for internal use only.
|
|
4
|
+
*
|
|
5
|
+
* See Copyright Notice in im_lib.h
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef __IM_FORMAT_RAW_H
|
|
9
|
+
#define __IM_FORMAT_RAW_H
|
|
10
|
+
|
|
11
|
+
#if defined(__cplusplus)
|
|
12
|
+
extern "C" {
|
|
13
|
+
#endif
|
|
14
|
+
|
|
15
|
+
/** \defgroup raw RAW - RAW File
|
|
16
|
+
*
|
|
17
|
+
* \par
|
|
18
|
+
* The file must be open/created with the functions \ref imFileOpenRaw and \ref imFileNewRaw.
|
|
19
|
+
*
|
|
20
|
+
* \section Description
|
|
21
|
+
*
|
|
22
|
+
* \par
|
|
23
|
+
* Internal Implementation.
|
|
24
|
+
* \par
|
|
25
|
+
* Supports RAW binary images. This is an unstructured and uncompressed binary data.
|
|
26
|
+
* It is NOT a Camera RAW file generated in many professional digital cameras. \n
|
|
27
|
+
* You must know image parameters a priori and must set the IM_INT attributes "Width", "Height", "ColorMode", "DataType"
|
|
28
|
+
* before the imFileReadImageInfo/imFileWriteImageInfo functions.
|
|
29
|
+
* \par
|
|
30
|
+
* The data must be in binary form, but can start in an arbitrary offset from the begining of the file, use attribute "StartOffset".
|
|
31
|
+
* The default is at 0 offset.
|
|
32
|
+
* \par
|
|
33
|
+
* Integer sign and double precision can be converted using attribute "SwitchType". \n
|
|
34
|
+
* The conversions will be BYTE<->CHAR, USHORT<->SHORT, INT<->UINT, FLOAT<->DOUBLE.
|
|
35
|
+
* \par
|
|
36
|
+
* Byte Order can be Little Endian (Intel=1) or Big Endian (Motorola=0), use the attribute "ByteOrder", the default is the current CPU.
|
|
37
|
+
* \par
|
|
38
|
+
* The lines can be aligned to a BYTE (1), WORD (2) or DWORD (4) boundaries, ue attribute "Padding" with the respective value.
|
|
39
|
+
* \par
|
|
40
|
+
* If the compression is ASCII the data is stored in textual format, instead of binary.
|
|
41
|
+
* In this case SwitchType and ByteOrder are ignored, and Padding should be 0.
|
|
42
|
+
* \par
|
|
43
|
+
* See \ref im_raw.h
|
|
44
|
+
*
|
|
45
|
+
* \section Features
|
|
46
|
+
*
|
|
47
|
+
\verbatim
|
|
48
|
+
Data Types: <all>
|
|
49
|
+
Color Spaces: all, except MAP.
|
|
50
|
+
Compressions:
|
|
51
|
+
NONE - no compression [default]
|
|
52
|
+
ASCII (textual data)
|
|
53
|
+
Can have more than one image, depends on "StartOffset" attribute.
|
|
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
|
+
|
|
58
|
+
Attributes:
|
|
59
|
+
Width, Height, ColorMode, DataType IM_INT (1)
|
|
60
|
+
ImageCount[1], StartOffset[0], SwitchType[FALSE], ByteOrder[IM_LITTLEENDIAN], Padding[0] IM_INT (1)
|
|
61
|
+
|
|
62
|
+
Comments:
|
|
63
|
+
In fact ASCII is an expansion, not a compression, because the file will be larger than binary data.
|
|
64
|
+
\endverbatim
|
|
65
|
+
* \ingroup format */
|
|
66
|
+
imFormat* imFormatInitRAW(void);
|
|
67
|
+
|
|
68
|
+
void imFormatFinishRAW(void);
|
|
69
|
+
|
|
70
|
+
#if defined(__cplusplus)
|
|
71
|
+
}
|
|
72
|
+
#endif
|
|
73
|
+
|
|
74
|
+
#endif
|
|
@@ -1,100 +1,101 @@
|
|
|
1
|
-
/** \file
|
|
2
|
-
* \brief Register the WMF Format
|
|
3
|
-
*
|
|
4
|
-
* See Copyright Notice in im_lib.h
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
#ifndef __IM_FORMAT_WMV_H
|
|
8
|
-
#define __IM_FORMAT_WMV_H
|
|
9
|
-
|
|
10
|
-
#if defined(__cplusplus)
|
|
11
|
-
extern "C" {
|
|
12
|
-
#endif
|
|
13
|
-
|
|
14
|
-
/** \defgroup wmv WMV - Windows Media Video Format
|
|
15
|
-
* \section Description
|
|
16
|
-
*
|
|
17
|
-
* \par
|
|
18
|
-
* Advanced Systems Format (ASF) \n
|
|
19
|
-
* Windows Copyright Microsoft Corporation.
|
|
20
|
-
* \par
|
|
21
|
-
* Access to the WMV format uses Windows Media SDK. Available in Windows Only. \n
|
|
22
|
-
* You must link the application with "im_wmv.lib"
|
|
23
|
-
* and you must call the function \ref imFormatRegisterWMV once
|
|
24
|
-
* to register the format into the IM core library.
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* http://
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
MPEG-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
Can have
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
Handle(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
(
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
*
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
1
|
+
/** \file
|
|
2
|
+
* \brief Register the WMF Format
|
|
3
|
+
*
|
|
4
|
+
* See Copyright Notice in im_lib.h
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#ifndef __IM_FORMAT_WMV_H
|
|
8
|
+
#define __IM_FORMAT_WMV_H
|
|
9
|
+
|
|
10
|
+
#if defined(__cplusplus)
|
|
11
|
+
extern "C" {
|
|
12
|
+
#endif
|
|
13
|
+
|
|
14
|
+
/** \defgroup wmv WMV - Windows Media Video Format
|
|
15
|
+
* \section Description
|
|
16
|
+
*
|
|
17
|
+
* \par
|
|
18
|
+
* Advanced Systems Format (ASF) \n
|
|
19
|
+
* Windows Copyright Microsoft Corporation.
|
|
20
|
+
* \par
|
|
21
|
+
* Access to the WMV format uses Windows Media SDK. Available in Windows Only. \n
|
|
22
|
+
* You must link the application with "im_wmv.lib"
|
|
23
|
+
* and you must call the function \ref imFormatRegisterWMV once
|
|
24
|
+
* to register the format into the IM core library.
|
|
25
|
+
* In Lua call require"imlua_wmv". \n
|
|
26
|
+
* Depends also on the WMF SDK (wmvcore.lib).
|
|
27
|
+
* When using the "im_wmv.dll" this extra library is not necessary.
|
|
28
|
+
* \par
|
|
29
|
+
* The application users should have the WMV codec 9 installed:
|
|
30
|
+
* http://www.microsoft.com/windows/windowsmedia/format/codecdownload.aspx
|
|
31
|
+
* \par
|
|
32
|
+
* You must agree with the WMF SDK EULA to use the SDK. \n
|
|
33
|
+
* http://wmlicense.smdisp.net/v9sdk/
|
|
34
|
+
* \par
|
|
35
|
+
* For more information: \n
|
|
36
|
+
* http://www.microsoft.com/windows/windowsmedia/9series/sdk.aspx \n
|
|
37
|
+
* http://msdn.microsoft.com/library/en-us/wmform/htm/introducingwindowsmediaformat.asp
|
|
38
|
+
* \par
|
|
39
|
+
* See \ref im_format_wmv.h
|
|
40
|
+
*
|
|
41
|
+
* \section Features
|
|
42
|
+
*
|
|
43
|
+
\verbatim
|
|
44
|
+
Data Types: Byte
|
|
45
|
+
Color Spaces: RGB and MAP (Gray and Binary saved as MAP)
|
|
46
|
+
Compressions (installed in Windows XP by default):
|
|
47
|
+
NONE - no compression
|
|
48
|
+
MPEG-4v3 - Windows Media MPEG-4 Video V3
|
|
49
|
+
MPEG-4v1 - ISO MPEG-4 Video V1
|
|
50
|
+
WMV7 - Windows Media Video V7
|
|
51
|
+
WMV7Screen - Windows Media Screen V7
|
|
52
|
+
WMV8 - Windows Media Video V8
|
|
53
|
+
WMV9Screen - Windows Media Video 9 Screen
|
|
54
|
+
WMV9 - Windows Media Video 9 [default]
|
|
55
|
+
Unknown - Others
|
|
56
|
+
Can have more than one image.
|
|
57
|
+
Can have an alpha channel (only for RGB) ?
|
|
58
|
+
Internally the components are always packed.
|
|
59
|
+
Lines arranged from top down to bottom or bottom up to top.
|
|
60
|
+
Handle(0) return NULL. imBinFile is not supported.
|
|
61
|
+
Handle(1) returns IWMSyncReader* when reading, IWMWriter* when writing.
|
|
62
|
+
|
|
63
|
+
Attributes:
|
|
64
|
+
FPS IM_FLOAT (1) (should set when writing, default 15)
|
|
65
|
+
WMFQuality IM_INT (1) [0-100, default 50] (write only)
|
|
66
|
+
MaxKeyFrameTime IM_INT (1) (write only) [maximum key frame interval in miliseconds, default 5 seconds]
|
|
67
|
+
DataRate IM_INT (1) (write only) [kilobits/second, default 2400]
|
|
68
|
+
VBR IM_INT (1) [0, 1] (write only) [0 - Constant Bit Rate (default), 1 - Variable Bit Rate (Quality-Based)]
|
|
69
|
+
(and several others from the file-level attributes) For ex:
|
|
70
|
+
Title, Author, Copyright, Description (string)
|
|
71
|
+
Duration IM_INT [100-nanosecond units]
|
|
72
|
+
Seekable, HasAudio, HasVideo, Is_Protected, Is_Trusted, IsVBR IM_INT (1) [0, 1]
|
|
73
|
+
NumberOfFrames IM_INT (1)
|
|
74
|
+
|
|
75
|
+
Comments:
|
|
76
|
+
IMPORTANT - The "image_count" and the "FPS" attribute may not be available from the file,
|
|
77
|
+
we try to estimate from the duration and from the average time between frames, or using the default value.
|
|
78
|
+
We do not handle DRM protected files (Digital Rights Management).
|
|
79
|
+
Reads only the first video stream. Other streams are ignored.
|
|
80
|
+
All the images have the same size, you must call imFileReadImageInfo/imFileWriteImageInfo
|
|
81
|
+
at least once.
|
|
82
|
+
For optimal random reading, the file should be indexed previously.
|
|
83
|
+
If not indexed by frame, random positioning may not be precise.
|
|
84
|
+
Sequencial reading will always be precise.
|
|
85
|
+
When writing we use a custom profile and time indexing only.
|
|
86
|
+
We do not support multipass encoding.
|
|
87
|
+
Since the driver uses COM, CoInitialize(NULL) and CoUninitialize() are called every Open/Close.
|
|
88
|
+
\endverbatim
|
|
89
|
+
* \ingroup format */
|
|
90
|
+
|
|
91
|
+
/** Register the WMF Format. \n
|
|
92
|
+
* In Lua, when using require"imlua_wmv" this function will be automatically called.
|
|
93
|
+
* \ingroup wmv */
|
|
94
|
+
void imFormatRegisterWMV(void);
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
#if defined(__cplusplus)
|
|
98
|
+
}
|
|
99
|
+
#endif
|
|
100
|
+
|
|
101
|
+
#endif
|
|
@@ -1,403 +1,425 @@
|
|
|
1
|
-
/** \file
|
|
2
|
-
* \brief Image Manipulation
|
|
3
|
-
*
|
|
4
|
-
* See Copyright Notice in im_lib.h
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
#ifndef __IM_IMAGE_H
|
|
8
|
-
#define __IM_IMAGE_H
|
|
9
|
-
|
|
10
|
-
#if defined(__cplusplus)
|
|
11
|
-
extern "C" {
|
|
12
|
-
#endif
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
/** \defgroup imgclass imImage
|
|
16
|
-
*
|
|
17
|
-
* \par
|
|
18
|
-
* Base definitions and functions for image representation. \n
|
|
19
|
-
* Only the image processing operations depends on these definitions,
|
|
20
|
-
* Image Storage and Image Capture are completely independent.
|
|
21
|
-
* \par
|
|
22
|
-
* You can also initialize a structure with your own memory buffer, see \ref imImageInit.
|
|
23
|
-
* To release the structure without releasing the buffer,
|
|
24
|
-
* set "data[0]" to NULL before calling imImageDestroy.
|
|
25
|
-
* \par
|
|
26
|
-
* See \ref im_image.h
|
|
27
|
-
* \ingroup imagerep */
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
/** \brief imImage Structure Definition.
|
|
32
|
-
*
|
|
33
|
-
* \par
|
|
34
|
-
* An image representation than supports all the color spaces,
|
|
35
|
-
* but planes are always unpacked and the orientation is always bottom up.
|
|
36
|
-
* \ingroup imgclass */
|
|
37
|
-
typedef struct _imImage
|
|
38
|
-
{
|
|
39
|
-
/* main parameters */
|
|
40
|
-
int width; /**< Number of columns. image:Width() -> width: number [in Lua 5]. */
|
|
41
|
-
int height; /**< Number of lines. image:Height() -> height: number [in Lua 5]. */
|
|
42
|
-
int color_space; /**< Color space descriptor. See also \ref imColorSpace. image:ColorSpace() -> color_space: number [in Lua 5]. */
|
|
43
|
-
int data_type; /**< Data type descriptor. See also \ref imDataType. image:DataType() -> data_type: number [in Lua 5]. */
|
|
44
|
-
int has_alpha; /**< Indicates that there is an extra channel with alpha. image:HasAlpha() -> has_alpha: number [in Lua 5]. \n
|
|
45
|
-
It will not affect the secondary parameters, i.e. the number of planes will be in fact depth+1. \n
|
|
46
|
-
It is always 0 unless imImageAddAlpha is called, this is done in image load functions. */
|
|
47
|
-
|
|
48
|
-
/* secondary parameters */
|
|
49
|
-
int depth; /**< Number of planes (ColorSpaceDepth) */
|
|
50
|
-
int line_size; /**< Number of bytes per line in one plane (width * DataTypeSize) */
|
|
51
|
-
int plane_size; /**< Number of bytes per plane. (line_size * height) */
|
|
52
|
-
int size; /**< Number of bytes occupied by the image (plane_size * depth) */
|
|
53
|
-
int count; /**< Number of pixels (width * height) */
|
|
54
|
-
|
|
55
|
-
/* image data */
|
|
56
|
-
void** data; /**< Image data organized as a 2D matrix with several planes. \n
|
|
57
|
-
But plane 0 is also a pointer to the full data. \n
|
|
58
|
-
The remaining planes are: data[i] = data[0] + i*plane_size \n
|
|
59
|
-
In Lua, data indexing is possible using: image[plane][row][column] */
|
|
60
|
-
|
|
61
|
-
/* image attributes */
|
|
62
|
-
long *palette; /**< Color palette. image:GetPalette() -> palette: imPalette [in Lua 5]. \n
|
|
63
|
-
Used when depth=1. Otherwise is NULL. */
|
|
64
|
-
int palette_count; /**< The palette is always 256 colors allocated, but can have less colors used. */
|
|
65
|
-
|
|
66
|
-
void* attrib_table; /**< in fact is an imAttribTable, but we hide this here */
|
|
67
|
-
} imImage;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
/** Creates a new image.
|
|
71
|
-
* See also \ref imDataType and \ref imColorSpace. \n
|
|
72
|
-
* In Lua the IM image metatable name is "imImage".
|
|
73
|
-
* When converted to a string will return "imImage(%p) [width=%d,height=%d,color_space=%s,data_type=%s,depth=%d]" where %p is replaced by the userdata address,
|
|
74
|
-
* and other values are replaced by the respective attributes.
|
|
75
|
-
* If the image is already destroyed by im.ImageDestroy, then it will return also the suffix "-destroyed".
|
|
76
|
-
*
|
|
77
|
-
* \verbatim im.ImageCreate(width: number, height: number, color_space: number, data_type: number) -> image: imImage [in Lua 5] \endverbatim
|
|
78
|
-
* \ingroup imgclass */
|
|
79
|
-
imImage* imImageCreate(int width, int height, int color_space, int data_type);
|
|
80
|
-
|
|
81
|
-
/** Initializes the image structure but does not allocates image data.
|
|
82
|
-
* See also \ref imDataType and \ref imColorSpace.
|
|
83
|
-
* \ingroup imgclass */
|
|
84
|
-
imImage* imImageInit(int width, int height, int color_space, int data_type, void* data_buffer, long* palette, int palette_count);
|
|
85
|
-
|
|
86
|
-
/** Creates a new image based on an existing one. \n
|
|
87
|
-
* If the addicional parameters are -1, the given image parameters are used. \n
|
|
88
|
-
* The image atributes always are copied.
|
|
89
|
-
* See also \ref imDataType and \ref imColorSpace.
|
|
90
|
-
*
|
|
91
|
-
* \verbatim im.ImageCreateBased(image: imImage, [width: number], [height: number], [color_space: number], [data_type: number]) -> image: imImage [in Lua 5] \endverbatim
|
|
92
|
-
* The addicional parameters in Lua can be nil,
|
|
93
|
-
* and they can also be functions with the based image as a parameter to return the respective value.
|
|
94
|
-
* \ingroup imgclass */
|
|
95
|
-
imImage* imImageCreateBased(const imImage* image, int width, int height, int color_space, int data_type);
|
|
96
|
-
|
|
97
|
-
/** Destroys the image and frees the memory used.
|
|
98
|
-
* image data is destroyed only if its data[0] is not NULL. \n
|
|
99
|
-
* In Lua if this function is not called, the image is destroyed by the garbage collector.
|
|
100
|
-
*
|
|
101
|
-
* \verbatim im.ImageDestroy(image: imImage) [in Lua 5] \endverbatim
|
|
102
|
-
* \verbatim image:Destroy() [in Lua 5] \endverbatim
|
|
103
|
-
* \ingroup imgclass */
|
|
104
|
-
void imImageDestroy(imImage* image);
|
|
105
|
-
|
|
106
|
-
/** Adds an alpha channel plane.
|
|
107
|
-
*
|
|
108
|
-
* \verbatim image:AddAlpha() [in Lua 5] \endverbatim
|
|
109
|
-
* \ingroup imgclass */
|
|
110
|
-
void imImageAddAlpha(imImage* image);
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
*
|
|
114
|
-
* \verbatim image:
|
|
115
|
-
* \ingroup imgclass */
|
|
116
|
-
void
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
* \
|
|
122
|
-
*
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
* \
|
|
129
|
-
*
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
*
|
|
134
|
-
* \verbatim image:
|
|
135
|
-
* \ingroup imgclass */
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
* \
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
*
|
|
147
|
-
*
|
|
148
|
-
*
|
|
149
|
-
*
|
|
150
|
-
*
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
* \ingroup imgclass */
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
*
|
|
166
|
-
*
|
|
167
|
-
*
|
|
168
|
-
* \
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
-
* \ingroup imgclass */
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
* \verbatim image:
|
|
188
|
-
* \ingroup imgclass */
|
|
189
|
-
void
|
|
190
|
-
|
|
191
|
-
/**
|
|
192
|
-
*
|
|
193
|
-
*
|
|
194
|
-
* \
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
*
|
|
200
|
-
*
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
*
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
*
|
|
211
|
-
*
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
*
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
*
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
*
|
|
229
|
-
*
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
*
|
|
235
|
-
*
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
* \
|
|
247
|
-
*
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
*
|
|
253
|
-
*
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
*
|
|
257
|
-
*
|
|
258
|
-
* \
|
|
259
|
-
*
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
/**
|
|
264
|
-
*
|
|
265
|
-
*
|
|
266
|
-
*
|
|
267
|
-
*
|
|
268
|
-
*
|
|
269
|
-
* See
|
|
270
|
-
*
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
*
|
|
278
|
-
*
|
|
279
|
-
*
|
|
280
|
-
*
|
|
281
|
-
*
|
|
282
|
-
*
|
|
283
|
-
*
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
*
|
|
290
|
-
*
|
|
291
|
-
*
|
|
292
|
-
*
|
|
293
|
-
*
|
|
294
|
-
*
|
|
295
|
-
*
|
|
296
|
-
*
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
*
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
*
|
|
305
|
-
*
|
|
306
|
-
* index
|
|
307
|
-
*
|
|
308
|
-
*
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
*
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
*
|
|
318
|
-
*
|
|
319
|
-
*
|
|
320
|
-
*
|
|
321
|
-
* \
|
|
322
|
-
*
|
|
323
|
-
int
|
|
324
|
-
|
|
325
|
-
/** Loads an image from file
|
|
326
|
-
*
|
|
327
|
-
*
|
|
328
|
-
*
|
|
329
|
-
*
|
|
330
|
-
*
|
|
331
|
-
* \
|
|
332
|
-
*
|
|
333
|
-
* \
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
*
|
|
340
|
-
*
|
|
341
|
-
*
|
|
342
|
-
*
|
|
343
|
-
*
|
|
344
|
-
* \ingroup imgfile */
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
/** Loads an image
|
|
348
|
-
* index specifies the image number between 0 and image_count-1. \n
|
|
349
|
-
* Returns NULL if failed.
|
|
350
|
-
* Attributes from the file will be stored at the image.
|
|
351
|
-
* See also \ref imErrorCodes.
|
|
352
|
-
*
|
|
353
|
-
*
|
|
354
|
-
*
|
|
355
|
-
*
|
|
356
|
-
*
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
*
|
|
362
|
-
*
|
|
363
|
-
*
|
|
364
|
-
* \verbatim im.
|
|
365
|
-
*
|
|
366
|
-
* \ingroup imgfile */
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
*
|
|
373
|
-
* \
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
1
|
+
/** \file
|
|
2
|
+
* \brief Image Manipulation
|
|
3
|
+
*
|
|
4
|
+
* See Copyright Notice in im_lib.h
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#ifndef __IM_IMAGE_H
|
|
8
|
+
#define __IM_IMAGE_H
|
|
9
|
+
|
|
10
|
+
#if defined(__cplusplus)
|
|
11
|
+
extern "C" {
|
|
12
|
+
#endif
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
/** \defgroup imgclass imImage
|
|
16
|
+
*
|
|
17
|
+
* \par
|
|
18
|
+
* Base definitions and functions for image representation. \n
|
|
19
|
+
* Only the image processing operations depends on these definitions,
|
|
20
|
+
* Image Storage and Image Capture are completely independent.
|
|
21
|
+
* \par
|
|
22
|
+
* You can also initialize a structure with your own memory buffer, see \ref imImageInit.
|
|
23
|
+
* To release the structure without releasing the buffer,
|
|
24
|
+
* set "data[0]" to NULL before calling imImageDestroy.
|
|
25
|
+
* \par
|
|
26
|
+
* See \ref im_image.h
|
|
27
|
+
* \ingroup imagerep */
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
/** \brief imImage Structure Definition.
|
|
32
|
+
*
|
|
33
|
+
* \par
|
|
34
|
+
* An image representation than supports all the color spaces,
|
|
35
|
+
* but planes are always unpacked and the orientation is always bottom up.
|
|
36
|
+
* \ingroup imgclass */
|
|
37
|
+
typedef struct _imImage
|
|
38
|
+
{
|
|
39
|
+
/* main parameters */
|
|
40
|
+
int width; /**< Number of columns. image:Width() -> width: number [in Lua 5]. */
|
|
41
|
+
int height; /**< Number of lines. image:Height() -> height: number [in Lua 5]. */
|
|
42
|
+
int color_space; /**< Color space descriptor. See also \ref imColorSpace. image:ColorSpace() -> color_space: number [in Lua 5]. */
|
|
43
|
+
int data_type; /**< Data type descriptor. See also \ref imDataType. image:DataType() -> data_type: number [in Lua 5]. */
|
|
44
|
+
int has_alpha; /**< Indicates that there is an extra channel with alpha. image:HasAlpha() -> has_alpha: number [in Lua 5]. \n
|
|
45
|
+
It will not affect the secondary parameters, i.e. the number of planes will be in fact depth+1. \n
|
|
46
|
+
It is always 0 unless imImageAddAlpha is called, this is done in image load functions. */
|
|
47
|
+
|
|
48
|
+
/* secondary parameters */
|
|
49
|
+
int depth; /**< Number of planes (ColorSpaceDepth) */
|
|
50
|
+
int line_size; /**< Number of bytes per line in one plane (width * DataTypeSize) */
|
|
51
|
+
int plane_size; /**< Number of bytes per plane. (line_size * height) */
|
|
52
|
+
int size; /**< Number of bytes occupied by the image (plane_size * depth) */
|
|
53
|
+
int count; /**< Number of pixels (width * height) */
|
|
54
|
+
|
|
55
|
+
/* image data */
|
|
56
|
+
void** data; /**< Image data organized as a 2D matrix with several planes. \n
|
|
57
|
+
But plane 0 is also a pointer to the full data. \n
|
|
58
|
+
The remaining planes are: data[i] = data[0] + i*plane_size \n
|
|
59
|
+
In Lua, data indexing is possible using: image[plane][row][column] */
|
|
60
|
+
|
|
61
|
+
/* image attributes */
|
|
62
|
+
long *palette; /**< Color palette. image:GetPalette() -> palette: imPalette [in Lua 5]. \n
|
|
63
|
+
Used when depth=1. Otherwise is NULL. */
|
|
64
|
+
int palette_count; /**< The palette is always 256 colors allocated, but can have less colors used. */
|
|
65
|
+
|
|
66
|
+
void* attrib_table; /**< in fact is an imAttribTable, but we hide this here */
|
|
67
|
+
} imImage;
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
/** Creates a new image.
|
|
71
|
+
* See also \ref imDataType and \ref imColorSpace. Image data is cleared as \ref imImageClear. \n
|
|
72
|
+
* In Lua the IM image metatable name is "imImage".
|
|
73
|
+
* When converted to a string will return "imImage(%p) [width=%d,height=%d,color_space=%s,data_type=%s,depth=%d]" where %p is replaced by the userdata address,
|
|
74
|
+
* and other values are replaced by the respective attributes.
|
|
75
|
+
* If the image is already destroyed by im.ImageDestroy, then it will return also the suffix "-destroyed".
|
|
76
|
+
*
|
|
77
|
+
* \verbatim im.ImageCreate(width: number, height: number, color_space: number, data_type: number) -> image: imImage [in Lua 5] \endverbatim
|
|
78
|
+
* \ingroup imgclass */
|
|
79
|
+
imImage* imImageCreate(int width, int height, int color_space, int data_type);
|
|
80
|
+
|
|
81
|
+
/** Initializes the image structure but does not allocates image data.
|
|
82
|
+
* See also \ref imDataType and \ref imColorSpace.
|
|
83
|
+
* \ingroup imgclass */
|
|
84
|
+
imImage* imImageInit(int width, int height, int color_space, int data_type, void* data_buffer, long* palette, int palette_count);
|
|
85
|
+
|
|
86
|
+
/** Creates a new image based on an existing one. \n
|
|
87
|
+
* If the addicional parameters are -1, the given image parameters are used. \n
|
|
88
|
+
* The image atributes always are copied. HasAlpha is copied.
|
|
89
|
+
* See also \ref imDataType and \ref imColorSpace.
|
|
90
|
+
*
|
|
91
|
+
* \verbatim im.ImageCreateBased(image: imImage, [width: number], [height: number], [color_space: number], [data_type: number]) -> image: imImage [in Lua 5] \endverbatim
|
|
92
|
+
* The addicional parameters in Lua can be nil,
|
|
93
|
+
* and they can also be functions with the based image as a parameter to return the respective value.
|
|
94
|
+
* \ingroup imgclass */
|
|
95
|
+
imImage* imImageCreateBased(const imImage* image, int width, int height, int color_space, int data_type);
|
|
96
|
+
|
|
97
|
+
/** Destroys the image and frees the memory used.
|
|
98
|
+
* image data is destroyed only if its data[0] is not NULL. \n
|
|
99
|
+
* In Lua if this function is not called, the image is destroyed by the garbage collector.
|
|
100
|
+
*
|
|
101
|
+
* \verbatim im.ImageDestroy(image: imImage) [in Lua 5] \endverbatim
|
|
102
|
+
* \verbatim image:Destroy() [in Lua 5] \endverbatim
|
|
103
|
+
* \ingroup imgclass */
|
|
104
|
+
void imImageDestroy(imImage* image);
|
|
105
|
+
|
|
106
|
+
/** Adds an alpha channel plane and sets its value to 0 (transparent).
|
|
107
|
+
*
|
|
108
|
+
* \verbatim image:AddAlpha() [in Lua 5] \endverbatim
|
|
109
|
+
* \ingroup imgclass */
|
|
110
|
+
void imImageAddAlpha(imImage* image);
|
|
111
|
+
|
|
112
|
+
/** Sets the alpha channel plane to a constant.
|
|
113
|
+
*
|
|
114
|
+
* \verbatim image:SetAlpha() [in Lua 5] \endverbatim
|
|
115
|
+
* \ingroup imgclass */
|
|
116
|
+
void imImageSetAlpha(imImage* image, float alpha);
|
|
117
|
+
|
|
118
|
+
/** Changes the buffer size. Reallocate internal buffers if the new size is larger than the original.
|
|
119
|
+
*
|
|
120
|
+
* \verbatim image:Reshape(width: number, height: number) [in Lua 5] \endverbatim
|
|
121
|
+
* \ingroup imgclass */
|
|
122
|
+
void imImageReshape(imImage* image, int width, int height);
|
|
123
|
+
|
|
124
|
+
/** Copy image data and attributes from one image to another. \n
|
|
125
|
+
* Images must have the same size and type.
|
|
126
|
+
*
|
|
127
|
+
* \verbatim image:Copy(dst_image: imImage) [in Lua 5] \endverbatim
|
|
128
|
+
* \ingroup imgclass */
|
|
129
|
+
void imImageCopy(const imImage* src_image, imImage* dst_image);
|
|
130
|
+
|
|
131
|
+
/** Copy image data only fom one image to another. \n
|
|
132
|
+
* Images must have the same size and type.
|
|
133
|
+
*
|
|
134
|
+
* \verbatim image:CopyData(dst_image: imImage) [in Lua 5] \endverbatim
|
|
135
|
+
* \ingroup imgclass */
|
|
136
|
+
void imImageCopyData(const imImage* src_image, imImage* dst_image);
|
|
137
|
+
|
|
138
|
+
/** Copies the image attributes from src to dst.
|
|
139
|
+
* Includes the pallete when a MAP or GRAY image.
|
|
140
|
+
*
|
|
141
|
+
* \verbatim image:CopyAttributes(dst_image: imImage) [in Lua 5] \endverbatim
|
|
142
|
+
* \ingroup imgclass */
|
|
143
|
+
void imImageCopyAttributes(const imImage* src_image, imImage* dst_image);
|
|
144
|
+
|
|
145
|
+
/** Copy one image plane fom one image to another. \n
|
|
146
|
+
* Images must have the same size and type.
|
|
147
|
+
*
|
|
148
|
+
* \verbatim image:CopyPlane(src_plane: number, dst_image: imImage, dst_plane: number) [in Lua 5] \endverbatim
|
|
149
|
+
* \ingroup imgclass */
|
|
150
|
+
void imImageCopyPlane(const imImage* src_image, int src_plane, imImage* dst_image, int dst_plane);
|
|
151
|
+
|
|
152
|
+
/** Creates a copy of the image.
|
|
153
|
+
*
|
|
154
|
+
* \verbatim image:Duplicate() -> new_image: imImage [in Lua 5] \endverbatim
|
|
155
|
+
* \ingroup imgclass */
|
|
156
|
+
imImage* imImageDuplicate(const imImage* image);
|
|
157
|
+
|
|
158
|
+
/** Creates a clone of the image. i.e. same attributes but ignore contents.
|
|
159
|
+
*
|
|
160
|
+
* \verbatim image:Clone() -> new_image: imImage [in Lua 5] \endverbatim
|
|
161
|
+
* \ingroup imgclass */
|
|
162
|
+
imImage* imImageClone(const imImage* image);
|
|
163
|
+
|
|
164
|
+
/** Changes an extended attribute. \n
|
|
165
|
+
* The data will be internally duplicated. \n
|
|
166
|
+
* If data is NULL and count==0 the attribute is removed. \n
|
|
167
|
+
* If count is -1 and data_type is IM_BYTE then data is zero terminated.
|
|
168
|
+
* See also \ref imDataType.
|
|
169
|
+
*
|
|
170
|
+
* \verbatim image:SetAttribute(attrib: string, data_type: number, data: table of numbers or string) [in Lua 5] \endverbatim
|
|
171
|
+
* If data_type is IM_BYTE, as_string can be used as data.
|
|
172
|
+
* \ingroup imgclass */
|
|
173
|
+
void imImageSetAttribute(const imImage* image, const char* attrib, int data_type, int count, const void* data);
|
|
174
|
+
|
|
175
|
+
/** Returns an extended attribute. \n
|
|
176
|
+
* Returns NULL if not found.
|
|
177
|
+
* See also \ref imDataType.
|
|
178
|
+
*
|
|
179
|
+
* \verbatim image:GetAttribute(attrib: string, [as_string: boolean]) -> data: table of numbers or string, data_type: number [in Lua 5] \endverbatim
|
|
180
|
+
* If data_type is IM_BYTE, as_string can be used to return a string instead of a table.
|
|
181
|
+
* \ingroup imgclass */
|
|
182
|
+
const void* imImageGetAttribute(const imImage* image, const char* attrib, int *data_type, int *count);
|
|
183
|
+
|
|
184
|
+
/** Returns a list of the attribute names. \n
|
|
185
|
+
* "attrib" must contain room enough for "attrib_count" names. Use "attrib=NULL" to return only the count.
|
|
186
|
+
*
|
|
187
|
+
* \verbatim image:GetAttributeList() -> data: table of strings [in Lua 5] \endverbatim
|
|
188
|
+
* \ingroup imgclass */
|
|
189
|
+
void imImageGetAttributeList(const imImage* image, char** attrib, int *attrib_count);
|
|
190
|
+
|
|
191
|
+
/** Sets all image data to zero. But if color space is YCBCR, LAB or LUV, and data type is BYTE or USHORT, then
|
|
192
|
+
* data is initialized with 128 or 32768 accordingly. Alpha is initialized as transparent (0).
|
|
193
|
+
*
|
|
194
|
+
* \verbatim image:Clear() [in Lua 5] \endverbatim
|
|
195
|
+
* \ingroup imgclass */
|
|
196
|
+
void imImageClear(imImage* image);
|
|
197
|
+
|
|
198
|
+
/** Indicates that the image can be viewed in common graphic devices.
|
|
199
|
+
* Data type must be IM_BYTE. Color mode can be IM_RGB, IM_MAP, IM_GRAY or IM_BINARY.
|
|
200
|
+
*
|
|
201
|
+
* \verbatim image:IsBitmap() -> is_bitmap: boolean [in Lua 5] \endverbatim
|
|
202
|
+
* \ingroup imgclass */
|
|
203
|
+
int imImageIsBitmap(const imImage* image);
|
|
204
|
+
|
|
205
|
+
/** Changes the image palette.
|
|
206
|
+
* This will destroy the existing palette and replace it with the given palette pointer.
|
|
207
|
+
* Only the pointer is stored, so the palette should be a new palette and it can not be a static array.
|
|
208
|
+
*
|
|
209
|
+
* \verbatim image:SetPalette(palette: imPalette) [in Lua 5] \endverbatim
|
|
210
|
+
* \ingroup imgclass */
|
|
211
|
+
void imImageSetPalette(imImage* image, long* palette, int palette_count);
|
|
212
|
+
|
|
213
|
+
/** Returns 1 if the images match width and height. Returns 0 otherwise.
|
|
214
|
+
*
|
|
215
|
+
* \verbatim image:MatchSize(image2: imImage) -> match: boolean [in Lua 5] \endverbatim
|
|
216
|
+
* \ingroup imgclass */
|
|
217
|
+
int imImageMatchSize(const imImage* image1, const imImage* image2);
|
|
218
|
+
|
|
219
|
+
/** Returns 1 if the images match color mode and data type. Returns 0 otherwise.
|
|
220
|
+
*
|
|
221
|
+
* \verbatim image:MatchColor(image2: imImage) -> match: boolean [in Lua 5] \endverbatim
|
|
222
|
+
* \ingroup imgclass */
|
|
223
|
+
int imImageMatchColor(const imImage* image1, const imImage* image2);
|
|
224
|
+
|
|
225
|
+
/** Returns 1 if the images match width, height and data type. Returns 0 otherwise.
|
|
226
|
+
*
|
|
227
|
+
* \verbatim image:MatchDataType(image2: imImage) -> match: boolean [in Lua 5] \endverbatim
|
|
228
|
+
* \ingroup imgclass */
|
|
229
|
+
int imImageMatchDataType(const imImage* image1, const imImage* image2);
|
|
230
|
+
|
|
231
|
+
/** Returns 1 if the images match width, height and color space. Returns 0 otherwise.
|
|
232
|
+
*
|
|
233
|
+
* \verbatim image:MatchColorSpace(image2: imImage) -> match: boolean [in Lua 5] \endverbatim
|
|
234
|
+
* \ingroup imgclass */
|
|
235
|
+
int imImageMatchColorSpace(const imImage* image1, const imImage* image2);
|
|
236
|
+
|
|
237
|
+
/** Returns 1 if the images match in width, height, data type and color space. Returns 0 otherwise.
|
|
238
|
+
*
|
|
239
|
+
* \verbatim image:Match(image2: imImage) -> match: boolean [in Lua 5] \endverbatim
|
|
240
|
+
* \ingroup imgclass */
|
|
241
|
+
int imImageMatch(const imImage* image1, const imImage* image2);
|
|
242
|
+
|
|
243
|
+
/** Changes the image color space from gray to binary by just changing color_space and the palette.
|
|
244
|
+
*
|
|
245
|
+
* \verbatim image:SetBinary() [in Lua 5] \endverbatim
|
|
246
|
+
* \ingroup imgclass */
|
|
247
|
+
void imImageSetBinary(imImage* image);
|
|
248
|
+
|
|
249
|
+
/** Changes a gray BYTE data (0,255) into a binary data (0,1), done in-place. Color space is not changed.
|
|
250
|
+
*
|
|
251
|
+
* \verbatim image:MakeBinary() [in Lua 5] \endverbatim
|
|
252
|
+
* \ingroup imgclass */
|
|
253
|
+
void imImageMakeBinary(imImage *image);
|
|
254
|
+
|
|
255
|
+
/** Changes a binary data (0,1) into a gray BYTE data (0,255), done in-place. Color space is not changed.
|
|
256
|
+
*
|
|
257
|
+
* \verbatim image:MakeGray() [in Lua 5] \endverbatim
|
|
258
|
+
* \ingroup imgclass */
|
|
259
|
+
void imImageMakeGray(imImage *image);
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
/** \defgroup imgfile imImage Storage
|
|
264
|
+
*
|
|
265
|
+
* \par
|
|
266
|
+
* Functions to simplify the process of reading and writting imImage structures.
|
|
267
|
+
* Will also load and save the alpha planes when possible.
|
|
268
|
+
* \par
|
|
269
|
+
* See \ref im_image.h
|
|
270
|
+
* \ingroup file */
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
/** Loads an image from an already open file. Returns NULL if failed. \n
|
|
274
|
+
* This will call \ref imFileReadImageInfo and \ref imFileReadImageData. \n
|
|
275
|
+
* index specifies the image number between 0 and image_count-1. \n
|
|
276
|
+
* The returned image will be of the same color_space and data_type of the image in the file. \n
|
|
277
|
+
* Attributes from the file will be stored at the image.
|
|
278
|
+
* See also \ref imErrorCodes.
|
|
279
|
+
*
|
|
280
|
+
* \verbatim ifile:LoadImage([index: number]) -> image: imImage, error: number [in Lua 5] \endverbatim
|
|
281
|
+
* Default index is 0.
|
|
282
|
+
* \ingroup imgfile */
|
|
283
|
+
imImage* imFileLoadImage(imFile* ifile, int index, int *error);
|
|
284
|
+
|
|
285
|
+
/** Loads an image from an already open file. Returns NULL if failed. \n
|
|
286
|
+
* This function assumes that the image in the file has the same parameters as the given image. \n
|
|
287
|
+
* This will call \ref imFileReadImageInfo and \ref imFileReadImageData. \n
|
|
288
|
+
* index specifies the image number between 0 and image_count-1. \n
|
|
289
|
+
* The returned image will be of the same color_space and data_type of the image in the file. \n
|
|
290
|
+
* Attributes from the file will be stored at the image.
|
|
291
|
+
* See also \ref imErrorCodes.
|
|
292
|
+
*
|
|
293
|
+
* \verbatim ifile:LoadImageFrame(index: number, image: imImage) -> error: number [in Lua 5] \endverbatim
|
|
294
|
+
* Default index is 0.
|
|
295
|
+
* \ingroup imgfile */
|
|
296
|
+
void imFileLoadImageFrame(imFile* ifile, int index, imImage* image, int *error);
|
|
297
|
+
|
|
298
|
+
/** Loads an image from an already open file, but forces the image to be a bitmap.\n
|
|
299
|
+
* The returned imagem will be always a Bitmap image, with color_space RGB, MAP, GRAY or BINARY, and data_type IM_BYTE. \n
|
|
300
|
+
* index specifies the image number between 0 and image_count-1. \n
|
|
301
|
+
* Returns NULL if failed.
|
|
302
|
+
* Attributes from the file will be stored at the image.
|
|
303
|
+
* See also \ref imErrorCodes.
|
|
304
|
+
*
|
|
305
|
+
* \verbatim ifile:LoadBitmap([index: number]) -> image: imImage, error: number [in Lua 5] \endverbatim
|
|
306
|
+
* Default index is 0.
|
|
307
|
+
* \ingroup imgfile */
|
|
308
|
+
imImage* imFileLoadBitmap(imFile* ifile, int index, int *error);
|
|
309
|
+
|
|
310
|
+
/** Loads an image region from an already open file. Returns NULL if failed. \n
|
|
311
|
+
* This will call \ref imFileReadImageInfo and \ref imFileReadImageData. \n
|
|
312
|
+
* index specifies the image number between 0 and image_count-1. \n
|
|
313
|
+
* The returned image will be of the same color_space and data_type of the image in the file,
|
|
314
|
+
* or will be a Bitmap image. \n
|
|
315
|
+
* Attributes from the file will be stored at the image.
|
|
316
|
+
* See also \ref imErrorCodes. \n
|
|
317
|
+
* For now, it works only for the ECW file format.
|
|
318
|
+
*
|
|
319
|
+
* \verbatim ifile:LoadRegion(index, bitmap, xmin, xmax, ymin, ymax, width, height: number) -> image: imImage, error: number [in Lua 5] \endverbatim
|
|
320
|
+
* Default index is 0.
|
|
321
|
+
* \ingroup imgfile */
|
|
322
|
+
imImage* imFileLoadImageRegion(imFile* ifile, int index, int bitmap, int *error,
|
|
323
|
+
int xmin, int xmax, int ymin, int ymax, int width, int height);
|
|
324
|
+
|
|
325
|
+
/** Loads an image from an already open file, but forces the image to be a bitmap.\n
|
|
326
|
+
* This function assumes that the image in the file has the same parameters as the given image. \n
|
|
327
|
+
* The imagem must be a Bitmap image, with color_space RGB, MAP, GRAY or BINARY, and data_type IM_BYTE. \n
|
|
328
|
+
* index specifies the image number between 0 and image_count-1. \n
|
|
329
|
+
* Returns NULL if failed.
|
|
330
|
+
* Attributes from the file will be stored at the image.
|
|
331
|
+
* See also \ref imErrorCodes.
|
|
332
|
+
*
|
|
333
|
+
* \verbatim ifile:LoadBitmapFrame(index: number, image: imImage) -> error: number [in Lua 5] \endverbatim
|
|
334
|
+
* Default index is 0.
|
|
335
|
+
* \ingroup imgfile */
|
|
336
|
+
void imFileLoadBitmapFrame(imFile* ifile, int index, imImage* image, int *error);
|
|
337
|
+
|
|
338
|
+
/** Saves the image to an already open file. \n
|
|
339
|
+
* This will call \ref imFileWriteImageInfo and \ref imFileWriteImageData. \n
|
|
340
|
+
* Attributes from the image will be stored at the file.
|
|
341
|
+
* Returns error code.
|
|
342
|
+
*
|
|
343
|
+
* \verbatim ifile:SaveImage(image: imImage) -> error: number [in Lua 5] \endverbatim
|
|
344
|
+
* \ingroup imgfile */
|
|
345
|
+
int imFileSaveImage(imFile* ifile, const imImage* image);
|
|
346
|
+
|
|
347
|
+
/** Loads an image from file. Open, loads and closes the file. \n
|
|
348
|
+
* index specifies the image number between 0 and image_count-1. \n
|
|
349
|
+
* Returns NULL if failed.
|
|
350
|
+
* Attributes from the file will be stored at the image.
|
|
351
|
+
* See also \ref imErrorCodes.
|
|
352
|
+
*
|
|
353
|
+
* \verbatim im.FileImageLoad(file_name: string, [index: number]) -> image: imImage, error: number [in Lua 5] \endverbatim
|
|
354
|
+
* Default index is 0.
|
|
355
|
+
* \ingroup imgfile */
|
|
356
|
+
imImage* imFileImageLoad(const char* file_name, int index, int *error);
|
|
357
|
+
|
|
358
|
+
/** Loads an image from file, but forces the image to be a bitmap. Open, loads and closes the file. \n
|
|
359
|
+
* index specifies the image number between 0 and image_count-1. \n
|
|
360
|
+
* Returns NULL if failed.
|
|
361
|
+
* Attributes from the file will be stored at the image.
|
|
362
|
+
* See also \ref imErrorCodes.
|
|
363
|
+
*
|
|
364
|
+
* \verbatim im.FileImageLoadBitmap(file_name: string, [index: number]) -> image: imImage, error: number [in Lua 5] \endverbatim
|
|
365
|
+
* Default index is 0.
|
|
366
|
+
* \ingroup imgfile */
|
|
367
|
+
imImage* imFileImageLoadBitmap(const char* file_name, int index, int *error);
|
|
368
|
+
|
|
369
|
+
/** Loads an image region from file. Open, loads and closes the file. \n
|
|
370
|
+
* index specifies the image number between 0 and image_count-1. \n
|
|
371
|
+
* Returns NULL if failed.
|
|
372
|
+
* Attributes from the file will be stored at the image.
|
|
373
|
+
* See also \ref imErrorCodes. \n
|
|
374
|
+
* For now, it works only for the ECW file format.
|
|
375
|
+
*
|
|
376
|
+
* \verbatim im.FileImageLoadRegion(file_name: string, index, bitmap, xmin, xmax, ymin, ymax, width, height: number, ) -> image: imImage, error: number [in Lua 5] \endverbatim
|
|
377
|
+
* Default index is 0.
|
|
378
|
+
* \ingroup imgfile */
|
|
379
|
+
imImage* imFileImageLoadRegion(const char* file_name, int index, int bitmap, int *error,
|
|
380
|
+
int xmin, int xmax, int ymin, int ymax, int width, int height);
|
|
381
|
+
|
|
382
|
+
/** Saves the image to file. Open, saves and closes the file. \n
|
|
383
|
+
* Returns error code. \n
|
|
384
|
+
* Attributes from the image will be stored at the file.
|
|
385
|
+
*
|
|
386
|
+
* \verbatim im.FileImageSave(file_name: string, format: string, image: imImage) -> error: number [in Lua 5] \endverbatim
|
|
387
|
+
* \verbatim image:Save(file_name: string, format: string) -> error: number [in Lua 5] \endverbatim
|
|
388
|
+
* \ingroup imgfile */
|
|
389
|
+
int imFileImageSave(const char* file_name, const char* format, const imImage* image);
|
|
390
|
+
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
/** Utility macro to draw the image in a CD library canvas.
|
|
394
|
+
* Works only for data_type IM_BYTE, and color spaces: IM_RGB, IM_MAP, IMGRAY and IM_BINARY.
|
|
395
|
+
* \ingroup imgclass */
|
|
396
|
+
#define imcdCanvasPutImage(_canvas, _image, _x, _y, _w, _h, _xmin, _xmax, _ymin, _ymax) \
|
|
397
|
+
{ \
|
|
398
|
+
if (_image->color_space == IM_RGB) \
|
|
399
|
+
{ \
|
|
400
|
+
if (_image->has_alpha) \
|
|
401
|
+
cdCanvasPutImageRectRGBA(_canvas, _image->width, _image->height, \
|
|
402
|
+
(unsigned char*)_image->data[0], \
|
|
403
|
+
(unsigned char*)_image->data[1], \
|
|
404
|
+
(unsigned char*)_image->data[2], \
|
|
405
|
+
(unsigned char*)_image->data[3], \
|
|
406
|
+
_x, _y, _w, _h, _xmin, _xmax, _ymin, _ymax); \
|
|
407
|
+
else \
|
|
408
|
+
cdCanvasPutImageRectRGB(_canvas, _image->width, _image->height, \
|
|
409
|
+
(unsigned char*)_image->data[0], \
|
|
410
|
+
(unsigned char*)_image->data[1], \
|
|
411
|
+
(unsigned char*)_image->data[2], \
|
|
412
|
+
_x, _y, _w, _h, _xmin, _xmax, _ymin, _ymax); \
|
|
413
|
+
} \
|
|
414
|
+
else \
|
|
415
|
+
cdCanvasPutImageRectMap(_canvas, _image->width, _image->height, \
|
|
416
|
+
(unsigned char*)_image->data[0], _image->palette, \
|
|
417
|
+
_x, _y, _w, _h, _xmin, _xmax, _ymin, _ymax); \
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
#if defined(__cplusplus)
|
|
422
|
+
}
|
|
423
|
+
#endif
|
|
424
|
+
|
|
425
|
+
#endif
|