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.
- 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
data/ext/extconf.rb
CHANGED
@@ -1,27 +1,62 @@
|
|
1
|
-
# extconf.rb for ruby-iup extension module.
|
2
|
-
#
|
3
|
-
# Copyright (C) 2008 Park Heesob <
|
4
|
-
#
|
5
|
-
# This program is distributed under the terms of the MIT license.
|
6
|
-
# See the included COPYRIGHT file for the terms of this license.
|
7
|
-
#
|
8
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
9
|
-
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
10
|
-
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
11
|
-
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
12
|
-
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
13
|
-
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
14
|
-
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
1
|
+
# extconf.rb for ruby-iup extension module.
|
2
|
+
#
|
3
|
+
# Copyright (C) 2008 Park Heesob <phasis@gmail.com>
|
4
|
+
#
|
5
|
+
# This program is distributed under the terms of the MIT license.
|
6
|
+
# See the included COPYRIGHT file for the terms of this license.
|
7
|
+
#
|
8
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
9
|
+
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
10
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
11
|
+
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
12
|
+
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
13
|
+
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
14
|
+
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
15
|
+
require 'mkmf'
|
16
|
+
|
17
|
+
if RUBY_PLATFORM =~ /mingw32/
|
18
|
+
dir_config('iup','./iup-mingw32/include','./iup-mingw32')
|
19
|
+
elsif RUBY_PLATFORM =~ /mswin32/
|
20
|
+
dir_config('iup','./iup-mswin32/include','./iup-mswin32')
|
21
|
+
else
|
22
|
+
dir_config('iup','./iup-linux/include','./iup-linux')
|
23
|
+
have_library('GL')
|
24
|
+
end
|
25
|
+
|
26
|
+
have_library('freetype6')
|
27
|
+
have_library('freetype')
|
28
|
+
have_library('stdc++')
|
29
|
+
have_library('gdi32')
|
30
|
+
have_library('comctl32')
|
31
|
+
have_library('comdlg32')
|
32
|
+
have_library('opengl32')
|
33
|
+
have_library('ole32')
|
34
|
+
have_library('oleaut32')
|
35
|
+
have_library('uuid')
|
36
|
+
have_library('iup')
|
37
|
+
have_library('pdflib')
|
38
|
+
have_library('cdgdk')
|
39
|
+
have_library('cdpdf')
|
40
|
+
have_library('cdcontextplus')
|
41
|
+
have_library('cd')
|
42
|
+
have_library('im')
|
43
|
+
have_library('im_avi')
|
44
|
+
have_library('im_fftw')
|
45
|
+
have_library('im_jp2')
|
46
|
+
have_library('im_process')
|
47
|
+
have_library('iup_pplot')
|
48
|
+
have_library('iupcd')
|
49
|
+
have_library('iupole')
|
50
|
+
have_library('iupcontrols')
|
51
|
+
have_library('iupgl')
|
52
|
+
have_library('iupim')
|
53
|
+
have_library('iupimglib')
|
54
|
+
|
55
|
+
|
56
|
+
if RUBY_PLATFORM =~ /mswin32/
|
57
|
+
$LOCAL_LIBS = "-link /nodefaultlib:msvcrt.lib"
|
58
|
+
elsif RUBY_PLATFORM =~ /linux/
|
59
|
+
$LOCAL_LIBS = `pkg-config --libs gtk+-2.0`
|
60
|
+
end
|
61
|
+
|
62
|
+
create_makefile('iup')
|
data/ext/iup-linux/include/cd.h
CHANGED
@@ -18,10 +18,10 @@ extern "C" {
|
|
18
18
|
|
19
19
|
#define CD_NAME "CD - Canvas Draw"
|
20
20
|
#define CD_DESCRIPTION "A 2D Graphics Library"
|
21
|
-
#define CD_COPYRIGHT "Copyright (C) 1994-
|
22
|
-
#define CD_VERSION "5.
|
23
|
-
#define
|
24
|
-
#define
|
21
|
+
#define CD_COPYRIGHT "Copyright (C) 1994-2010 Tecgraf, PUC-Rio."
|
22
|
+
#define CD_VERSION "5.3" /* bug fixes are reported only by cdVersion functions */
|
23
|
+
#define CD_VERSION_NUMBER 503000
|
24
|
+
#define CD_VERSION_DATE "2010/01/26"
|
25
25
|
|
26
26
|
typedef struct _cdContext cdContext;
|
27
27
|
typedef struct _cdCanvas cdCanvas;
|
@@ -76,6 +76,7 @@ int cdCanvasPlay(cdCanvas* canvas, cdContext *context, int xmin, int xmax, int
|
|
76
76
|
void cdCanvasGetSize(cdCanvas* canvas, int *width, int *height, double *width_mm, double *height_mm);
|
77
77
|
int cdCanvasUpdateYAxis(cdCanvas* canvas, int* y);
|
78
78
|
double cdfCanvasUpdateYAxis(cdCanvas* canvas, double* y);
|
79
|
+
int cdCanvasYAxisMode(cdCanvas* canvas, int invert);
|
79
80
|
int cdCanvasInvertYAxis(cdCanvas* canvas, int y);
|
80
81
|
double cdfCanvasInvertYAxis(cdCanvas* canvas, double y);
|
81
82
|
void cdCanvasMM2Pixel(cdCanvas* canvas, double mm_dx, double mm_dy, int *dx, int *dy);
|
@@ -169,10 +170,13 @@ void cdCanvasVectorTextDirection(cdCanvas* canvas, int x1, int y1, int x2, int y
|
|
169
170
|
double* cdCanvasVectorTextTransform(cdCanvas* canvas, const double* matrix);
|
170
171
|
void cdCanvasVectorTextSize(cdCanvas* canvas, int size_x, int size_y, const char* s);
|
171
172
|
int cdCanvasVectorCharSize(cdCanvas* canvas, int size);
|
173
|
+
void cdCanvasVectorFontSize(cdCanvas* canvas, double size_x, double size_y);
|
174
|
+
void cdCanvasGetVectorFontSize(cdCanvas* canvas, double *size_x, double *size_y);
|
172
175
|
|
173
176
|
/* vector text properties */
|
174
177
|
void cdCanvasGetVectorTextSize(cdCanvas* canvas, const char* s, int *x, int *y);
|
175
178
|
void cdCanvasGetVectorTextBounds(cdCanvas* canvas, const char* s, int x, int y, int *rect);
|
179
|
+
void cdCanvasGetVectorTextBox(cdCanvas* canvas, int x, int y, const char *s, int *xmin, int *xmax, int *ymin, int *ymax);
|
176
180
|
|
177
181
|
/* properties */
|
178
182
|
void cdCanvasGetFontDim(cdCanvas* canvas, int *max_width, int *height, int *ascent, int *descent);
|
@@ -468,7 +472,7 @@ typedef int(*cdSizeCB)(cdCanvas *canvas, int w, int h, double w_mm, double h_mm)
|
|
468
472
|
|
469
473
|
|
470
474
|
/******************************************************************************
|
471
|
-
Copyright (C) 1994-
|
475
|
+
Copyright (C) 1994-2010 Tecgraf, PUC-Rio.
|
472
476
|
|
473
477
|
Permission is hereby granted, free of charge, to any person obtaining
|
474
478
|
a copy of this software and associated documentation files (the
|
@@ -92,7 +92,7 @@ struct _cdCanvas
|
|
92
92
|
void (*cxArc)(cdCtxCanvas* ctxcanvas, int xc, int yc, int w, int h, double angle1, double angle2);
|
93
93
|
void (*cxSector)(cdCtxCanvas* ctxcanvas, int xc, int yc, int w, int h, double angle1, double angle2);
|
94
94
|
void (*cxChord)(cdCtxCanvas* ctxcanvas, int xc, int yc, int w, int h, double angle1, double angle2);
|
95
|
-
void (*cxText)(cdCtxCanvas* ctxcanvas, int x, int y, const char *s);
|
95
|
+
void (*cxText)(cdCtxCanvas* ctxcanvas, int x, int y, const char *s, int len);
|
96
96
|
void (*cxKillCanvas)(cdCtxCanvas* ctxcanvas);
|
97
97
|
int (*cxFont)(cdCtxCanvas* ctxcanvas, const char *type_face, int style, int size);
|
98
98
|
void (*cxPutImageRectMap)(cdCtxCanvas* ctxcanvas, int iw, int ih, const unsigned char *index, const long *colors, int x, int y, int w, int h, int xmin, int xmax, int ymin, int ymax);
|
@@ -100,7 +100,7 @@ struct _cdCanvas
|
|
100
100
|
|
101
101
|
/* default implementation uses the simulation driver */
|
102
102
|
void (*cxGetFontDim)(cdCtxCanvas* ctxcanvas, int *max_width, int *height, int *ascent, int *descent);
|
103
|
-
void (*cxGetTextSize)(cdCtxCanvas* ctxcanvas, const char *s, int *width, int *height);
|
103
|
+
void (*cxGetTextSize)(cdCtxCanvas* ctxcanvas, const char *s, int len, int *width, int *height);
|
104
104
|
|
105
105
|
/* all the following function pointers can be NULL */
|
106
106
|
|
@@ -114,7 +114,7 @@ struct _cdCanvas
|
|
114
114
|
void (*cxFArc)(cdCtxCanvas* ctxcanvas, double xc, double yc, double w, double h, double angle1, double angle2);
|
115
115
|
void (*cxFSector)(cdCtxCanvas* ctxcanvas, double xc, double yc, double w, double h, double angle1, double angle2);
|
116
116
|
void (*cxFChord)(cdCtxCanvas* ctxcanvas, double xc, double yc, double w, double h, double angle1, double angle2);
|
117
|
-
void (*cxFText)(cdCtxCanvas* ctxcanvas, double x, double y, const char *s);
|
117
|
+
void (*cxFText)(cdCtxCanvas* ctxcanvas, double x, double y, const char *s, int len);
|
118
118
|
|
119
119
|
int (*cxClip)(cdCtxCanvas* ctxcanvas, int mode);
|
120
120
|
void (*cxClipArea)(cdCtxCanvas* ctxcanvas, int xmin, int xmax, int ymin, int ymax);
|
@@ -233,6 +233,8 @@ struct _cdCanvas
|
|
233
233
|
cdContext* context;
|
234
234
|
};
|
235
235
|
|
236
|
+
enum{CD_BASE_WIN, CD_BASE_X, CD_BASE_GDK};
|
237
|
+
int cdBaseDriver(void);
|
236
238
|
|
237
239
|
/***************/
|
238
240
|
/* attributes */
|
@@ -268,6 +270,9 @@ int cdfCheckBoxSize(double *xmin, double *xmax, double *ymin, double *ymax);
|
|
268
270
|
void cdNormalizeLimits(int w, int h, int *xmin, int *xmax, int *ymin, int *ymax);
|
269
271
|
int cdGetFileName(const char* strdata, char* filename);
|
270
272
|
int cdStrEqualNoCase(const char* str1, const char* str2);
|
273
|
+
int cdStrLineCount(const char* str);
|
274
|
+
char* cdStrDup(const char* str);
|
275
|
+
char* cdStrDupN(const char* str, int len);
|
271
276
|
|
272
277
|
#define _cdCheckCanvas(_canvas) (_canvas!=NULL && ((unsigned char*)_canvas)[0] == 'C' && ((unsigned char*)_canvas)[1] == 'D')
|
273
278
|
#define _cdInvertYAxis(_canvas, _y) (_canvas->h - (_y) - 1)
|
@@ -286,6 +291,8 @@ void cdMatrixInverse(const double* matrix, double* inv_matrix);
|
|
286
291
|
void cdRotatePoint(cdCanvas* canvas, int x, int y, int cx, int cy, int *rx, int *ry, double sin_teta, double cos_teta);
|
287
292
|
void cdRotatePointY(cdCanvas* canvas, int x, int y, int cx, int cy, int *ry, double sin_theta, double cos_theta);
|
288
293
|
void cdTextTranslatePoint(cdCanvas* canvas, int x, int y, int w, int h, int baseline, int *rx, int *ry);
|
294
|
+
void cdMovePoint(int *x, int *y, double dx, double dy, double sin_theta, double cos_theta);
|
295
|
+
void cdfMovePoint(double *x, double *y, double dx, double dy, double sin_theta, double cos_theta);
|
289
296
|
|
290
297
|
/*************/
|
291
298
|
/* Fonts */
|
@@ -331,10 +338,10 @@ void cdchordSIM(cdCtxCanvas* ctxcanvas, int xc, int yc, int width, int height, d
|
|
331
338
|
void cdpolySIM(cdCtxCanvas* ctxcanvas, int mode, cdPoint* points, int n);
|
332
339
|
|
333
340
|
/* Replacements for Text and Font using FreeType library */
|
334
|
-
void cdtextSIM(cdCtxCanvas* ctxcanvas, int x, int y, const char *s);
|
341
|
+
void cdtextSIM(cdCtxCanvas* ctxcanvas, int x, int y, const char *s, int len);
|
335
342
|
int cdfontSIM(cdCtxCanvas* ctxcanvas, const char *type_face, int style, int size);
|
336
343
|
void cdgetfontdimSIM(cdCtxCanvas* ctxcanvas, int *max_width, int *height, int *ascent, int *descent);
|
337
|
-
void cdgettextsizeSIM(cdCtxCanvas* ctxcanvas, const char *s, int *width, int *height);
|
344
|
+
void cdgettextsizeSIM(cdCtxCanvas* ctxcanvas, const char *s, int len, int *width, int *height);
|
338
345
|
|
339
346
|
/* Simulation functions that are independent of the simulation base driver */
|
340
347
|
void cdSimMark(cdCanvas* canvas, int x, int y);
|
@@ -352,7 +359,7 @@ void cdfSimArc(cdCtxCanvas *ctxcanvas, double xc, double yc, double width, doubl
|
|
352
359
|
|
353
360
|
/* Replacements for Font using estimation */
|
354
361
|
void cdgetfontdimEX(cdCtxCanvas* ctxcanvas, int *max_width, int *height, int *ascent, int *descent);
|
355
|
-
void cdgettextsizeEX(cdCtxCanvas* ctxcanvas, const char *s, int *width, int *height);
|
362
|
+
void cdgettextsizeEX(cdCtxCanvas* ctxcanvas, const char *s, int len, int *width, int *height);
|
356
363
|
|
357
364
|
|
358
365
|
#ifdef __cplusplus
|
@@ -0,0 +1,22 @@
|
|
1
|
+
/** \file
|
2
|
+
* \brief SVG driver
|
3
|
+
*
|
4
|
+
* See Copyright Notice in cd.h
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef __CD_SVG_H
|
8
|
+
#define __CD_SVG_H
|
9
|
+
|
10
|
+
#ifdef __cplusplus
|
11
|
+
extern "C" {
|
12
|
+
#endif
|
13
|
+
|
14
|
+
cdContext* cdContextSVG(void);
|
15
|
+
|
16
|
+
#define CD_SVG cdContextSVG()
|
17
|
+
|
18
|
+
#ifdef __cplusplus
|
19
|
+
}
|
20
|
+
#endif
|
21
|
+
|
22
|
+
#endif /* ifndef __CD_SVG_ */
|
data/ext/iup-linux/include/im.h
CHANGED
@@ -1,282 +1,287 @@
|
|
1
|
-
/** \file
|
2
|
-
* \brief Main API
|
3
|
-
*
|
4
|
-
* See Copyright Notice in im_lib.h
|
5
|
-
*/
|
6
|
-
|
7
|
-
#ifndef __IM_H
|
8
|
-
#define __IM_H
|
9
|
-
|
10
|
-
#if defined(__cplusplus)
|
11
|
-
extern "C" {
|
12
|
-
#endif
|
13
|
-
|
14
|
-
|
15
|
-
/** Image data type descriptors. \n
|
16
|
-
* See also \ref datatypeutl.
|
17
|
-
* \ingroup imagerep */
|
18
|
-
enum imDataType
|
19
|
-
{
|
20
|
-
IM_BYTE, /**< "unsigned char". 1 byte from 0 to 255. */
|
21
|
-
IM_USHORT, /**< "unsigned short". 2 bytes from 0 to 65,535. */
|
22
|
-
IM_INT, /**< "int". 4 bytes from -2,147,483,648 to 2,147,483,647. */
|
23
|
-
IM_FLOAT, /**< "float". 4 bytes single precision IEEE floating point. */
|
24
|
-
IM_CFLOAT /**< complex "float". 2 float values in sequence, real and imaginary parts. */
|
25
|
-
};
|
26
|
-
|
27
|
-
/** Image color mode color space descriptors (first byte). \n
|
28
|
-
* See also \ref colormodeutl.
|
29
|
-
* \ingroup imagerep */
|
30
|
-
enum imColorSpace
|
31
|
-
{
|
32
|
-
IM_RGB, /**< Red, Green and Blue (nonlinear). */
|
33
|
-
IM_MAP, /**< Indexed by RGB color map (data_type=IM_BYTE). */
|
34
|
-
IM_GRAY, /**< Shades of gray, luma (nonlinear Luminance), or an intensity value that is not related to color. */
|
35
|
-
IM_BINARY, /**< Indexed by 2 colors: black (0) and white (1) (data_type=IM_BYTE). */
|
36
|
-
IM_CMYK, /**< Cian, Magenta, Yellow and Black (nonlinear). */
|
37
|
-
IM_YCBCR, /**< ITU-R 601 Y'CbCr. Y' is luma (nonlinear Luminance). */
|
38
|
-
IM_LAB, /**< CIE L*a*b*. L* is Lightness (nonlinear Luminance, nearly perceptually uniform). */
|
39
|
-
IM_LUV, /**< CIE L*u*v*. L* is Lightness (nonlinear Luminance, nearly perceptually uniform). */
|
40
|
-
IM_XYZ /**< CIE XYZ. Linear Light Tristimulus, Y is linear Luminance. */
|
41
|
-
};
|
42
|
-
|
43
|
-
/** Image color mode configuration/extra descriptors (1 bit each in the second byte). \n
|
44
|
-
* See also \ref colormodeutl.
|
45
|
-
* \ingroup imagerep */
|
46
|
-
enum imColorModeConfig
|
47
|
-
{
|
48
|
-
IM_ALPHA = 0x100, /**< adds an Alpha channel */
|
49
|
-
IM_PACKED = 0x200, /**< packed components (rgbrgbrgb...) */
|
50
|
-
IM_TOPDOWN = 0x400 /**< orientation from top down to bottom */
|
51
|
-
};
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
/** File Access Error Codes
|
56
|
-
* \ingroup file */
|
57
|
-
enum imErrorCodes
|
58
|
-
{
|
59
|
-
IM_ERR_NONE, /**< No error. */
|
60
|
-
IM_ERR_OPEN, /**< Error while opening the file (read or write). */
|
61
|
-
IM_ERR_ACCESS, /**< Error while accessing the file (read or write). */
|
62
|
-
IM_ERR_FORMAT, /**< Invalid or unrecognized file format. */
|
63
|
-
IM_ERR_DATA, /**< Invalid or unsupported data. */
|
64
|
-
IM_ERR_COMPRESS, /**< Invalid or unsupported compression. */
|
65
|
-
IM_ERR_MEM, /**< Insuficient memory */
|
66
|
-
IM_ERR_COUNTER /**< Interrupted by the counter */
|
67
|
-
};
|
68
|
-
|
69
|
-
/* Internal Image File Structure. */
|
70
|
-
typedef struct _imFile imFile;
|
71
|
-
|
72
|
-
/** Opens the file for reading. It must exists. Also reads file header.
|
73
|
-
* It will try to identify the file format.
|
74
|
-
* See also \ref imErrorCodes. \n
|
75
|
-
* In Lua the IM file metatable name is "imFile".
|
76
|
-
* When converted to a string will return "imFile(%p)" where %p is replaced by the userdata address.
|
77
|
-
* If the file is already closed by im.FileClose, then it will return also the suffix "-closed".
|
78
|
-
*
|
79
|
-
* \verbatim im.FileOpen(file_name: string) -> ifile: imFile, error: number [in Lua 5] \endverbatim
|
80
|
-
* \ingroup file */
|
81
|
-
imFile* imFileOpen(const char* file_name, int *error);
|
82
|
-
|
83
|
-
/** Opens the file for reading using a specific format. It must exists. Also reads file header.
|
84
|
-
* See also \ref imErrorCodes and \ref format.
|
85
|
-
*
|
86
|
-
* \verbatim im.FileOpenAs(file_name, format: string) -> ifile: imFile, error: number [in Lua 5] \endverbatim
|
87
|
-
* \ingroup file */
|
88
|
-
imFile* imFileOpenAs(const char* file_name, const char* format, int *error);
|
89
|
-
|
90
|
-
/** Creates a new file for writing using a specific format. If the file exists will be replaced. \n
|
91
|
-
* It will only initialize the format driver and create the file, no data is actually written.
|
92
|
-
* See also \ref imErrorCodes and \ref format.
|
93
|
-
*
|
94
|
-
* \verbatim im.FileNew(file_name: string, format: string) -> ifile: imFile, error: number [in Lua 5] \endverbatim
|
95
|
-
* \ingroup file */
|
96
|
-
imFile* imFileNew(const char* file_name, const char* format, int *error);
|
97
|
-
|
98
|
-
/** Closes the file. \n
|
99
|
-
* In Lua if this function is not called, the file is closed by the garbage collector.
|
100
|
-
*
|
101
|
-
* \verbatim im.FileClose(ifile: imFile) [in Lua 5] \endverbatim
|
102
|
-
* \verbatim ifile:Close() [in Lua 5] \endverbatim
|
103
|
-
* \ingroup file */
|
104
|
-
void imFileClose(imFile* ifile);
|
105
|
-
|
106
|
-
/** Returns an internal handle.
|
107
|
-
* index=0 returns always an imBinFile* handle,
|
108
|
-
* but for some formats returns NULL because they do not use imBinFile (like AVI and WMV).
|
109
|
-
* index=1 return an internal structure used by the format, usually is a handle
|
110
|
-
* to a third party library structure. This is file format dependent.
|
111
|
-
*
|
112
|
-
* \verbatim ifile:Handle() -> handle: userdata [in Lua 5] \endverbatim
|
113
|
-
* \ingroup file */
|
114
|
-
void* imFileHandle(imFile* ifile, int index);
|
115
|
-
|
116
|
-
/** Returns file information.
|
117
|
-
*
|
118
|
-
*
|
119
|
-
*
|
120
|
-
*
|
121
|
-
*
|
122
|
-
* \verbatim
|
123
|
-
* \
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
*
|
128
|
-
*
|
129
|
-
|
130
|
-
|
131
|
-
*
|
132
|
-
*
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
*
|
137
|
-
*
|
138
|
-
|
139
|
-
|
140
|
-
*
|
141
|
-
* If
|
142
|
-
*
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
*
|
147
|
-
*
|
148
|
-
*
|
149
|
-
|
150
|
-
|
151
|
-
*
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
*
|
156
|
-
*
|
157
|
-
*
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
*
|
163
|
-
*
|
164
|
-
*
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
*
|
171
|
-
*
|
172
|
-
*
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
*
|
178
|
-
*
|
179
|
-
*
|
180
|
-
|
181
|
-
|
182
|
-
*
|
183
|
-
*
|
184
|
-
*
|
185
|
-
*
|
186
|
-
*
|
187
|
-
|
188
|
-
|
189
|
-
|
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
|
-
*
|
270
|
-
*
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
1
|
+
/** \file
|
2
|
+
* \brief Main API
|
3
|
+
*
|
4
|
+
* See Copyright Notice in im_lib.h
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef __IM_H
|
8
|
+
#define __IM_H
|
9
|
+
|
10
|
+
#if defined(__cplusplus)
|
11
|
+
extern "C" {
|
12
|
+
#endif
|
13
|
+
|
14
|
+
|
15
|
+
/** Image data type descriptors. \n
|
16
|
+
* See also \ref datatypeutl.
|
17
|
+
* \ingroup imagerep */
|
18
|
+
enum imDataType
|
19
|
+
{
|
20
|
+
IM_BYTE, /**< "unsigned char". 1 byte from 0 to 255. */
|
21
|
+
IM_USHORT, /**< "unsigned short". 2 bytes from 0 to 65,535. */
|
22
|
+
IM_INT, /**< "int". 4 bytes from -2,147,483,648 to 2,147,483,647. */
|
23
|
+
IM_FLOAT, /**< "float". 4 bytes single precision IEEE floating point. */
|
24
|
+
IM_CFLOAT /**< complex "float". 2 float values in sequence, real and imaginary parts. */
|
25
|
+
};
|
26
|
+
|
27
|
+
/** Image color mode color space descriptors (first byte). \n
|
28
|
+
* See also \ref colormodeutl.
|
29
|
+
* \ingroup imagerep */
|
30
|
+
enum imColorSpace
|
31
|
+
{
|
32
|
+
IM_RGB, /**< Red, Green and Blue (nonlinear). */
|
33
|
+
IM_MAP, /**< Indexed by RGB color map (data_type=IM_BYTE). */
|
34
|
+
IM_GRAY, /**< Shades of gray, luma (nonlinear Luminance), or an intensity value that is not related to color. */
|
35
|
+
IM_BINARY, /**< Indexed by 2 colors: black (0) and white (1) (data_type=IM_BYTE). */
|
36
|
+
IM_CMYK, /**< Cian, Magenta, Yellow and Black (nonlinear). */
|
37
|
+
IM_YCBCR, /**< ITU-R 601 Y'CbCr. Y' is luma (nonlinear Luminance). */
|
38
|
+
IM_LAB, /**< CIE L*a*b*. L* is Lightness (nonlinear Luminance, nearly perceptually uniform). */
|
39
|
+
IM_LUV, /**< CIE L*u*v*. L* is Lightness (nonlinear Luminance, nearly perceptually uniform). */
|
40
|
+
IM_XYZ /**< CIE XYZ. Linear Light Tristimulus, Y is linear Luminance. */
|
41
|
+
};
|
42
|
+
|
43
|
+
/** Image color mode configuration/extra descriptors (1 bit each in the second byte). \n
|
44
|
+
* See also \ref colormodeutl.
|
45
|
+
* \ingroup imagerep */
|
46
|
+
enum imColorModeConfig
|
47
|
+
{
|
48
|
+
IM_ALPHA = 0x100, /**< adds an Alpha channel */
|
49
|
+
IM_PACKED = 0x200, /**< packed components (rgbrgbrgb...) */
|
50
|
+
IM_TOPDOWN = 0x400 /**< orientation from top down to bottom */
|
51
|
+
};
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
/** File Access Error Codes
|
56
|
+
* \ingroup file */
|
57
|
+
enum imErrorCodes
|
58
|
+
{
|
59
|
+
IM_ERR_NONE, /**< No error. */
|
60
|
+
IM_ERR_OPEN, /**< Error while opening the file (read or write). */
|
61
|
+
IM_ERR_ACCESS, /**< Error while accessing the file (read or write). */
|
62
|
+
IM_ERR_FORMAT, /**< Invalid or unrecognized file format. */
|
63
|
+
IM_ERR_DATA, /**< Invalid or unsupported data. */
|
64
|
+
IM_ERR_COMPRESS, /**< Invalid or unsupported compression. */
|
65
|
+
IM_ERR_MEM, /**< Insuficient memory */
|
66
|
+
IM_ERR_COUNTER /**< Interrupted by the counter */
|
67
|
+
};
|
68
|
+
|
69
|
+
/* Internal Image File Structure. */
|
70
|
+
typedef struct _imFile imFile;
|
71
|
+
|
72
|
+
/** Opens the file for reading. It must exists. Also reads file header.
|
73
|
+
* It will try to identify the file format.
|
74
|
+
* See also \ref imErrorCodes. \n
|
75
|
+
* In Lua the IM file metatable name is "imFile".
|
76
|
+
* When converted to a string will return "imFile(%p)" where %p is replaced by the userdata address.
|
77
|
+
* If the file is already closed by im.FileClose, then it will return also the suffix "-closed".
|
78
|
+
*
|
79
|
+
* \verbatim im.FileOpen(file_name: string) -> ifile: imFile, error: number [in Lua 5] \endverbatim
|
80
|
+
* \ingroup file */
|
81
|
+
imFile* imFileOpen(const char* file_name, int *error);
|
82
|
+
|
83
|
+
/** Opens the file for reading using a specific format. It must exists. Also reads file header.
|
84
|
+
* See also \ref imErrorCodes and \ref format.
|
85
|
+
*
|
86
|
+
* \verbatim im.FileOpenAs(file_name, format: string) -> ifile: imFile, error: number [in Lua 5] \endverbatim
|
87
|
+
* \ingroup file */
|
88
|
+
imFile* imFileOpenAs(const char* file_name, const char* format, int *error);
|
89
|
+
|
90
|
+
/** Creates a new file for writing using a specific format. If the file exists will be replaced. \n
|
91
|
+
* It will only initialize the format driver and create the file, no data is actually written.
|
92
|
+
* See also \ref imErrorCodes and \ref format.
|
93
|
+
*
|
94
|
+
* \verbatim im.FileNew(file_name: string, format: string) -> ifile: imFile, error: number [in Lua 5] \endverbatim
|
95
|
+
* \ingroup file */
|
96
|
+
imFile* imFileNew(const char* file_name, const char* format, int *error);
|
97
|
+
|
98
|
+
/** Closes the file. \n
|
99
|
+
* In Lua if this function is not called, the file is closed by the garbage collector.
|
100
|
+
*
|
101
|
+
* \verbatim im.FileClose(ifile: imFile) [in Lua 5] \endverbatim
|
102
|
+
* \verbatim ifile:Close() [in Lua 5] \endverbatim
|
103
|
+
* \ingroup file */
|
104
|
+
void imFileClose(imFile* ifile);
|
105
|
+
|
106
|
+
/** Returns an internal handle.
|
107
|
+
* index=0 returns always an imBinFile* handle,
|
108
|
+
* but for some formats returns NULL because they do not use imBinFile (like AVI and WMV).
|
109
|
+
* index=1 return an internal structure used by the format, usually is a handle
|
110
|
+
* to a third party library structure. This is file format dependent.
|
111
|
+
*
|
112
|
+
* \verbatim ifile:Handle() -> handle: userdata [in Lua 5] \endverbatim
|
113
|
+
* \ingroup file */
|
114
|
+
void* imFileHandle(imFile* ifile, int index);
|
115
|
+
|
116
|
+
/** Returns file information.
|
117
|
+
* image_count is the number of images in a stack or
|
118
|
+
* the number of frames in a video/animation or the depth of a volume data. \n
|
119
|
+
* compression and image_count can be NULL. \n
|
120
|
+
* These informations are also available as attributes:
|
121
|
+
* \verbatim FileFormat (string) \endverbatim
|
122
|
+
* \verbatim FileCompression (string) \endverbatim
|
123
|
+
* \verbatim FileImageCount IM_INT (1) \endverbatim
|
124
|
+
* See also \ref format.
|
125
|
+
*
|
126
|
+
* \verbatim ifile:GetInfo() -> format: string, compression: string, image_count: number [in Lua 5] \endverbatim
|
127
|
+
* \ingroup file */
|
128
|
+
void imFileGetInfo(imFile* ifile, char* format, char* compression, int *image_count);
|
129
|
+
|
130
|
+
/** Changes the write compression method. \n
|
131
|
+
* If the compression is not supported will return an error code when writting. \n
|
132
|
+
* Use NULL to set the default compression. You can use the imFileGetInfo to retrieve the actual compression
|
133
|
+
* but only after \ref imFileWriteImageInfo. Only a few formats allow you to change the compression between frames.
|
134
|
+
*
|
135
|
+
* \verbatim ifile:SetInfo(compression: string) [in Lua 5] \endverbatim
|
136
|
+
* \ingroup file */
|
137
|
+
void imFileSetInfo(imFile* ifile, const char* compression);
|
138
|
+
|
139
|
+
/** Changes an extended attribute. \n
|
140
|
+
* The data will be internally duplicated. \n
|
141
|
+
* If data is NULL the attribute is removed.
|
142
|
+
* If data_type is BYTE then count can be -1 to indicate a NULL terminated string.
|
143
|
+
* See also \ref imDataType.
|
144
|
+
*
|
145
|
+
* \verbatim ifile:SetAttribute(attrib: string, data_type: number, data: table of numbers or string) [in Lua 5] \endverbatim
|
146
|
+
* If data_type is IM_BYTE, as_string can be used as data.
|
147
|
+
* \ingroup file */
|
148
|
+
void imFileSetAttribute(imFile* ifile, const char* attrib, int data_type, int count, const void* data);
|
149
|
+
|
150
|
+
/** Returns an extended attribute. \n
|
151
|
+
* Returns NULL if not found. data_type and count can be NULL.
|
152
|
+
* See also \ref imDataType.
|
153
|
+
*
|
154
|
+
* \verbatim ifile:GetAttribute(attrib: string, [as_string: boolean]) -> data: table of numbers or string, data_type: number [in Lua 5] \endverbatim
|
155
|
+
* If data_type is IM_BYTE, as_string can be used to return a string instead of a table.
|
156
|
+
* \ingroup file */
|
157
|
+
const void* imFileGetAttribute(imFile* ifile, const char* attrib, int *data_type, int *count);
|
158
|
+
|
159
|
+
/** Returns a list of the attribute names. \n
|
160
|
+
* "attrib" must contain room enough for "attrib_count" names. Use "attrib=NULL" to return only the count.
|
161
|
+
*
|
162
|
+
* \verbatim ifile:GetAttributeList() -> data: table of strings [in Lua 5] \endverbatim
|
163
|
+
* \ingroup file */
|
164
|
+
void imFileGetAttributeList(imFile* ifile, char** attrib, int *attrib_count);
|
165
|
+
|
166
|
+
/** Returns the pallete if any. \n
|
167
|
+
* "palette" must be a 256 colors alocated array. \n
|
168
|
+
* Returns zero in "palette_count" if there is no palette. "palette_count" is >0 and <=256.
|
169
|
+
*
|
170
|
+
* \verbatim ifile:GetPalette() -> palette: imPalette [in Lua 5] \endverbatim
|
171
|
+
* \ingroup file */
|
172
|
+
void imFileGetPalette(imFile* ifile, long* palette, int *palette_count);
|
173
|
+
|
174
|
+
/** Changes the pallete. \n
|
175
|
+
* "palette_count" is >0 and <=256.
|
176
|
+
*
|
177
|
+
* \verbatim ifile:SetPalette(palette: imPalette) [in Lua 5] \endverbatim
|
178
|
+
* \ingroup file */
|
179
|
+
void imFileSetPalette(imFile* ifile, long* palette, int palette_count);
|
180
|
+
|
181
|
+
/** Reads the image header if any and returns image information. \n
|
182
|
+
* Reads also the extended image attributes, so other image attributes will be available only after calling this function. \n
|
183
|
+
* Returns an error code.
|
184
|
+
* index specifies the image number between 0 and image_count-1. \n
|
185
|
+
* Some drivers reads only in sequence, so "index" can be ignored by the format driver. \n
|
186
|
+
* Any parameters can be NULL. This function must be called at least once, check each format documentation.
|
187
|
+
* See also \ref imErrorCodes, \ref imDataType, \ref imColorSpace and \ref imColorModeConfig.
|
188
|
+
*
|
189
|
+
* \verbatim ifile:ReadImageInfo([index: number]) -> error: number, width: number, height: number, file_color_mode: number, file_data_type: number [in Lua 5] \endverbatim
|
190
|
+
* Default index is 0.
|
191
|
+
* \ingroup file */
|
192
|
+
int imFileReadImageInfo(imFile* ifile, int index, int *width, int *height, int *file_color_mode, int *file_data_type);
|
193
|
+
|
194
|
+
/** Writes the image header. Writes the file header at the first time it is called.
|
195
|
+
* Writes also the extended image attributes. \n
|
196
|
+
* Must call imFileSetPalette and set other attributes before calling this function. \n
|
197
|
+
* In some formats the color space will be converted to match file format specification. \n
|
198
|
+
* Returns an error code. This function must be called at least once, check each format documentation.
|
199
|
+
* See also \ref imErrorCodes, \ref imDataType, \ref imColorSpace and \ref imColorModeConfig.
|
200
|
+
*
|
201
|
+
* \verbatim ifile:WriteImageInfo(width: number, height: number, user_color_mode: number, user_data_type: number) -> error: number [in Lua 5] \endverbatim
|
202
|
+
* \ingroup file */
|
203
|
+
int imFileWriteImageInfo(imFile* ifile, int width, int height, int user_color_mode, int user_data_type);
|
204
|
+
|
205
|
+
/** Reads the image data with or without conversion. \n
|
206
|
+
* The data can be converted to bitmap when reading.
|
207
|
+
* Data type conversion to byte will always scan for min-max then scale to 0-255,
|
208
|
+
* except integer values that min-max are already between 0-255. Complex to real conversions will use the magnitude. \n
|
209
|
+
* Color mode flags contains packed, alpha and top-botttom information.
|
210
|
+
* If flag is 0 means unpacked, no alpha and bottom up. If flag is -1 the file original flags are used. \n
|
211
|
+
* Returns an error code.
|
212
|
+
* See also \ref imErrorCodes, \ref imDataType, \ref imColorSpace and \ref imColorModeConfig.
|
213
|
+
*
|
214
|
+
* \verbatim ifile:ReadImageData(data: userdata, convert2bitmap: boolean, color_mode_flags: number) -> error: number [in Lua 5] \endverbatim
|
215
|
+
* \ingroup file */
|
216
|
+
int imFileReadImageData(imFile* ifile, void* data, int convert2bitmap, int color_mode_flags);
|
217
|
+
|
218
|
+
/** Writes the image data. \n
|
219
|
+
* Returns an error code.
|
220
|
+
*
|
221
|
+
* \verbatim ifile:WriteImageData(data: userdata) -> error: number [in Lua 5] \endverbatim
|
222
|
+
* \ingroup file */
|
223
|
+
int imFileWriteImageData(imFile* ifile, void* data);
|
224
|
+
|
225
|
+
|
226
|
+
|
227
|
+
|
228
|
+
/** Registers all the internal formats. \n
|
229
|
+
* It is automatically called internally when a format is accessed,
|
230
|
+
* but can be called to force the internal formats to be registered before other formats.
|
231
|
+
* Notice that additional formats when registered will be registered before the internal formats
|
232
|
+
* if imFormatRegisterInternal is not called yet. \n
|
233
|
+
* To control the register order is usefull when two format drivers handle the same format.
|
234
|
+
* The first registered format will always be used first.
|
235
|
+
* \ingroup format */
|
236
|
+
void imFormatRegisterInternal(void);
|
237
|
+
|
238
|
+
/** Remove all registered formats. Call this if you are checking memory leaks.
|
239
|
+
* \ingroup format */
|
240
|
+
void imFormatRemoveAll(void);
|
241
|
+
|
242
|
+
/** Returns a list of the registered formats. \n
|
243
|
+
* format_list is an array of format identifiers.
|
244
|
+
* Each format identifier is 10 chars max, maximum of 50 formats.
|
245
|
+
* You can use "char* format_list[50]".
|
246
|
+
*
|
247
|
+
* \verbatim im.FormatList() -> format_list: table of strings [in Lua 5] \endverbatim
|
248
|
+
* \ingroup format */
|
249
|
+
void imFormatList(char** format_list, int *format_count);
|
250
|
+
|
251
|
+
/** Returns the format description. \n
|
252
|
+
* Format description is 50 chars max. \n
|
253
|
+
* Extensions are separated like "*.tif;*.tiff;", 50 chars max. \n
|
254
|
+
* Returns an error code. The parameters can be NULL, except format.
|
255
|
+
* See also \ref format.
|
256
|
+
*
|
257
|
+
* \verbatim im.FormatInfo(format: string) -> error: number, desc: string, ext: string, can_sequence: boolean [in Lua 5] \endverbatim
|
258
|
+
* \ingroup format */
|
259
|
+
int imFormatInfo(const char* format, char* desc, char* ext, int *can_sequence);
|
260
|
+
|
261
|
+
/** Returns the format compressions. \n
|
262
|
+
* Compressions are 20 chars max each, maximum of 50 compressions. You can use "char* comp[50]". \n
|
263
|
+
* color_mode and data_type are optional, use -1 to ignore them. \n
|
264
|
+
* If you use them they will select only the allowed compressions checked like in \ref imFormatCanWriteImage. \n
|
265
|
+
* Returns an error code.
|
266
|
+
* See also \ref format, \ref imErrorCodes, \ref imDataType, \ref imColorSpace and \ref imColorModeConfig.
|
267
|
+
*
|
268
|
+
* \verbatim im.FormatCompressions(format: string, [color_mode: number], [data_type: number]) -> error: number, comp: table of strings [in Lua 5] \endverbatim
|
269
|
+
* \ingroup format */
|
270
|
+
int imFormatCompressions(const char* format, char** comp, int *comp_count, int color_mode, int data_type);
|
271
|
+
|
272
|
+
/** Checks if the format suport the given image class at the given compression. \n
|
273
|
+
* Returns an error code.
|
274
|
+
* See also \ref format, \ref imErrorCodes, \ref imDataType, \ref imColorSpace and \ref imColorModeConfig.
|
275
|
+
*
|
276
|
+
* \verbatim im.FormatCanWriteImage(format: string, compression: string, color_mode: number, data_type: number) -> can_write: boolean [in Lua 5] \endverbatim
|
277
|
+
* \ingroup format */
|
278
|
+
int imFormatCanWriteImage(const char* format, const char* compression, int color_mode, int data_type);
|
279
|
+
|
280
|
+
|
281
|
+
#if defined(__cplusplus)
|
282
|
+
}
|
283
|
+
#endif
|
284
|
+
|
285
|
+
#include "old_im.h"
|
286
|
+
|
287
|
+
#endif
|