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
data/ext/rb_iup.h
CHANGED
|
@@ -1,2479 +1,404 @@
|
|
|
1
1
|
#include <ruby.h>
|
|
2
|
+
#include <ctype.h>
|
|
2
3
|
#include "iup.h"
|
|
3
4
|
#include "iupcontrols.h"
|
|
4
|
-
#include "cd.h"
|
|
5
|
-
|
|
5
|
+
#include "cd.h"
|
|
6
|
+
#include "cdiup.h"
|
|
7
|
+
#include "cdpdf.h"
|
|
8
|
+
#include "iup_pplot.h"
|
|
9
|
+
#include "iupcb.h"
|
|
10
|
+
#include "iupcells.h"
|
|
11
|
+
#include "iupcolorbar.h"
|
|
12
|
+
#include "iupcontrols.h"
|
|
13
|
+
#include "iupgl.h"
|
|
14
|
+
#include "iupim.h"
|
|
15
|
+
#include "iupole.h"
|
|
16
|
+
|
|
17
|
+
// Ruby 1.9.x
|
|
18
|
+
#ifndef RSTRING_PTR
|
|
19
|
+
#define RSTRING_PTR(s) (RSTRING(s)->ptr)
|
|
20
|
+
#endif
|
|
21
|
+
#ifndef RSTRING_LEN
|
|
22
|
+
#define RSTRING_LEN(s) (RSTRING(s)->len)
|
|
23
|
+
#endif
|
|
24
|
+
#ifndef RARRAY_PTR
|
|
25
|
+
#define RARRAY_PTR(a) (RARRAY(a)->ptr)
|
|
26
|
+
#endif
|
|
27
|
+
#ifndef RARRAY_LEN
|
|
28
|
+
#define RARRAY_LEN(a) (RARRAY(a)->len)
|
|
29
|
+
#endif
|
|
30
|
+
#ifndef RFLOAT_VALUE
|
|
31
|
+
#define RFLOAT_VALUE(v) (RFLOAT(v)->value)
|
|
32
|
+
#endif
|
|
33
|
+
|
|
34
|
+
#ifdef WIN32
|
|
35
|
+
#define DLLEXPORT __declspec(dllexport)
|
|
36
|
+
#else
|
|
37
|
+
#define DLLEXPORT
|
|
38
|
+
#endif
|
|
39
|
+
|
|
40
|
+
VALUE rb_IupVal(int argc,VALUE *argv,VALUE self);
|
|
41
|
+
|
|
42
|
+
VALUE rb_IupTree(int argc,VALUE *argv,VALUE self);
|
|
43
|
+
VALUE rb_IupTreeGetAttribute(VALUE node,VALUE v_a,VALUE v_id);
|
|
44
|
+
VALUE rb_IupTreeGetFloat(VALUE node,VALUE v_a,VALUE v_id);
|
|
45
|
+
VALUE rb_IupTreeGetId(VALUE node,VALUE v_userid);
|
|
46
|
+
VALUE rb_IupTreeGetInt(VALUE node,VALUE v_a,VALUE v_id);
|
|
47
|
+
VALUE rb_IupTreeGetUserId(VALUE node,VALUE v_id);
|
|
48
|
+
VALUE rb_IupTreeSetAttribute(VALUE node,VALUE v_a,VALUE v_id,VALUE v_v);
|
|
49
|
+
VALUE rb_IupTreeSetUserId(VALUE node,VALUE v_id,VALUE v_userid);
|
|
50
|
+
VALUE rb_IupTreeStoreAttribute(VALUE node,VALUE v_a,VALUE v_id,VALUE v_v);
|
|
51
|
+
|
|
52
|
+
VALUE rb_IupTabsv(int argc,VALUE *argv,VALUE self);
|
|
53
|
+
|
|
54
|
+
VALUE rb_IupSpin(VALUE self);
|
|
55
|
+
VALUE rb_IupSpinbox(int argc,VALUE *argv,VALUE self);
|
|
56
|
+
|
|
57
|
+
VALUE rb_IupSbox(int argc,VALUE *argv,VALUE self);
|
|
58
|
+
|
|
59
|
+
VALUE rb_IupOleControl(VALUE self,VALUE v_ProgID);
|
|
60
|
+
//VALUE rb_IupOleControl_getclass(VALUE self);
|
|
61
|
+
VALUE rb_IupOleControlOpen(VALUE self);
|
|
62
|
+
|
|
63
|
+
VALUE rb_IupMatGetAttribute(VALUE node,VALUE v_a,VALUE v_l,VALUE v_c);
|
|
64
|
+
VALUE rb_IupMatGetFloat(VALUE node,VALUE v_a,VALUE v_l,VALUE v_c);
|
|
65
|
+
VALUE rb_IupMatGetInt(VALUE node,VALUE v_a,VALUE v_l,VALUE v_c);
|
|
66
|
+
VALUE rb_IupMatrix(int argc,VALUE *argv,VALUE self);
|
|
67
|
+
VALUE rb_IupMatSetAttribute(VALUE node,VALUE v_a,VALUE v_l,VALUE v_c,VALUE v_v);
|
|
68
|
+
VALUE rb_IupMatStoreAttribute(VALUE node,VALUE v_a,VALUE v_l,VALUE v_c,VALUE v_v);
|
|
69
|
+
|
|
70
|
+
VALUE rb_IupLoadImage(VALUE self,VALUE v_file_name);
|
|
71
|
+
VALUE rb_IupSaveImage(VALUE self,VALUE node,VALUE v_file_name,VALUE v_format);
|
|
72
|
+
|
|
73
|
+
VALUE rb_IupGLCanvas(int argc,VALUE *argv,VALUE self);
|
|
74
|
+
VALUE rb_IupGLCanvasOpen(VALUE self);
|
|
75
|
+
VALUE rb_IupGLIsCurrent(VALUE self,VALUE node);
|
|
76
|
+
VALUE rb_IupGLMakeCurrent(VALUE self,VALUE node);
|
|
77
|
+
VALUE rb_IupGLPalette(VALUE self,VALUE node,VALUE v_index,VALUE v_r,VALUE v_g,VALUE v_b);
|
|
78
|
+
VALUE rb_IupGLSwapBuffers(VALUE self,VALUE node);
|
|
79
|
+
|
|
80
|
+
VALUE rb_IupGetParam(int argc,VALUE *argv,VALUE self);
|
|
81
|
+
|
|
82
|
+
VALUE rb_IupGetColor(VALUE self,VALUE v_x,VALUE v_y);
|
|
83
|
+
|
|
84
|
+
VALUE rb_IupDial(int argc,VALUE *argv,VALUE self);
|
|
85
|
+
|
|
86
|
+
VALUE rb_IupGauge(int argc,VALUE *argv,VALUE self);
|
|
87
|
+
|
|
88
|
+
VALUE rb_IupControlsClose(VALUE self);
|
|
89
|
+
VALUE rb_IupControlsOpen(VALUE self);
|
|
90
|
+
VALUE rb_IupImageLibOpen(VALUE self);
|
|
91
|
+
|
|
92
|
+
VALUE rb_IupColorbar(VALUE self);
|
|
93
|
+
|
|
94
|
+
VALUE rb_IupCells(int argc,VALUE *argv, VALUE self);
|
|
95
|
+
|
|
96
|
+
VALUE rb_IupColorBrowser(VALUE self);
|
|
97
|
+
|
|
98
|
+
VALUE rb_IupPPlot(VALUE self);
|
|
99
|
+
VALUE rb_IupPPlotAdd(VALUE node,VALUE v_x,VALUE v_y);
|
|
100
|
+
VALUE rb_IupPPlotAddStr(VALUE node,VALUE v_x,VALUE v_y);
|
|
101
|
+
VALUE rb_IupPPlotBegin(VALUE node,VALUE v_strXdata);
|
|
102
|
+
VALUE rb_IupPPlotEnd(VALUE node);
|
|
103
|
+
VALUE rb_IupPPlotInsert(VALUE node,VALUE v_index,VALUE v_sample_index,VALUE v_x,VALUE v_y);
|
|
104
|
+
VALUE rb_IupPPlotInsertStr(VALUE node,VALUE v_index,VALUE v_sample_index,VALUE v_x,VALUE v_y);
|
|
105
|
+
VALUE rb_IupPPlotOpen(VALUE self);
|
|
106
|
+
VALUE rb_IupPPlotPaintTo(VALUE node,VALUE v_cnv);
|
|
107
|
+
VALUE rb_IupPPlotTransform(VALUE node,VALUE v_x,VALUE v_y);
|
|
108
|
+
|
|
109
|
+
VALUE rb_cCdCanvas_initialize(VALUE self,VALUE v_canvas);
|
|
110
|
+
VALUE rb_cdActivate(VALUE self);
|
|
111
|
+
VALUE rb_cdActiveCanvas(VALUE self);
|
|
112
|
+
VALUE rb_cdAlpha(VALUE self,VALUE v_color);
|
|
113
|
+
VALUE rb_cdBitmapGetData(VALUE self,VALUE v_bitmap,VALUE v_dataptr);
|
|
114
|
+
VALUE rb_cdBitmapRGB2Map(VALUE self,VALUE v_bitmap_rgb,VALUE v_bitmap_map);
|
|
115
|
+
VALUE rb_cdBitmapSetRect(VALUE self,VALUE v_bitmap,VALUE v_xmin,VALUE v_xmax,VALUE v_ymin,VALUE v_ymax);
|
|
116
|
+
VALUE rb_cdBlue(VALUE self,VALUE v_color);
|
|
117
|
+
VALUE rb_cdCanvasActivate(VALUE self);
|
|
118
|
+
VALUE rb_cdCanvasArc(VALUE self,VALUE v_xc,VALUE v_yc,VALUE v_w,VALUE v_h,VALUE v_angle1,VALUE v_angle2);
|
|
119
|
+
VALUE rb_cdCanvasBackground(VALUE self,VALUE v_color);
|
|
120
|
+
VALUE rb_cdCanvasBackOpacity(VALUE self,VALUE v_opacity);
|
|
121
|
+
VALUE rb_cdCanvasBegin(VALUE self,VALUE v_mode);
|
|
122
|
+
VALUE rb_cdCanvasBox(VALUE self,VALUE v_xmin,VALUE v_xmax,VALUE v_ymin,VALUE v_ymax);
|
|
123
|
+
VALUE rb_cdCanvasChord(VALUE self,VALUE v_xc,VALUE v_yc,VALUE v_w,VALUE v_h,VALUE v_angle1,VALUE v_angle2);
|
|
124
|
+
VALUE rb_cdCanvasClear(VALUE self);
|
|
125
|
+
VALUE rb_cdCanvasClip(VALUE self,VALUE v_mode);
|
|
126
|
+
VALUE rb_cdCanvasClipArea(VALUE self,VALUE v_xmin,VALUE v_xmax,VALUE v_ymin,VALUE v_ymax);
|
|
127
|
+
VALUE rb_cdCanvasCreateImage(VALUE self,VALUE v_w,VALUE v_h);
|
|
128
|
+
VALUE rb_cdCanvasDeactivate(VALUE self);
|
|
129
|
+
VALUE rb_cdCanvasEnd(VALUE self);
|
|
130
|
+
VALUE rb_cdCanvasFillMode(VALUE self,VALUE v_mode);
|
|
131
|
+
VALUE rb_cdCanvasFlush(VALUE self);
|
|
132
|
+
VALUE rb_cdCanvasFont(VALUE self,VALUE v_type_face,VALUE v_style,VALUE v_size);
|
|
133
|
+
VALUE rb_cdCanvasForeground(VALUE self,VALUE v_color);
|
|
134
|
+
VALUE rb_cdCanvasGetAttribute(VALUE self,VALUE v_name);
|
|
135
|
+
VALUE rb_cdCanvasGetBitmap(VALUE self,VALUE v_bitmap,VALUE v_x,VALUE v_y);
|
|
136
|
+
VALUE rb_cdCanvasGetClipArea(VALUE self);
|
|
137
|
+
VALUE rb_cdCanvasGetColorPlanes(VALUE self);
|
|
138
|
+
VALUE rb_cdCanvasGetContext(VALUE self);
|
|
139
|
+
VALUE rb_cdCanvasGetFont(VALUE self);
|
|
140
|
+
VALUE rb_cdCanvasGetFontDim(VALUE self);
|
|
141
|
+
VALUE rb_cdCanvasGetImage(VALUE self,VALUE v_image,VALUE v_x,VALUE v_y);
|
|
142
|
+
VALUE rb_cdCanvasGetImageRGB(VALUE self,VALUE v_x,VALUE v_y,VALUE v_w,VALUE v_h);
|
|
143
|
+
VALUE rb_cdCanvasGetOrigin(VALUE self);
|
|
144
|
+
VALUE rb_cdCanvasGetPattern(VALUE self);
|
|
145
|
+
VALUE rb_cdCanvasGetRegionBox(VALUE self);
|
|
146
|
+
VALUE rb_cdCanvasGetSize(VALUE self,VALUE v_width,VALUE v_height,VALUE v_width_mm,VALUE v_height_mm);
|
|
147
|
+
VALUE rb_cdCanvasGetStipple(VALUE self);
|
|
148
|
+
VALUE rb_cdCanvasGetTextBounds(VALUE self,VALUE v_x,VALUE v_y,VALUE v_s);
|
|
149
|
+
VALUE rb_cdCanvasGetTextBox(VALUE self,VALUE v_x,VALUE v_y,VALUE v_s);
|
|
150
|
+
VALUE rb_cdCanvasGetTextSize(VALUE self,VALUE v_s);
|
|
151
|
+
VALUE rb_cdCanvasGetTransform(VALUE self);
|
|
152
|
+
VALUE rb_cdCanvasGetVectorTextBounds(VALUE self,VALUE v_s,VALUE v_x,VALUE v_y);
|
|
153
|
+
VALUE rb_cdCanvasGetVectorTextSize(VALUE self,VALUE v_s);
|
|
154
|
+
VALUE rb_cdCanvasHatch(VALUE self,VALUE v_style);
|
|
155
|
+
VALUE rb_cdCanvasInteriorStyle(VALUE self,VALUE v_style);
|
|
156
|
+
VALUE rb_cdCanvasInvertYAxis(VALUE self,VALUE v_y);
|
|
157
|
+
VALUE rb_cdCanvasIsPointInRegion(VALUE self,VALUE v_x,VALUE v_y);
|
|
158
|
+
VALUE rb_cdCanvasLine(VALUE self,VALUE v_x1,VALUE v_y1,VALUE v_x2,VALUE v_y2);
|
|
159
|
+
VALUE rb_cdCanvasLineCap(VALUE self,VALUE v_cap);
|
|
160
|
+
VALUE rb_cdCanvasLineJoin(VALUE self,VALUE v_join);
|
|
161
|
+
VALUE rb_cdCanvasLineStyle(VALUE self,VALUE v_style);
|
|
162
|
+
VALUE rb_cdCanvasLineStyleDashes(VALUE self,VALUE v_dashes);
|
|
163
|
+
VALUE rb_cdCanvasLineWidth(VALUE self,VALUE v_width);
|
|
164
|
+
VALUE rb_cdCanvasMark(VALUE self,VALUE v_x,VALUE v_y);
|
|
165
|
+
VALUE rb_cdCanvasMarkSize(VALUE self,VALUE v_size);
|
|
166
|
+
VALUE rb_cdCanvasMarkType(VALUE self,VALUE v_type);
|
|
167
|
+
VALUE rb_cdCanvasMM2Pixel(VALUE self,VALUE v_mm_dx,VALUE v_mm_dy);
|
|
168
|
+
VALUE rb_cdCanvasMultiLineVectorText(VALUE self,VALUE v_x,VALUE v_y,VALUE v_s);
|
|
169
|
+
VALUE rb_cdCanvasNativeFont(VALUE self,VALUE v_font);
|
|
170
|
+
VALUE rb_cdCanvasOffsetRegion(VALUE self,VALUE v_x,VALUE v_y);
|
|
171
|
+
VALUE rb_cdCanvasOrigin(VALUE self,VALUE v_x,VALUE v_y);
|
|
172
|
+
VALUE rb_cdCanvasPalette(VALUE self,VALUE v_palette,VALUE v_mode);
|
|
173
|
+
VALUE rb_cdCanvasPattern(VALUE self,VALUE v_w,VALUE v_h,VALUE v_pattern);
|
|
174
|
+
VALUE rb_cdCanvasPixel(VALUE self,VALUE v_x,VALUE v_y,VALUE v_color);
|
|
175
|
+
VALUE rb_cdCanvasPixel2MM(VALUE self,VALUE v_dx,VALUE v_dy);
|
|
176
|
+
VALUE rb_cdCanvasPlay(VALUE self,VALUE v_context,VALUE v_xmin,VALUE v_xmax,VALUE v_ymin,VALUE v_ymax,VALUE v_data);
|
|
177
|
+
VALUE rb_cdCanvasPutBitmap(VALUE self,VALUE v_bitmap,VALUE v_x,VALUE v_y,VALUE v_w,VALUE v_h);
|
|
178
|
+
VALUE rb_cdCanvasPutImageRect(VALUE self,VALUE v_image,VALUE v_x,VALUE v_y,VALUE v_xmin,VALUE v_xmax,VALUE v_ymin,VALUE v_ymax);
|
|
179
|
+
VALUE rb_cdCanvasPutImageRectMap(VALUE self,VALUE v_iw,VALUE v_ih,VALUE v_index,VALUE v_colors,VALUE v_x,VALUE v_y,VALUE v_w,VALUE v_h,VALUE v_xmin,VALUE v_xmax,VALUE v_ymin,VALUE v_ymax);
|
|
180
|
+
VALUE rb_cdCanvasPutImageRectRGB(VALUE self,VALUE v_iw,VALUE v_ih,VALUE v_r,VALUE v_g,VALUE v_b,VALUE v_x,VALUE v_y,VALUE v_w,VALUE v_h,VALUE v_xmin,VALUE v_xmax,VALUE v_ymin,VALUE v_ymax);
|
|
181
|
+
VALUE rb_cdCanvasPutImageRectRGBA(VALUE self,VALUE v_iw,VALUE v_ih,VALUE v_r,VALUE v_g,VALUE v_b,VALUE v_a,VALUE v_x,VALUE v_y,VALUE v_w,VALUE v_h,VALUE v_xmin,VALUE v_xmax,VALUE v_ymin,VALUE v_ymax);
|
|
182
|
+
VALUE rb_cdCanvasRect(VALUE self,VALUE v_xmin,VALUE v_xmax,VALUE v_ymin,VALUE v_ymax);
|
|
183
|
+
VALUE rb_cdCanvasRegionCombineMode(VALUE self,VALUE v_mode);
|
|
184
|
+
VALUE rb_cdCanvasRestoreState(VALUE self,VALUE v_state);
|
|
185
|
+
VALUE rb_cdCanvasSaveState(VALUE self);
|
|
186
|
+
VALUE rb_cdCanvasScrollArea(VALUE self,VALUE v_xmin,VALUE v_xmax,VALUE v_ymin,VALUE v_ymax,VALUE v_dx,VALUE v_dy);
|
|
187
|
+
VALUE rb_cdCanvasSector(VALUE self,VALUE v_xc,VALUE v_yc,VALUE v_w,VALUE v_h,VALUE v_angle1,VALUE v_angle2);
|
|
188
|
+
VALUE rb_cdCanvasSetAttribute(VALUE self,VALUE v_name,VALUE v_data);
|
|
189
|
+
VALUE rb_cdCanvasSetBackground(VALUE self,VALUE v_color);
|
|
190
|
+
VALUE rb_cdCanvasSetForeground(VALUE self,VALUE v_color);
|
|
191
|
+
VALUE rb_cdCanvasSimulate(VALUE self,VALUE v_mode);
|
|
192
|
+
VALUE rb_cdCanvasStipple(VALUE self,VALUE v_w,VALUE v_h,VALUE v_stipple);
|
|
193
|
+
VALUE rb_cdCanvasText(VALUE self,VALUE v_x,VALUE v_y,VALUE v_s);
|
|
194
|
+
VALUE rb_cdCanvasTextAlignment(VALUE self,VALUE v_alignment);
|
|
195
|
+
VALUE rb_cdCanvasTextOrientation(VALUE self,VALUE v_angle);
|
|
196
|
+
VALUE rb_cdCanvasTransform(VALUE self,VALUE v_matrix);
|
|
197
|
+
VALUE rb_cdCanvasTransformMultiply(VALUE self,VALUE v_matrix);
|
|
198
|
+
VALUE rb_cdCanvasTransformPoint(VALUE self,VALUE v_x,VALUE v_y);
|
|
199
|
+
VALUE rb_cdCanvasTransformRotate(VALUE self,VALUE v_angle);
|
|
200
|
+
VALUE rb_cdCanvasTransformScale(VALUE self,VALUE v_sx,VALUE v_sy);
|
|
201
|
+
VALUE rb_cdCanvasTransformTranslate(VALUE self,VALUE v_dx,VALUE v_dy);
|
|
202
|
+
VALUE rb_cdCanvasUpdateYAxis(VALUE self,VALUE v_y);
|
|
203
|
+
VALUE rb_cdCanvasVectorCharSize(VALUE self,VALUE v_size);
|
|
204
|
+
VALUE rb_cdCanvasVectorFont(VALUE self,VALUE v_filename);
|
|
205
|
+
VALUE rb_cdCanvasVectorText(VALUE self,VALUE v_x,VALUE v_y,VALUE v_s);
|
|
206
|
+
VALUE rb_cdCanvasVectorTextDirection(VALUE self,VALUE v_x1,VALUE v_y1,VALUE v_x2,VALUE v_y2);
|
|
207
|
+
VALUE rb_cdCanvasVectorTextSize(VALUE self,VALUE v_size_x,VALUE v_size_y,VALUE v_s);
|
|
208
|
+
VALUE rb_cdCanvasVectorTextTransform(VALUE self,VALUE v_matrix);
|
|
209
|
+
VALUE rb_cdCanvasVertex(VALUE self,VALUE v_x,VALUE v_y);
|
|
210
|
+
VALUE rb_cdCanvasWriteMode(VALUE self,VALUE v_mode);
|
|
211
|
+
VALUE rb_cdContextCaps(VALUE self,VALUE v_context);
|
|
212
|
+
VALUE rb_cdContextIup();
|
|
213
|
+
VALUE rb_cdContextPDF();
|
|
214
|
+
VALUE rb_cdContextRegisterCallback(VALUE self,VALUE v_context,VALUE v_cb,VALUE v_func);
|
|
215
|
+
VALUE rb_cdCreateBitmap(VALUE self,VALUE v_w,VALUE v_h,VALUE v_type);
|
|
216
|
+
VALUE rb_cdCreateCanvas(VALUE self,VALUE v_context,VALUE v_data);
|
|
217
|
+
VALUE rb_cdDecodeAlpha(VALUE self,VALUE v_color);
|
|
218
|
+
VALUE rb_cdDecodeColor(VALUE self,VALUE v_color);
|
|
219
|
+
VALUE rb_cdEncodeAlpha(VALUE self,VALUE v_color,VALUE v_alpha);
|
|
220
|
+
VALUE rb_cdEncodeColor(VALUE self,VALUE v_red,VALUE v_green,VALUE v_blue);
|
|
221
|
+
VALUE rb_cdfCanvasArc(VALUE self,VALUE v_xc,VALUE v_yc,VALUE v_w,VALUE v_h,VALUE v_angle1,VALUE v_angle2);
|
|
222
|
+
VALUE rb_cdfCanvasBox(VALUE self,VALUE v_xmin,VALUE v_xmax,VALUE v_ymin,VALUE v_ymax);
|
|
223
|
+
VALUE rb_cdfCanvasChord(VALUE self,VALUE v_xc,VALUE v_yc,VALUE v_w,VALUE v_h,VALUE v_angle1,VALUE v_angle2);
|
|
224
|
+
VALUE rb_cdfCanvasClipArea(VALUE self,VALUE v_xmin,VALUE v_xmax,VALUE v_ymin,VALUE v_ymax);
|
|
225
|
+
VALUE rb_cdfCanvasGetClipArea(VALUE self,VALUE v_xmin,VALUE v_xmax,VALUE v_ymin,VALUE v_ymax);
|
|
226
|
+
VALUE rb_cdfCanvasGetOrigin(VALUE self,VALUE v_x,VALUE v_y);
|
|
227
|
+
VALUE rb_cdfCanvasInvertYAxis(VALUE self,VALUE v_y);
|
|
228
|
+
VALUE rb_cdfCanvasLine(VALUE self,VALUE v_x1,VALUE v_y1,VALUE v_x2,VALUE v_y2);
|
|
229
|
+
VALUE rb_cdfCanvasMM2Pixel(VALUE self,VALUE v_mm_dx,VALUE v_mm_dy,VALUE v_dx,VALUE v_dy);
|
|
230
|
+
VALUE rb_cdfCanvasOrigin(VALUE self,VALUE v_x,VALUE v_y);
|
|
231
|
+
VALUE rb_cdfCanvasPixel2MM(VALUE self,VALUE v_dx,VALUE v_dy);
|
|
232
|
+
VALUE rb_cdfCanvasRect(VALUE self,VALUE v_xmin,VALUE v_xmax,VALUE v_ymin,VALUE v_ymax);
|
|
233
|
+
VALUE rb_cdfCanvasSector(VALUE self,VALUE v_xc,VALUE v_yc,VALUE v_w,VALUE v_h,VALUE v_angle1,VALUE v_angle2);
|
|
234
|
+
VALUE rb_cdfCanvasText(VALUE self,VALUE v_x,VALUE v_y,VALUE v_s);
|
|
235
|
+
VALUE rb_cdfCanvasTransformPoint(VALUE self,VALUE v_x,VALUE v_y);
|
|
236
|
+
VALUE rb_cdfCanvasUpdateYAxis(VALUE self,VALUE v_y);
|
|
237
|
+
VALUE rb_cdfCanvasVertex(VALUE self,VALUE v_x,VALUE v_y);
|
|
238
|
+
VALUE rb_cdGreen(VALUE self,VALUE v_color);
|
|
239
|
+
VALUE rb_cdInitBitmap(int argc,VALUE *argv,VALUE self);
|
|
240
|
+
VALUE rb_cdKillBitmap(VALUE self,VALUE v_bitmap);
|
|
241
|
+
VALUE rb_cdKillCanvas(VALUE self);
|
|
242
|
+
VALUE rb_cdKillImage(VALUE self,VALUE v_image);
|
|
243
|
+
VALUE rb_cdRed(VALUE self,VALUE v_color);
|
|
244
|
+
VALUE rb_cdReleaseState(VALUE self,VALUE v_state);
|
|
245
|
+
VALUE rb_cdReserved(VALUE self,VALUE v_color);
|
|
246
|
+
VALUE rb_cdRGB2Map(VALUE self,VALUE v_width,VALUE v_height,VALUE v_red,VALUE v_green,VALUE v_blue,VALUE v_index,VALUE v_pal_size,VALUE v_color);
|
|
247
|
+
VALUE rb_cdUseContextPlus(VALUE self,VALUE v_use);
|
|
248
|
+
VALUE rb_cdVersion(VALUE self);
|
|
249
|
+
VALUE rb_cdVersionDate(VALUE self);
|
|
250
|
+
|
|
251
|
+
VALUE rb_IupListDialog (VALUE self,VALUE v_type, VALUE v_title, VALUE v_size, VALUE v_lst,VALUE v_op, VALUE v_col, VALUE v_line, VALUE v_marks);
|
|
252
|
+
VALUE rb_isalt(VALUE self,VALUE s);
|
|
253
|
+
VALUE rb_isbutton1(VALUE self,VALUE s);
|
|
254
|
+
VALUE rb_isbutton2(VALUE self,VALUE s);
|
|
255
|
+
VALUE rb_isbutton3(VALUE self,VALUE s);
|
|
256
|
+
VALUE rb_isbutton4(VALUE self,VALUE s);
|
|
257
|
+
VALUE rb_isbutton5(VALUE self,VALUE s);
|
|
258
|
+
VALUE rb_iscontrol(VALUE self,VALUE s);
|
|
259
|
+
VALUE rb_isdouble(VALUE self,VALUE s);
|
|
260
|
+
VALUE rb_isshift(VALUE self,VALUE s);
|
|
261
|
+
VALUE rb_issys(VALUE self,VALUE s);
|
|
262
|
+
VALUE rb_isxkey(VALUE self,VALUE s);
|
|
263
|
+
VALUE rb_IupAlarm(VALUE self,VALUE v_title,VALUE v_msg,VALUE v_b1,VALUE v_b2,VALUE v_b3);
|
|
264
|
+
VALUE rb_IupAppend(VALUE self,VALUE node,VALUE vchild);
|
|
265
|
+
VALUE rb_IupButton(int argc,VALUE *argv,VALUE self);
|
|
266
|
+
VALUE rb_IupCanvas(int argc,VALUE *argv,VALUE self);
|
|
267
|
+
VALUE rb_IupCboxv(int argc,VALUE *argv,VALUE self);
|
|
268
|
+
VALUE rb_IupClose(VALUE self);
|
|
269
|
+
VALUE rb_IupCreate(VALUE self,VALUE v_name);
|
|
270
|
+
VALUE rb_IupCreatev(int argc,VALUE *argv,VALUE self);
|
|
271
|
+
VALUE rb_IupDestroy(VALUE node);
|
|
272
|
+
VALUE rb_IupDetach(VALUE self,VALUE vchild);
|
|
273
|
+
VALUE rb_IupDialog(int argc,VALUE *argv,VALUE self);
|
|
274
|
+
VALUE rb_IupExitLoop(VALUE self);
|
|
275
|
+
VALUE rb_IupFileDlg(int argc,VALUE *argv,VALUE self);
|
|
276
|
+
VALUE rb_IupFill(int argc,VALUE *argv,VALUE self);
|
|
277
|
+
VALUE rb_IupFlush(VALUE self);
|
|
278
|
+
VALUE rb_IupFrame(int argc,VALUE *argv,VALUE self);
|
|
279
|
+
VALUE rb_IupGetActionName(VALUE self);
|
|
280
|
+
VALUE rb_IupGetAllDialogs(VALUE self,VALUE v_n);
|
|
281
|
+
VALUE rb_IupGetAllNames(VALUE self,VALUE v_n);
|
|
282
|
+
VALUE rb_IupGetAttribute(VALUE node,VALUE v_name);
|
|
283
|
+
VALUE rb_IupGetAttributeHandle(VALUE node,VALUE v_name);
|
|
284
|
+
VALUE rb_IupGetAttributePtr(VALUE node,VALUE v_name);
|
|
285
|
+
VALUE rb_IupGetAttributes(VALUE node);
|
|
286
|
+
VALUE rb_IupGetBrother(VALUE self,VALUE node);
|
|
287
|
+
VALUE rb_IupGetCallback(VALUE node,VALUE v_name);
|
|
288
|
+
VALUE rb_IupGetClassName(VALUE node);
|
|
289
|
+
VALUE rb_IupGetDialog(VALUE self,VALUE node);
|
|
290
|
+
VALUE rb_IupGetFile(VALUE self,VALUE v_arq);
|
|
291
|
+
VALUE rb_IupGetFloat(VALUE node,VALUE v_name);
|
|
292
|
+
VALUE rb_IupGetFocus(VALUE self);
|
|
293
|
+
VALUE rb_IupGetFunction(VALUE self,VALUE v_name);
|
|
294
|
+
VALUE rb_IupGetGlobal(VALUE self,VALUE v_name);
|
|
295
|
+
VALUE rb_IupGetHandle(VALUE self,VALUE v_name);
|
|
296
|
+
VALUE rb_IupGetIdle(VALUE self);
|
|
297
|
+
VALUE rb_IupGetInt(VALUE node,VALUE v_name);
|
|
298
|
+
VALUE rb_IupGetLanguage(VALUE self);
|
|
299
|
+
VALUE rb_IupGetName(VALUE self,VALUE node);
|
|
300
|
+
VALUE rb_IupGetNextChild(VALUE self,VALUE node,VALUE vchild);
|
|
301
|
+
VALUE rb_IupGetParent(VALUE self,VALUE node);
|
|
302
|
+
VALUE rb_IupGetText(VALUE self,VALUE v_title,VALUE v_text);
|
|
303
|
+
VALUE rb_IupHboxv(int argc,VALUE *argv,VALUE self);
|
|
304
|
+
VALUE rb_IupHelp(VALUE self,VALUE v_url);
|
|
305
|
+
VALUE rb_IupHide(VALUE node);
|
|
306
|
+
VALUE rb_IupImage(int argc,VALUE *argv,VALUE self);
|
|
307
|
+
VALUE rb_IupItem(int argc,VALUE *argv,VALUE self);
|
|
308
|
+
VALUE rb_IupLabel(int argc,VALUE *argv,VALUE self);
|
|
309
|
+
VALUE rb_IupList(int argc,VALUE *argv,VALUE self);
|
|
310
|
+
VALUE rb_IupLoopStep(VALUE self);
|
|
311
|
+
VALUE rb_IupMainLoop(VALUE self);
|
|
312
|
+
VALUE rb_IupMap(VALUE node);
|
|
313
|
+
VALUE rb_IupMapFont(VALUE self,VALUE v_iupfont);
|
|
314
|
+
VALUE rb_IupMenuv(VALUE self,VALUE v_children);
|
|
315
|
+
VALUE rb_IupMessage(VALUE self,VALUE v_title,VALUE v_msg);
|
|
316
|
+
VALUE rb_IupMessagef(int argc,VALUE *argv,VALUE self);
|
|
317
|
+
VALUE rb_IupMultiLine(int argc,VALUE *argv,VALUE self);
|
|
318
|
+
VALUE rb_IupNextField(VALUE self,VALUE node);
|
|
319
|
+
VALUE rb_IupNode_initialize(int argc,VALUE *argv,VALUE self);
|
|
320
|
+
VALUE rb_IupOpen(VALUE self);
|
|
321
|
+
VALUE rb_IupPopup(VALUE node,VALUE v_x,VALUE v_y);
|
|
322
|
+
VALUE rb_IupPreviousField(VALUE self,VALUE node);
|
|
323
|
+
VALUE rb_IupProgressBar(VALUE self);
|
|
324
|
+
VALUE rb_IupRadio(int argc,VALUE *argv,VALUE self);
|
|
325
|
+
VALUE rb_IupRefresh(VALUE self,VALUE node);
|
|
326
|
+
VALUE rb_IupScanf(int argc,VALUE *argv,VALUE self);
|
|
327
|
+
VALUE rb_IupSeparator(VALUE self);
|
|
328
|
+
VALUE rb_IupSetAttribute(VALUE node,VALUE v_name,VALUE v_value);
|
|
329
|
+
VALUE rb_IupSetAttributeHandle(VALUE node,VALUE v_name,VALUE v_node_named);
|
|
330
|
+
VALUE rb_IupSetAttributePtr(VALUE node,VALUE v_name,VALUE v_value);
|
|
331
|
+
VALUE rb_IupSetAttributes(VALUE node,VALUE v_str);
|
|
332
|
+
VALUE rb_IupSetCallback(VALUE node,VALUE v_name,VALUE v_func);
|
|
333
|
+
VALUE rb_IupSetFocus(VALUE self,VALUE node);
|
|
334
|
+
VALUE rb_IupSetFunction(VALUE self,VALUE v_name,VALUE v_func);
|
|
335
|
+
VALUE rb_IupSetGlobal(VALUE self,VALUE v_name,VALUE v_value);
|
|
336
|
+
VALUE rb_IupSetHandle(VALUE self,VALUE v_name,VALUE node);
|
|
337
|
+
VALUE rb_IupSetIdle(VALUE self,VALUE v_func);
|
|
338
|
+
VALUE rb_IupSetLanguage(VALUE self,VALUE v_lng);
|
|
339
|
+
VALUE rb_IupShow(VALUE node);
|
|
340
|
+
VALUE rb_IupShowXY(VALUE node,VALUE v_x,VALUE v_y);
|
|
341
|
+
VALUE rb_IupStoreAttribute(VALUE node,VALUE v_name,VALUE v_value);
|
|
342
|
+
VALUE rb_IupStoreGlobal(VALUE self,VALUE v_name,VALUE v_value);
|
|
343
|
+
VALUE rb_IupSubmenu(int argc,VALUE *argv,VALUE self);
|
|
344
|
+
VALUE rb_IupText(int argc,VALUE *argv,VALUE self);
|
|
345
|
+
VALUE rb_IupTimer(VALUE self);
|
|
346
|
+
VALUE rb_IupToggle(int argc,VALUE *argv,VALUE self);
|
|
347
|
+
VALUE rb_IupUnMapFont(VALUE self,VALUE v_driverfont);
|
|
348
|
+
VALUE rb_IupUpdate(VALUE self,VALUE node);
|
|
349
|
+
VALUE rb_IupUser(VALUE self);
|
|
350
|
+
VALUE rb_IupVboxv(int argc,VALUE *argv,VALUE self);
|
|
351
|
+
VALUE rb_IupVersion(VALUE self);
|
|
352
|
+
VALUE rb_IupVersionDate(VALUE self);
|
|
353
|
+
VALUE rb_IupVersionNumber(VALUE self);
|
|
354
|
+
VALUE rb_IupZboxv(int argc,VALUE *argv,VALUE self);
|
|
355
|
+
VALUE rb_method_missing(int argc,VALUE *argv, VALUE self);
|
|
356
|
+
void exit_handler(void);
|
|
357
|
+
char* rb_str_upper(char* s);
|
|
358
|
+
void rb_set_attribute(Ihandle *v,VALUE arg);
|
|
359
|
+
|
|
360
|
+
extern VALUE rb_mIup;
|
|
361
|
+
extern VALUE rb_mCd;
|
|
6
362
|
extern VALUE rb_eIupError;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
VALUE
|
|
11
|
-
VALUE
|
|
12
|
-
VALUE
|
|
13
|
-
VALUE
|
|
14
|
-
VALUE
|
|
15
|
-
VALUE
|
|
16
|
-
VALUE
|
|
17
|
-
VALUE
|
|
18
|
-
VALUE
|
|
19
|
-
VALUE
|
|
20
|
-
VALUE
|
|
21
|
-
VALUE
|
|
22
|
-
VALUE
|
|
23
|
-
VALUE
|
|
24
|
-
VALUE
|
|
25
|
-
VALUE
|
|
26
|
-
VALUE
|
|
27
|
-
VALUE
|
|
28
|
-
VALUE
|
|
29
|
-
VALUE
|
|
30
|
-
VALUE
|
|
31
|
-
VALUE
|
|
32
|
-
VALUE
|
|
33
|
-
VALUE
|
|
34
|
-
VALUE
|
|
35
|
-
VALUE
|
|
36
|
-
VALUE
|
|
37
|
-
VALUE
|
|
38
|
-
VALUE
|
|
39
|
-
VALUE
|
|
40
|
-
VALUE
|
|
41
|
-
VALUE
|
|
42
|
-
VALUE
|
|
43
|
-
VALUE
|
|
44
|
-
VALUE
|
|
45
|
-
VALUE
|
|
46
|
-
VALUE
|
|
47
|
-
VALUE
|
|
48
|
-
VALUE
|
|
49
|
-
VALUE rb_cIupColorbar;
|
|
50
|
-
VALUE rb_cIupColorBrowser;
|
|
51
|
-
VALUE rb_cIupCells;
|
|
52
|
-
VALUE rb_cIupPPlot;
|
|
53
|
-
VALUE rb_cIupVal;
|
|
54
|
-
VALUE rb_cCdCanvas;
|
|
55
|
-
|
|
56
|
-
extern VALUE rb_IupSetCallback(VALUE node,VALUE v_name,VALUE v_func);
|
|
57
|
-
|
|
58
|
-
void exit_handler(void)
|
|
59
|
-
{
|
|
60
|
-
IupControlsClose();
|
|
61
|
-
IupClose();
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
char* rb_str_upper(char* s)
|
|
65
|
-
{
|
|
66
|
-
char* temp=s;
|
|
67
|
-
if(isupper(*temp)) return s;
|
|
68
|
-
for(;*temp;temp++)
|
|
69
|
-
*temp=toupper(*temp);
|
|
70
|
-
return s;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
VALUE rb_method_missing(int argc,VALUE *argv, VALUE self)
|
|
74
|
-
{
|
|
75
|
-
static char mname[100];
|
|
76
|
-
static char pname[100];
|
|
77
|
-
int n;
|
|
78
|
-
char *value = NULL;
|
|
79
|
-
ID id = rb_to_id(argv[0]);
|
|
80
|
-
VALUE v_ih = rb_iv_get(self,"@ihandle");
|
|
81
|
-
strcpy(mname,rb_id2name(id));
|
|
82
|
-
rb_str_upper(mname);
|
|
83
|
-
if(!*mname) {
|
|
84
|
-
rb_raise(rb_eRuntimeError, "fail: unknown method or property");
|
|
85
|
-
}
|
|
86
|
-
n = strlen(mname);
|
|
87
|
-
if(mname[n-1] == '=')
|
|
88
|
-
mname[n-1] = 0;
|
|
89
|
-
if(argc==2) {
|
|
90
|
-
if(TYPE(argv[1])==T_OBJECT) {
|
|
91
|
-
VALUE v_ih_named = rb_iv_get(argv[1],"@ihandle");
|
|
92
|
-
IupSetAttributeHandle((Ihandle*)NUM2UINT(v_ih),mname,(Ihandle*)NUM2UINT(v_ih_named));
|
|
93
|
-
}
|
|
94
|
-
else if(TYPE(argv[1])==T_DATA) {
|
|
95
|
-
rb_IupSetCallback(self,rb_str_new2(mname),rb_str_new2("Proc"));
|
|
96
|
-
sprintf(pname,"RB_PROC_%s",mname);
|
|
97
|
-
IupSetAttribute((Ihandle*)NUM2UINT(v_ih),pname,(char*)argv[1]);
|
|
98
|
-
} else {
|
|
99
|
-
if(strcmp(mname,"ATTR")==0) {
|
|
100
|
-
VALUE v_arr;
|
|
101
|
-
int j;
|
|
102
|
-
v_arr = rb_funcall(argv[1],rb_intern("split"),1,rb_reg_new("[,=]",4,0));
|
|
103
|
-
for(j=0;j<RARRAY(v_arr)->len;j+=2) {
|
|
104
|
-
rb_funcall(RARRAY(v_arr)->ptr[j],rb_intern("strip!"),0,0);
|
|
105
|
-
rb_funcall(RARRAY(v_arr)->ptr[j+1],rb_intern("strip!"),0,0);
|
|
106
|
-
strcpy(mname,RSTRING(RARRAY(v_arr)->ptr[j])->ptr);
|
|
107
|
-
rb_str_upper(mname);
|
|
108
|
-
value = RSTRING(RARRAY(v_arr)->ptr[j+1])->ptr;
|
|
109
|
-
if(value[0]=='"') {
|
|
110
|
-
value[strlen(value)-1]=0;
|
|
111
|
-
strcpy(pname,&value[1]);
|
|
112
|
-
value = pname;
|
|
113
|
-
}
|
|
114
|
-
IupStoreAttribute((Ihandle*)NUM2UINT(v_ih),mname,value);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
if(argv[1]!=Qnil && TYPE(argv[1])!=T_STRING) {
|
|
119
|
-
VALUE v_value = rb_funcall(argv[1],rb_intern("to_s"),0);
|
|
120
|
-
value = RSTRING(v_value)->ptr;
|
|
121
|
-
} else if(argv[1]!=Qnil)
|
|
122
|
-
value = RSTRING(argv[1])->ptr;
|
|
123
|
-
IupStoreAttribute((Ihandle*)NUM2UINT(v_ih),mname,value);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
return Qnil;
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
Ihandle *ih = IupGetAttributeHandle((Ihandle*)NUM2UINT(v_ih),mname);
|
|
130
|
-
if(ih) {
|
|
131
|
-
return (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
value = IupGetAttribute((Ihandle*)NUM2UINT(v_ih),mname);
|
|
135
|
-
if(value==NULL) return Qnil;
|
|
136
|
-
return rb_str_new2(value);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
void rb_set_attribute(Ihandle *v,VALUE arg)
|
|
142
|
-
{
|
|
143
|
-
static char key[100];
|
|
144
|
-
static char pkey[100];
|
|
145
|
-
char *value;
|
|
146
|
-
int i;
|
|
147
|
-
VALUE v_value;
|
|
148
|
-
VALUE klass;
|
|
149
|
-
VALUE v_keys = rb_funcall(arg,rb_intern("keys"),0);
|
|
150
|
-
for(i=0;i<RARRAY(v_keys)->len;i++) {
|
|
151
|
-
if(TYPE(RARRAY(v_keys)->ptr[i])==T_SYMBOL) {
|
|
152
|
-
strcpy(key,rb_id2name(SYM2ID(RARRAY(v_keys)->ptr[i])));
|
|
153
|
-
rb_str_upper(key);
|
|
154
|
-
} else if(TYPE(RARRAY(v_keys)->ptr[i])==T_STRING) {
|
|
155
|
-
strcpy(key,RSTRING(RARRAY(v_keys)->ptr[i])->ptr);
|
|
156
|
-
rb_str_upper(key);
|
|
157
|
-
}
|
|
158
|
-
v_value = rb_hash_aref(arg,RARRAY(v_keys)->ptr[i]);
|
|
159
|
-
if(TYPE(v_value)==T_OBJECT) {
|
|
160
|
-
VALUE v_ih_named = rb_iv_get(v_value,"@ihandle");
|
|
161
|
-
IupSetAttributeHandle(v,key,(Ihandle*)NUM2UINT(v_ih_named));
|
|
162
|
-
}
|
|
163
|
-
else if(TYPE(v_value)==T_DATA) {
|
|
164
|
-
klass = (VALUE)IupGetAttribute(v,"RB_CLASS");
|
|
165
|
-
if(klass) {
|
|
166
|
-
IupSetAttribute(v,key,(char*)v_value);
|
|
167
|
-
rb_IupSetCallback(klass,rb_str_new2(key),rb_str_new2("Proc"));
|
|
168
|
-
}
|
|
169
|
-
} else {
|
|
170
|
-
if(TYPE(v_value)!=T_STRING)
|
|
171
|
-
v_value = rb_funcall(v_value,rb_intern("to_s"),0);
|
|
172
|
-
value = RSTRING(v_value)->ptr;
|
|
173
|
-
if(strcmp(key,"ATTR")==0) {
|
|
174
|
-
VALUE v_arr;
|
|
175
|
-
int j;
|
|
176
|
-
v_arr = rb_funcall(v_value,rb_intern("split"),1,rb_reg_new("[,=\\s]+",7,0));
|
|
177
|
-
for(j=0;j<RARRAY(v_arr)->len;j+=2) {
|
|
178
|
-
rb_funcall(RARRAY(v_arr)->ptr[j],rb_intern("strip!"),0,0);
|
|
179
|
-
rb_funcall(RARRAY(v_arr)->ptr[j+1],rb_intern("strip!"),0,0);
|
|
180
|
-
strcpy(key,RSTRING(RARRAY(v_arr)->ptr[j])->ptr);
|
|
181
|
-
rb_str_upper(key);
|
|
182
|
-
value = RSTRING(RARRAY(v_arr)->ptr[j+1])->ptr;
|
|
183
|
-
if(value[0]=='"') {
|
|
184
|
-
value[strlen(value)-1]=0;
|
|
185
|
-
strcpy(pkey,&value[1]);
|
|
186
|
-
value = pkey;
|
|
187
|
-
}
|
|
188
|
-
IupStoreAttribute(v,key,value);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
else
|
|
192
|
-
IupStoreAttribute(v,key,value);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
VALUE rb_isxkey(VALUE self,VALUE s)
|
|
198
|
-
{
|
|
199
|
-
return isxkey(NUM2INT(s))?Qtrue:Qfalse;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
VALUE rb_isshift(VALUE self,VALUE s)
|
|
203
|
-
{
|
|
204
|
-
return isshift(RSTRING(s)->ptr)?Qtrue:Qfalse;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
VALUE rb_iscontrol(VALUE self,VALUE s)
|
|
208
|
-
{
|
|
209
|
-
return iscontrol(RSTRING(s)->ptr)?Qtrue:Qfalse;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
VALUE rb_isbutton1(VALUE self,VALUE s)
|
|
213
|
-
{
|
|
214
|
-
return isbutton1(RSTRING(s)->ptr)?Qtrue:Qfalse;
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
VALUE rb_isbutton2(VALUE self,VALUE s)
|
|
218
|
-
{
|
|
219
|
-
return isbutton2(RSTRING(s)->ptr)?Qtrue:Qfalse;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
VALUE rb_isbutton3(VALUE self,VALUE s)
|
|
223
|
-
{
|
|
224
|
-
return isbutton3(RSTRING(s)->ptr)?Qtrue:Qfalse;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
VALUE rb_isdouble(VALUE self,VALUE s)
|
|
228
|
-
{
|
|
229
|
-
return isdouble(RSTRING(s)->ptr)?Qtrue:Qfalse;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
VALUE rb_isalt(VALUE self,VALUE s)
|
|
233
|
-
{
|
|
234
|
-
return isalt(RSTRING(s)->ptr)?Qtrue:Qfalse;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
VALUE rb_issys(VALUE self,VALUE s)
|
|
238
|
-
{
|
|
239
|
-
return issys(RSTRING(s)->ptr)?Qtrue:Qfalse;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
VALUE rb_isbutton4(VALUE self,VALUE s)
|
|
243
|
-
{
|
|
244
|
-
return isbutton4(RSTRING(s)->ptr)?Qtrue:Qfalse;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
VALUE rb_isbutton5(VALUE self,VALUE s)
|
|
248
|
-
{
|
|
249
|
-
return isbutton5(RSTRING(s)->ptr)?Qtrue:Qfalse;
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
VALUE rb_IupFileDlg(int argc,VALUE *argv,VALUE self)
|
|
253
|
-
{
|
|
254
|
-
Ihandle* v;
|
|
255
|
-
v = IupFileDlg();
|
|
256
|
-
if(argc==1 && TYPE(argv[0])==T_HASH)
|
|
257
|
-
rb_set_attribute(v,argv[0]);
|
|
258
|
-
if(v)
|
|
259
|
-
return rb_funcall(rb_cIupFileDlg,rb_intern("new"),1,UINT2NUM((unsigned)v));
|
|
260
|
-
return Qnil;
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
VALUE rb_IupGetFile(VALUE self,VALUE v_arq)
|
|
264
|
-
{
|
|
265
|
-
char *arq = RSTRING(v_arq)->ptr;
|
|
266
|
-
char filename[256];
|
|
267
|
-
int v;
|
|
268
|
-
VALUE v_r;
|
|
269
|
-
strcpy(filename,arq);
|
|
270
|
-
v = IupGetFile(filename);
|
|
271
|
-
v_r = rb_ary_new3(2,rb_str_new2(filename),UINT2NUM((unsigned)v));
|
|
272
|
-
return v_r;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
VALUE rb_IupNode_initialize(int argc,VALUE *argv,VALUE self)
|
|
276
|
-
{
|
|
277
|
-
VALUE v_ih,v_action;
|
|
278
|
-
rb_scan_args(argc,argv,"11",&v_ih,&v_action);
|
|
279
|
-
IupSetAttribute((Ihandle*)NUM2UINT(v_ih),"RB_CLASS",(char*)self);
|
|
280
|
-
rb_iv_set(self,"@ihandle",v_ih);
|
|
281
|
-
if(TYPE(v_action)==T_DATA) {
|
|
282
|
-
IupSetAttribute((Ihandle*)NUM2UINT(v_ih),"RB_PROC_ACTION",(char*)v_action);
|
|
283
|
-
rb_IupSetCallback(self,rb_str_new2("ACTION"),rb_str_new2("Proc"));
|
|
284
|
-
}
|
|
285
|
-
return self;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
VALUE rb_IupMessage(VALUE self,VALUE v_title,VALUE v_msg)
|
|
289
|
-
{
|
|
290
|
-
const char *title = RSTRING(v_title)->ptr;
|
|
291
|
-
const char *msg = RSTRING(v_msg)->ptr;
|
|
292
|
-
IupMessage(title,msg);
|
|
293
|
-
return Qnil;
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
VALUE rb_IupMessagef(int argc,VALUE *argv,VALUE self)
|
|
297
|
-
{
|
|
298
|
-
VALUE v;
|
|
299
|
-
const char *title = RSTRING(argv[0])->ptr;
|
|
300
|
-
const char *msg = RSTRING(argv[1])->ptr;
|
|
301
|
-
if(argc==2) {
|
|
302
|
-
IupMessage(title,msg);
|
|
303
|
-
return Qnil;
|
|
304
|
-
}
|
|
305
|
-
v = rb_f_sprintf(argc-1,argv+1);
|
|
306
|
-
msg = RSTRING(v)->ptr;
|
|
307
|
-
IupMessage(title,msg);
|
|
308
|
-
return Qnil;
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
VALUE rb_IupAlarm(VALUE self,VALUE v_title,VALUE v_msg,VALUE v_b1,VALUE v_b2,VALUE v_b3)
|
|
312
|
-
{
|
|
313
|
-
const char *title = RSTRING(v_title)->ptr;
|
|
314
|
-
const char *msg = RSTRING(v_msg)->ptr;
|
|
315
|
-
const char *b1 = RSTRING(v_b1)->ptr;
|
|
316
|
-
const char *b2 = RSTRING(v_b2)->ptr;
|
|
317
|
-
const char *b3 = RSTRING(v_b3)->ptr;
|
|
318
|
-
int v;
|
|
319
|
-
v = IupAlarm(title,msg,b1,b2,b3);
|
|
320
|
-
return UINT2NUM((unsigned)v);
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
VALUE rb_IupScanf(int argc,VALUE *argv,VALUE self)
|
|
324
|
-
{
|
|
325
|
-
VALUE v_format = argv[0];
|
|
326
|
-
char args[5][256];
|
|
327
|
-
const char *format = RSTRING(v_format)->ptr;
|
|
328
|
-
int v;
|
|
329
|
-
int i;
|
|
330
|
-
int t_n;
|
|
331
|
-
float t_f;
|
|
332
|
-
char *t_s;
|
|
333
|
-
VALUE v_r = Qnil;
|
|
334
|
-
for(i=1;i<argc && i<=5;i++) {
|
|
335
|
-
switch(TYPE(argv[i])) {
|
|
336
|
-
case T_FIXNUM:
|
|
337
|
-
t_n = NUM2INT(argv[i]);
|
|
338
|
-
memcpy(args[i-1],&t_n,sizeof(t_n));
|
|
339
|
-
break;
|
|
340
|
-
case T_STRING:
|
|
341
|
-
t_s = RSTRING(argv[i])->ptr;
|
|
342
|
-
memcpy(args[i-1],t_s,RSTRING(argv[i])->len+1);
|
|
343
|
-
break;
|
|
344
|
-
case T_FLOAT:
|
|
345
|
-
t_f = RFLOAT(argv[i])->value;
|
|
346
|
-
memcpy(args[i-1],&t_f,sizeof(t_f));
|
|
347
|
-
break;
|
|
348
|
-
default:
|
|
349
|
-
rb_raise(rb_eIupError,"Invalid Type");
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
switch(argc) {
|
|
353
|
-
case 2:
|
|
354
|
-
v = IupScanf(format,args[0]);
|
|
355
|
-
break;
|
|
356
|
-
case 3:
|
|
357
|
-
v = IupScanf(format,args[0],args[1]);
|
|
358
|
-
break;
|
|
359
|
-
case 4:
|
|
360
|
-
v = IupScanf(format,args[0],args[1],args[2]);
|
|
361
|
-
break;
|
|
362
|
-
case 5:
|
|
363
|
-
v = IupScanf(format,args[0],args[1],args[2],args[3]);
|
|
364
|
-
break;
|
|
365
|
-
case 6:
|
|
366
|
-
v = IupScanf(format,args[0],args[1],args[2],args[3],args[4]);
|
|
367
|
-
break;
|
|
368
|
-
default:
|
|
369
|
-
rb_raise(rb_eIupError,"Too many arguments");
|
|
370
|
-
}
|
|
371
|
-
v_r = rb_ary_new();
|
|
372
|
-
for(i=1;i<argc && i<=v;i++) {
|
|
373
|
-
switch(TYPE(argv[i])) {
|
|
374
|
-
case T_FIXNUM:
|
|
375
|
-
case T_BIGNUM:
|
|
376
|
-
memcpy(&t_n,args[i-1],sizeof(t_n));
|
|
377
|
-
rb_ary_push(v_r,INT2NUM(t_n));
|
|
378
|
-
break;
|
|
379
|
-
case T_STRING:
|
|
380
|
-
rb_ary_push(v_r,rb_str_new2(args[i-1]));
|
|
381
|
-
break;
|
|
382
|
-
case T_FLOAT:
|
|
383
|
-
memcpy(&t_f,args[i-1],sizeof(t_f));
|
|
384
|
-
sprintf(args[i-1],"%g",t_f);
|
|
385
|
-
rb_ary_push(v_r,rb_float_new(atof(args[i-1])));
|
|
386
|
-
break;
|
|
387
|
-
default:
|
|
388
|
-
rb_raise(rb_eIupError,"Invalid Type");
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
return v_r;
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
VALUE rb_IupListDialog (VALUE self,VALUE v_type, VALUE v_title, VALUE v_size, VALUE v_lst,
|
|
395
|
-
VALUE v_op, VALUE v_col, VALUE v_line, VALUE v_marks)
|
|
396
|
-
{
|
|
397
|
-
int type = NUM2INT(v_type);
|
|
398
|
-
const char* title = RSTRING(v_title)->ptr;
|
|
399
|
-
int size = NUM2INT(v_size);
|
|
400
|
-
char *lst[256];
|
|
401
|
-
int op = NUM2INT(v_op);
|
|
402
|
-
int col = NUM2INT(v_col);
|
|
403
|
-
int line = NUM2INT(v_line);
|
|
404
|
-
int marks[256];
|
|
405
|
-
int v;
|
|
406
|
-
int i;
|
|
407
|
-
VALUE v_r;
|
|
408
|
-
for(i=0;i<size;i++) {
|
|
409
|
-
lst[i] = RSTRING(RARRAY(v_lst)->ptr[i])->ptr;
|
|
410
|
-
marks[i] = NUM2INT(RARRAY(v_marks)->ptr[i]);
|
|
411
|
-
}
|
|
412
|
-
v = IupListDialog(type,title,size,(const char**)lst,op,col,line,marks);
|
|
413
|
-
v_marks = rb_ary_new();
|
|
414
|
-
if(type==2) {
|
|
415
|
-
for(i=0;i<size;i++) {
|
|
416
|
-
rb_ary_push(v_marks,INT2FIX(marks[i]));
|
|
417
|
-
}
|
|
418
|
-
} else {
|
|
419
|
-
for(i=0;i<size;i++) {
|
|
420
|
-
if(v==i)
|
|
421
|
-
rb_ary_push(v_marks,INT2FIX(1));
|
|
422
|
-
else
|
|
423
|
-
rb_ary_push(v_marks,INT2FIX(0));
|
|
424
|
-
}
|
|
425
|
-
}
|
|
426
|
-
v_r = rb_ary_new3(2,v_marks,INT2FIX(v));
|
|
427
|
-
return v_r;
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
VALUE rb_IupGetText(VALUE self,VALUE v_title,VALUE v_text)
|
|
431
|
-
{
|
|
432
|
-
const char* title = RSTRING(v_title)->ptr;
|
|
433
|
-
char* text = RSTRING(v_text)->ptr;
|
|
434
|
-
int v;
|
|
435
|
-
v = IupGetText(title,text);
|
|
436
|
-
return UINT2NUM((unsigned)v);
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
VALUE rb_IupOpen(VALUE self)
|
|
440
|
-
{
|
|
441
|
-
int argc = 1;
|
|
442
|
-
char *name = "iupruby";
|
|
443
|
-
char **argv = &name;
|
|
444
|
-
int v;
|
|
445
|
-
v = IupOpen(&argc,&argv);
|
|
446
|
-
|
|
447
|
-
if(v==IUP_ERROR)
|
|
448
|
-
rb_raise(rb_eIupError, "Error Opening IUP.");
|
|
449
|
-
IupControlsOpen();
|
|
450
|
-
return UINT2NUM((unsigned)v);
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
VALUE rb_IupClose(VALUE self)
|
|
454
|
-
{
|
|
455
|
-
IupClose();
|
|
456
|
-
return Qnil;
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
VALUE rb_IupMainLoop(VALUE self)
|
|
460
|
-
{
|
|
461
|
-
int v;
|
|
462
|
-
v = IupMainLoop();
|
|
463
|
-
return UINT2NUM((unsigned)v);
|
|
464
|
-
}
|
|
465
|
-
|
|
466
|
-
VALUE rb_IupLoopStep(VALUE self)
|
|
467
|
-
{
|
|
468
|
-
int v;
|
|
469
|
-
v = IupLoopStep();
|
|
470
|
-
return UINT2NUM((unsigned)v);
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
VALUE rb_IupFlush(VALUE self)
|
|
474
|
-
{
|
|
475
|
-
IupFlush();
|
|
476
|
-
return Qnil;
|
|
477
|
-
}
|
|
478
|
-
|
|
479
|
-
VALUE rb_IupExitLoop(VALUE self)
|
|
480
|
-
{
|
|
481
|
-
IupExitLoop();
|
|
482
|
-
return Qnil;
|
|
483
|
-
}
|
|
484
|
-
|
|
485
|
-
VALUE rb_IupUpdate(VALUE self,VALUE node)
|
|
486
|
-
{
|
|
487
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
488
|
-
IupUpdate((Ihandle*)NUM2UINT(v_ih));
|
|
489
|
-
return Qnil;
|
|
490
|
-
}
|
|
491
|
-
|
|
492
|
-
VALUE rb_IupRefresh(VALUE self,VALUE node)
|
|
493
|
-
{
|
|
494
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
495
|
-
IupRefresh((Ihandle*)NUM2UINT(v_ih));
|
|
496
|
-
return Qnil;
|
|
497
|
-
}
|
|
498
|
-
|
|
499
|
-
VALUE rb_IupMapFont(VALUE self,VALUE v_iupfont)
|
|
500
|
-
{
|
|
501
|
-
const char *iupfont = RSTRING(v_iupfont)->ptr;
|
|
502
|
-
char* v;
|
|
503
|
-
v = IupMapFont(iupfont);
|
|
504
|
-
return rb_str_new2(v);
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
VALUE rb_IupUnMapFont(VALUE self,VALUE v_driverfont)
|
|
508
|
-
{
|
|
509
|
-
const char *driverfont = RSTRING(v_driverfont)->ptr;
|
|
510
|
-
char* v;
|
|
511
|
-
v = IupUnMapFont(driverfont);
|
|
512
|
-
return rb_str_new2(v);
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
VALUE rb_IupHelp(VALUE self,VALUE v_url)
|
|
516
|
-
{
|
|
517
|
-
const char* url = RSTRING(v_url)->ptr;
|
|
518
|
-
int v;
|
|
519
|
-
v = IupHelp(url);
|
|
520
|
-
return UINT2NUM((unsigned)v);
|
|
521
|
-
}
|
|
522
|
-
|
|
523
|
-
VALUE rb_IupVersion(VALUE self)
|
|
524
|
-
{
|
|
525
|
-
char* v;
|
|
526
|
-
v = IupVersion();
|
|
527
|
-
return rb_str_new2(v);
|
|
528
|
-
}
|
|
529
|
-
|
|
530
|
-
VALUE rb_IupVersionDate(VALUE self)
|
|
531
|
-
{
|
|
532
|
-
char* v;
|
|
533
|
-
v = IupVersionDate();
|
|
534
|
-
return rb_str_new2(v);
|
|
535
|
-
}
|
|
536
|
-
|
|
537
|
-
VALUE rb_IupVersionNumber(VALUE self)
|
|
538
|
-
{
|
|
539
|
-
int v;
|
|
540
|
-
v = IupVersionNumber();
|
|
541
|
-
return UINT2NUM((unsigned)v);
|
|
542
|
-
}
|
|
543
|
-
|
|
544
|
-
VALUE rb_IupSetLanguage(VALUE self,VALUE v_lng)
|
|
545
|
-
{
|
|
546
|
-
const char *lng = RSTRING(v_lng)->ptr;
|
|
547
|
-
IupSetLanguage(lng);
|
|
548
|
-
return Qnil;
|
|
549
|
-
}
|
|
550
|
-
|
|
551
|
-
VALUE rb_IupGetLanguage(VALUE self)
|
|
552
|
-
{
|
|
553
|
-
char* v;
|
|
554
|
-
v = IupGetLanguage();
|
|
555
|
-
return rb_str_new2(v);
|
|
556
|
-
}
|
|
557
|
-
|
|
558
|
-
VALUE rb_IupDestroy(VALUE node)
|
|
559
|
-
{
|
|
560
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
561
|
-
IupDestroy((Ihandle*)NUM2UINT(v_ih));
|
|
562
|
-
return Qnil;
|
|
563
|
-
}
|
|
564
|
-
|
|
565
|
-
VALUE rb_IupDetach(VALUE self,VALUE vchild)
|
|
566
|
-
{
|
|
567
|
-
VALUE v_child = rb_iv_get(vchild,"@ihandle");
|
|
568
|
-
IupDetach((Ihandle*)NUM2UINT(v_child));
|
|
569
|
-
return Qnil;
|
|
570
|
-
}
|
|
571
|
-
|
|
572
|
-
VALUE rb_IupAppend(VALUE self,VALUE node,VALUE vchild)
|
|
573
|
-
{
|
|
574
|
-
Ihandle* v;
|
|
575
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
576
|
-
VALUE v_child = rb_iv_get(vchild,"@ihandle");
|
|
577
|
-
v = IupAppend((Ihandle*)NUM2UINT(v_ih),(Ihandle*)NUM2UINT(v_child));
|
|
578
|
-
return (VALUE)IupGetAttribute(v,"RB_CLASS");
|
|
579
|
-
}
|
|
580
|
-
|
|
581
|
-
VALUE rb_IupGetNextChild(VALUE self,VALUE node,VALUE vchild)
|
|
582
|
-
{
|
|
583
|
-
Ihandle* child = NULL;
|
|
584
|
-
Ihandle* v;
|
|
585
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
586
|
-
VALUE v_child = rb_iv_get(vchild,"@ihandle");
|
|
587
|
-
if(v_child!=Qnil) child = (Ihandle*)NUM2UINT(v_child);
|
|
588
|
-
v = IupGetNextChild((Ihandle*)NUM2UINT(v_ih),child);
|
|
589
|
-
if(v==NULL) return Qnil;
|
|
590
|
-
return (VALUE)IupGetAttribute(v,"RB_CLASS");
|
|
591
|
-
}
|
|
592
|
-
|
|
593
|
-
VALUE rb_IupGetBrother(VALUE self,VALUE node)
|
|
594
|
-
{
|
|
595
|
-
Ihandle* v;
|
|
596
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
597
|
-
v = IupGetBrother((Ihandle*)NUM2UINT(v_ih));
|
|
598
|
-
if(v==NULL) return Qnil;
|
|
599
|
-
return (VALUE)IupGetAttribute(v,"RB_CLASS");
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
VALUE rb_IupGetParent(VALUE self,VALUE node)
|
|
603
|
-
{
|
|
604
|
-
Ihandle* v;
|
|
605
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
606
|
-
v = IupGetParent((Ihandle*)NUM2UINT(v_ih));
|
|
607
|
-
if(v==NULL) return Qnil;
|
|
608
|
-
return (VALUE)IupGetAttribute(v,"RB_CLASS");
|
|
609
|
-
}
|
|
610
|
-
|
|
611
|
-
VALUE rb_IupGetDialog(VALUE self,VALUE node)
|
|
612
|
-
{
|
|
613
|
-
Ihandle* v;
|
|
614
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
615
|
-
v = IupGetDialog((Ihandle*)NUM2UINT(v_ih));
|
|
616
|
-
if(v==NULL) return Qnil;
|
|
617
|
-
return (VALUE)IupGetAttribute(v,"RB_CLASS");
|
|
618
|
-
}
|
|
619
|
-
|
|
620
|
-
VALUE rb_IupPopup(VALUE node,VALUE v_x,VALUE v_y)
|
|
621
|
-
{
|
|
622
|
-
int x = NUM2INT(v_x);
|
|
623
|
-
int y = NUM2INT(v_y);
|
|
624
|
-
int v;
|
|
625
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
626
|
-
v = IupPopup((Ihandle*)NUM2UINT(v_ih),x,y);
|
|
627
|
-
return UINT2NUM((unsigned)v);
|
|
628
|
-
}
|
|
629
|
-
|
|
630
|
-
VALUE rb_IupShow(VALUE node)
|
|
631
|
-
{
|
|
632
|
-
int v;
|
|
633
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
634
|
-
v = IupShow((Ihandle*)NUM2UINT(v_ih));
|
|
635
|
-
return UINT2NUM((unsigned)v);
|
|
636
|
-
}
|
|
637
|
-
|
|
638
|
-
VALUE rb_IupShowXY(VALUE node,VALUE v_x,VALUE v_y)
|
|
639
|
-
{
|
|
640
|
-
int x = NUM2INT(v_x);
|
|
641
|
-
int y = NUM2INT(v_y);
|
|
642
|
-
int v;
|
|
643
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
644
|
-
v = IupShowXY((Ihandle*)NUM2UINT(v_ih),x,y);
|
|
645
|
-
return UINT2NUM((unsigned)v);
|
|
646
|
-
}
|
|
647
|
-
|
|
648
|
-
VALUE rb_IupHide(VALUE node)
|
|
649
|
-
{
|
|
650
|
-
int v;
|
|
651
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
652
|
-
v = IupHide((Ihandle*)NUM2UINT(v_ih));
|
|
653
|
-
return UINT2NUM((unsigned)v);
|
|
654
|
-
}
|
|
655
|
-
|
|
656
|
-
VALUE rb_IupMap(VALUE node)
|
|
657
|
-
{
|
|
658
|
-
int v;
|
|
659
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
660
|
-
v = IupMap((Ihandle*)NUM2UINT(v_ih));
|
|
661
|
-
return UINT2NUM((unsigned)v);
|
|
662
|
-
}
|
|
663
|
-
|
|
664
|
-
VALUE rb_IupSetAttribute(VALUE node,VALUE v_name,VALUE v_value)
|
|
665
|
-
{
|
|
666
|
-
static char name[100];
|
|
667
|
-
static char pname[100];
|
|
668
|
-
const char* value = NULL;
|
|
669
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
670
|
-
strcpy(name,RSTRING(v_name)->ptr);
|
|
671
|
-
rb_str_upper(name);
|
|
672
|
-
if(v_value!=Qnil) {
|
|
673
|
-
if(TYPE(v_value)==T_OBJECT) {
|
|
674
|
-
VALUE v_ih_named = rb_iv_get(v_value,"@ihandle");
|
|
675
|
-
IupSetAttributeHandle((Ihandle*)NUM2UINT(v_ih),name,(Ihandle*)NUM2UINT(v_ih_named));
|
|
676
|
-
}
|
|
677
|
-
else if(TYPE(v_value)==T_DATA) {
|
|
678
|
-
rb_IupSetCallback(node,rb_str_new2(name),rb_str_new2("Proc"));
|
|
679
|
-
sprintf(pname,"RB_PROC_%s",name);
|
|
680
|
-
IupSetAttribute((Ihandle*)NUM2UINT(v_ih),pname,(char*)v_value);
|
|
681
|
-
return Qnil;
|
|
682
|
-
} else {
|
|
683
|
-
if(TYPE(v_value)!=T_STRING)
|
|
684
|
-
v_value = rb_funcall(v_value,rb_intern("to_s"),0);
|
|
685
|
-
value = RSTRING(v_value)->ptr;
|
|
686
|
-
}
|
|
687
|
-
}
|
|
688
|
-
IupStoreAttribute((Ihandle*)NUM2UINT(v_ih),name,value);
|
|
689
|
-
return Qnil;
|
|
690
|
-
}
|
|
691
|
-
|
|
692
|
-
VALUE rb_IupSetAttributePtr(VALUE node,VALUE v_name,VALUE v_value)
|
|
693
|
-
{
|
|
694
|
-
extern VALUE rb_IupSetCallback(VALUE node,VALUE v_name,VALUE v_func);
|
|
695
|
-
char name[100];
|
|
696
|
-
const char* value = NULL;
|
|
697
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
698
|
-
strcpy(name,RSTRING(v_name)->ptr);
|
|
699
|
-
rb_str_upper(name);
|
|
700
|
-
if(v_value!=Qnil) {
|
|
701
|
-
if(TYPE(v_value)==T_DATA) {
|
|
702
|
-
IupSetAttribute((Ihandle*)NUM2UINT(v_ih),name,(char*)v_value);
|
|
703
|
-
rb_IupSetCallback(node,rb_str_new2(name),rb_str_new2("Proc"));
|
|
704
|
-
return Qnil;
|
|
705
|
-
} else {
|
|
706
|
-
if(TYPE(v_value)==T_FIXNUM)
|
|
707
|
-
value = (char*)NUM2INT(v_value);
|
|
708
|
-
}
|
|
709
|
-
}
|
|
710
|
-
IupSetAttribute((Ihandle*)NUM2UINT(v_ih),name,value);
|
|
711
|
-
return Qnil;
|
|
712
|
-
}
|
|
713
|
-
|
|
714
|
-
VALUE rb_IupStoreAttribute(VALUE node,VALUE v_name,VALUE v_value)
|
|
715
|
-
{
|
|
716
|
-
const char* name = RSTRING(v_name)->ptr;
|
|
717
|
-
const char* value = NULL;
|
|
718
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
719
|
-
if(v_value!=Qnil)
|
|
720
|
-
value = RSTRING(v_value)->ptr;
|
|
721
|
-
IupStoreAttribute((Ihandle*)NUM2UINT(v_ih),name,value);
|
|
722
|
-
return Qnil;
|
|
723
|
-
}
|
|
724
|
-
|
|
725
|
-
VALUE rb_IupSetAttributes(VALUE node,VALUE v_str)
|
|
726
|
-
{
|
|
727
|
-
const char *str = RSTRING(v_str)->ptr;
|
|
728
|
-
Ihandle* v;
|
|
729
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
730
|
-
v = IupSetAttributes((Ihandle*)NUM2UINT(v_ih),str);
|
|
731
|
-
if(v==NULL) return Qnil;
|
|
732
|
-
return (VALUE)IupGetAttribute(v,"RB_CLASS");
|
|
733
|
-
}
|
|
734
|
-
|
|
735
|
-
VALUE rb_IupGetAttribute(VALUE node,VALUE v_name)
|
|
736
|
-
{
|
|
737
|
-
char name[100];
|
|
738
|
-
char* v;
|
|
739
|
-
Ihandle *ih;
|
|
740
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
741
|
-
strcpy(name,RSTRING(v_name)->ptr);
|
|
742
|
-
rb_str_upper(name);
|
|
743
|
-
ih = IupGetAttributeHandle((Ihandle*)NUM2UINT(v_ih),name);
|
|
744
|
-
if(ih) {
|
|
745
|
-
return (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
746
|
-
}
|
|
747
|
-
v = IupGetAttribute((Ihandle*)NUM2UINT(v_ih),name);
|
|
748
|
-
if(v==NULL)
|
|
749
|
-
return Qnil;
|
|
750
|
-
else
|
|
751
|
-
return rb_str_new2(v);
|
|
752
|
-
}
|
|
753
|
-
|
|
754
|
-
VALUE rb_IupGetAttributePtr(VALUE node,VALUE v_name)
|
|
755
|
-
{
|
|
756
|
-
char name[100];
|
|
757
|
-
char* v;
|
|
758
|
-
VALUE klass;
|
|
759
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
760
|
-
strcpy(name,RSTRING(v_name)->ptr);
|
|
761
|
-
rb_str_upper(name);
|
|
762
|
-
v = IupGetAttribute((Ihandle*)NUM2UINT(v_ih),name);
|
|
763
|
-
klass = rb_funcall(rb_cIupNode,rb_intern("new"),1,UINT2NUM((unsigned)v));
|
|
764
|
-
if(v==NULL)
|
|
765
|
-
return Qnil;
|
|
766
|
-
else
|
|
767
|
-
return klass;
|
|
768
|
-
}
|
|
769
|
-
|
|
770
|
-
VALUE rb_IupGetAttributes(VALUE node)
|
|
771
|
-
{
|
|
772
|
-
char* v;
|
|
773
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
774
|
-
v = IupGetAttributes((Ihandle*)NUM2UINT(v_ih));
|
|
775
|
-
return rb_str_new2(v);
|
|
776
|
-
}
|
|
777
|
-
|
|
778
|
-
VALUE rb_IupGetInt(VALUE node,VALUE v_name)
|
|
779
|
-
{
|
|
780
|
-
const char* name = RSTRING(v_name)->ptr;
|
|
781
|
-
int v;
|
|
782
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
783
|
-
v = IupGetInt((Ihandle*)NUM2UINT(v_ih),name);
|
|
784
|
-
return UINT2NUM((unsigned)v);
|
|
785
|
-
}
|
|
786
|
-
|
|
787
|
-
VALUE rb_IupGetFloat(VALUE node,VALUE v_name)
|
|
788
|
-
{
|
|
789
|
-
const char* name = RSTRING(v_name)->ptr;
|
|
790
|
-
float v;
|
|
791
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
792
|
-
v = IupGetFloat((Ihandle*)NUM2UINT(v_ih),name);
|
|
793
|
-
return rb_float_new(v);
|
|
794
|
-
}
|
|
795
|
-
|
|
796
|
-
VALUE rb_IupSetGlobal(VALUE self,VALUE v_name,VALUE v_value)
|
|
797
|
-
{
|
|
798
|
-
const char* name = RSTRING(v_name)->ptr;
|
|
799
|
-
const char* value = RSTRING(v_value)->ptr;
|
|
800
|
-
IupSetGlobal(name,value);
|
|
801
|
-
return Qnil;
|
|
802
|
-
}
|
|
803
|
-
|
|
804
|
-
VALUE rb_IupStoreGlobal(VALUE self,VALUE v_name,VALUE v_value)
|
|
805
|
-
{
|
|
806
|
-
const char* name = RSTRING(v_name)->ptr;
|
|
807
|
-
const char* value = RSTRING(v_value)->ptr;
|
|
808
|
-
IupStoreGlobal(name,value);
|
|
809
|
-
return Qnil;
|
|
810
|
-
}
|
|
811
|
-
|
|
812
|
-
VALUE rb_IupGetGlobal(VALUE self,VALUE v_name)
|
|
813
|
-
{
|
|
814
|
-
const char* name = RSTRING(v_name)->ptr;
|
|
815
|
-
char* v;
|
|
816
|
-
v = IupGetGlobal(name);
|
|
817
|
-
return rb_str_new2(v);
|
|
818
|
-
}
|
|
819
|
-
|
|
820
|
-
VALUE rb_IupSetFocus(VALUE self,VALUE node)
|
|
821
|
-
{
|
|
822
|
-
Ihandle* v;
|
|
823
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
824
|
-
v = IupSetFocus((Ihandle*)NUM2UINT(v_ih));
|
|
825
|
-
return UINT2NUM((unsigned)v);
|
|
826
|
-
}
|
|
827
|
-
|
|
828
|
-
VALUE rb_IupGetFocus(VALUE self)
|
|
829
|
-
{
|
|
830
|
-
Ihandle* v;
|
|
831
|
-
v = IupGetFocus();
|
|
832
|
-
if(v==NULL) return Qnil;
|
|
833
|
-
return (VALUE)IupGetAttribute(v,"RB_CLASS");
|
|
834
|
-
}
|
|
835
|
-
|
|
836
|
-
VALUE rb_IupPreviousField(VALUE self,VALUE node)
|
|
837
|
-
{
|
|
838
|
-
Ihandle* v;
|
|
839
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
840
|
-
v = IupPreviousField((Ihandle*)NUM2UINT(v_ih));
|
|
841
|
-
if(v==NULL) return Qnil;
|
|
842
|
-
return (VALUE)IupGetAttribute(v,"RB_CLASS");
|
|
843
|
-
}
|
|
844
|
-
|
|
845
|
-
VALUE rb_IupNextField(VALUE self,VALUE node)
|
|
846
|
-
{
|
|
847
|
-
Ihandle* v;
|
|
848
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
849
|
-
v = IupNextField((Ihandle*)NUM2UINT(v_ih));
|
|
850
|
-
if(v==NULL) return Qnil;
|
|
851
|
-
return (VALUE)IupGetAttribute(v,"RB_CLASS");
|
|
852
|
-
}
|
|
853
|
-
|
|
854
|
-
static int _canvas_action(Ihandle* ih, float posx, float posy)
|
|
855
|
-
{
|
|
856
|
-
char* func = (char*)IupGetAttribute(ih,"RB_ACTION");
|
|
857
|
-
VALUE v;
|
|
858
|
-
if(func) {
|
|
859
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
860
|
-
if(strcmp(func,"Proc")==0) {
|
|
861
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_ACTION");
|
|
862
|
-
v = rb_funcall(proc,rb_intern("call"),3,node,rb_float_new(posx),rb_float_new(posy));
|
|
863
|
-
} else {
|
|
864
|
-
v = rb_funcall(Qnil,rb_intern(func),3,node,rb_float_new(posx),rb_float_new(posy));
|
|
865
|
-
}
|
|
866
|
-
return NUM2INT(v);
|
|
867
|
-
}
|
|
868
|
-
return IUP_DEFAULT;
|
|
869
|
-
}
|
|
870
|
-
|
|
871
|
-
static int _toggle_action(Ihandle* ih, int state)
|
|
872
|
-
{
|
|
873
|
-
char* func = (char*)IupGetAttribute(ih,"RB_ACTION");
|
|
874
|
-
VALUE v;
|
|
875
|
-
if(func) {
|
|
876
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
877
|
-
if(strcmp(func,"Proc")==0) {
|
|
878
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_ACTION");
|
|
879
|
-
v = rb_funcall(proc,rb_intern("call"),2,node,INT2FIX(state));
|
|
880
|
-
} else {
|
|
881
|
-
v = rb_funcall(rb_cObject,rb_intern(func),2,node,INT2FIX(state));
|
|
882
|
-
}
|
|
883
|
-
return NUM2INT(v);
|
|
884
|
-
}
|
|
885
|
-
return IUP_DEFAULT;
|
|
886
|
-
}
|
|
887
|
-
|
|
888
|
-
static int _button_action(Ihandle* ih)
|
|
889
|
-
{
|
|
890
|
-
char* func = (char*)IupGetAttribute(ih,"RB_ACTION");
|
|
891
|
-
VALUE v;
|
|
892
|
-
if(func) {
|
|
893
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
894
|
-
if(strcmp(func,"Proc")==0) {
|
|
895
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_ACTION");
|
|
896
|
-
v = rb_funcall(proc,rb_intern("call"),1,node);
|
|
897
|
-
} else {
|
|
898
|
-
v = rb_funcall(rb_cObject,rb_intern(func),1,node);
|
|
899
|
-
}
|
|
900
|
-
return NUM2INT(v);
|
|
901
|
-
}
|
|
902
|
-
return IUP_DEFAULT;
|
|
903
|
-
}
|
|
904
|
-
|
|
905
|
-
static int _list_action(Ihandle* ih, char *text, int pos, int state)
|
|
906
|
-
{
|
|
907
|
-
char* func = (char*)IupGetAttribute(ih,"RB_ACTION");
|
|
908
|
-
VALUE v;
|
|
909
|
-
if(func) {
|
|
910
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
911
|
-
if(strcmp(func,"Proc")==0) {
|
|
912
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_ACTION");
|
|
913
|
-
v = rb_funcall(proc,rb_intern("call"),4,node,rb_str_new2(text),INT2FIX(pos),INT2FIX(state));
|
|
914
|
-
} else {
|
|
915
|
-
v = rb_funcall(rb_cObject,rb_intern(func),4,node,rb_str_new2(text),INT2FIX(pos),INT2FIX(state));
|
|
916
|
-
}
|
|
917
|
-
return NUM2INT(v);
|
|
918
|
-
}
|
|
919
|
-
return IUP_DEFAULT;
|
|
920
|
-
}
|
|
921
|
-
|
|
922
|
-
static int _idle_cb()
|
|
923
|
-
{
|
|
924
|
-
VALUE v;
|
|
925
|
-
if(IdleProc!=Qnil) {
|
|
926
|
-
v = rb_funcall(IdleProc,rb_intern("call"),0);
|
|
927
|
-
return NUM2INT(v);
|
|
928
|
-
}
|
|
929
|
-
else if(*IdleAction) {
|
|
930
|
-
v = rb_funcall(rb_cObject,rb_intern(IdleAction),0);
|
|
931
|
-
return NUM2INT(v);
|
|
932
|
-
}
|
|
933
|
-
return IUP_DEFAULT;
|
|
934
|
-
}
|
|
935
|
-
|
|
936
|
-
static int _postdraw_cb(Ihandle* ih,void *cnv)
|
|
937
|
-
{
|
|
938
|
-
char* func = (char*)IupGetAttribute(ih,"RB_POSTDRAW_CB");
|
|
939
|
-
VALUE v;
|
|
940
|
-
if(func) {
|
|
941
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
942
|
-
if(strcmp(func,"Proc")==0) {
|
|
943
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_POSTDRAW_CB");
|
|
944
|
-
v = rb_funcall(proc,rb_intern("call"),2,node,rb_funcall(rb_cCdCanvas,rb_intern("new"),1,UINT2NUM((unsigned)cnv)));
|
|
945
|
-
} else {
|
|
946
|
-
v = rb_funcall(rb_cObject,rb_intern(func),2,node,rb_funcall(rb_cCdCanvas,rb_intern("new"),1,UINT2NUM((unsigned)cnv)));
|
|
947
|
-
}
|
|
948
|
-
return NUM2INT(v);
|
|
949
|
-
}
|
|
950
|
-
return IUP_DEFAULT;
|
|
951
|
-
}
|
|
952
|
-
|
|
953
|
-
static int _predraw_cb(Ihandle* ih,void *cnv)
|
|
954
|
-
{
|
|
955
|
-
char* func = (char*)IupGetAttribute(ih,"RB_PREDRAW_CB");
|
|
956
|
-
VALUE v;
|
|
957
|
-
if(func) {
|
|
958
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
959
|
-
if(strcmp(func,"Proc")==0) {
|
|
960
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_PREDRAW_CB");
|
|
961
|
-
v = rb_funcall(proc,rb_intern("call"),2,node,rb_funcall(rb_cCdCanvas,rb_intern("new"),1,UINT2NUM((unsigned)cnv)));
|
|
962
|
-
} else {
|
|
963
|
-
v = rb_funcall(rb_cObject,rb_intern(func),2,node,rb_funcall(rb_cCdCanvas,rb_intern("new"),1,UINT2NUM((unsigned)cnv)));
|
|
964
|
-
}
|
|
965
|
-
return NUM2INT(v);
|
|
966
|
-
}
|
|
967
|
-
return IUP_DEFAULT;
|
|
968
|
-
}
|
|
969
|
-
|
|
970
|
-
static int _change_cb(Ihandle* ih, unsigned char r, unsigned char g, unsigned char b)
|
|
971
|
-
{
|
|
972
|
-
char* func = (char*)IupGetAttribute(ih,"RB_CHANGE_CB");
|
|
973
|
-
VALUE v;
|
|
974
|
-
if(func) {
|
|
975
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
976
|
-
if(strcmp(func,"Proc")==0) {
|
|
977
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_CHANGE_CB");
|
|
978
|
-
v = rb_funcall(proc,rb_intern("call"),4,node,INT2FIX(r),INT2FIX(g),INT2FIX(b));
|
|
979
|
-
} else {
|
|
980
|
-
v = rb_funcall(rb_cObject,rb_intern(func),4,node,INT2FIX(r),INT2FIX(g),INT2FIX(b));
|
|
981
|
-
}
|
|
982
|
-
return NUM2INT(v);
|
|
983
|
-
}
|
|
984
|
-
return IUP_DEFAULT;
|
|
985
|
-
}
|
|
986
|
-
|
|
987
|
-
static int _drag_cb(Ihandle* ih, unsigned char r, unsigned char g, unsigned char b)
|
|
988
|
-
{
|
|
989
|
-
char* func = (char*)IupGetAttribute(ih,"RB_DRAG_CB");
|
|
990
|
-
VALUE v;
|
|
991
|
-
if(func) {
|
|
992
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
993
|
-
if(strcmp(func,"Proc")==0) {
|
|
994
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_DRAG_CB");
|
|
995
|
-
v = rb_funcall(proc,rb_intern("call"),4,node,INT2FIX(r),INT2FIX(g),INT2FIX(b));
|
|
996
|
-
} else {
|
|
997
|
-
v = rb_funcall(rb_cObject,rb_intern(func),4,node,INT2FIX(r),INT2FIX(g),INT2FIX(b));
|
|
998
|
-
}
|
|
999
|
-
return NUM2INT(v);
|
|
1000
|
-
}
|
|
1001
|
-
return IUP_DEFAULT;
|
|
1002
|
-
}
|
|
1003
|
-
|
|
1004
|
-
static int _tabchange_cb(Ihandle* ih, Ihandle* newtab, Ihandle* oldtab)
|
|
1005
|
-
{
|
|
1006
|
-
char* func = (char*)IupGetAttribute(ih,"RB_TABCHANGE_CB");
|
|
1007
|
-
VALUE v;
|
|
1008
|
-
if(func) {
|
|
1009
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1010
|
-
VALUE node_old = (VALUE)IupGetAttribute(oldtab,"RB_CLASS");
|
|
1011
|
-
VALUE node_new = (VALUE)IupGetAttribute(newtab,"RB_CLASS");
|
|
1012
|
-
if(strcmp(func,"Proc")==0) {
|
|
1013
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_TABCHANGE_CB");
|
|
1014
|
-
v = rb_funcall(proc,rb_intern("call"),3,node,node_new,node_old);
|
|
1015
|
-
} else {
|
|
1016
|
-
v = rb_funcall(rb_cObject,rb_intern(func),3,node,node_new,node_old);
|
|
1017
|
-
}
|
|
1018
|
-
return NUM2INT(v);
|
|
1019
|
-
}
|
|
1020
|
-
return IUP_DEFAULT;
|
|
1021
|
-
}
|
|
1022
|
-
|
|
1023
|
-
static int _button_press_cb(Ihandle* ih, double angle)
|
|
1024
|
-
{
|
|
1025
|
-
char* func = (char*)IupGetAttribute(ih,"RB_BUTTON_PRESS_CB");
|
|
1026
|
-
VALUE v;
|
|
1027
|
-
if(func) {
|
|
1028
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1029
|
-
if(strcmp(func,"Proc")==0) {
|
|
1030
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_BUTTON_PRESS_CB");
|
|
1031
|
-
v = rb_funcall(proc,rb_intern("call"),2,node,rb_float_new(angle));
|
|
1032
|
-
} else {
|
|
1033
|
-
v = rb_funcall(rb_cObject,rb_intern(func),2,node,rb_float_new(angle));
|
|
1034
|
-
}
|
|
1035
|
-
return NUM2INT(v);
|
|
1036
|
-
}
|
|
1037
|
-
return IUP_DEFAULT;
|
|
1038
|
-
}
|
|
1039
|
-
|
|
1040
|
-
static int _button_release_cb(Ihandle* ih, double angle)
|
|
1041
|
-
{
|
|
1042
|
-
char* func = (char*)IupGetAttribute(ih,"RB_BUTTON_RELEASE_CB");
|
|
1043
|
-
VALUE v;
|
|
1044
|
-
if(func) {
|
|
1045
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1046
|
-
if(strcmp(func,"Proc")==0) {
|
|
1047
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_BUTTON_RELEASE_CB");
|
|
1048
|
-
v = rb_funcall(proc,rb_intern("call"),2,node,rb_float_new(angle));
|
|
1049
|
-
} else {
|
|
1050
|
-
v = rb_funcall(rb_cObject,rb_intern(func),2,node,rb_float_new(angle));
|
|
1051
|
-
}
|
|
1052
|
-
return NUM2INT(v);
|
|
1053
|
-
}
|
|
1054
|
-
return IUP_DEFAULT;
|
|
1055
|
-
}
|
|
1056
|
-
|
|
1057
|
-
static int _mousemove_cb(Ihandle* ih, double angle)
|
|
1058
|
-
{
|
|
1059
|
-
char* func = (char*)IupGetAttribute(ih,"RB_MOUSEMOVE_CB");
|
|
1060
|
-
VALUE v;
|
|
1061
|
-
if(func) {
|
|
1062
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1063
|
-
if(strcmp(func,"Proc")==0) {
|
|
1064
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_MOUSEMOVE_CB");
|
|
1065
|
-
v = rb_funcall(proc,rb_intern("call"),2,node,rb_float_new(angle));
|
|
1066
|
-
} else {
|
|
1067
|
-
v = rb_funcall(rb_cObject,rb_intern(func),2,node,rb_float_new(angle));
|
|
1068
|
-
}
|
|
1069
|
-
return NUM2INT(v);
|
|
1070
|
-
}
|
|
1071
|
-
return IUP_DEFAULT;
|
|
1072
|
-
}
|
|
1073
|
-
|
|
1074
|
-
static int _draw_cb(Ihandle* ih, void* cnv)
|
|
1075
|
-
{
|
|
1076
|
-
char* func = (char*)IupGetAttribute(ih,"RB_DRAW_CB");
|
|
1077
|
-
VALUE v;
|
|
1078
|
-
if(func) {
|
|
1079
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1080
|
-
if(strcmp(func,"Proc")==0) {
|
|
1081
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_DRAW_CB");
|
|
1082
|
-
v = rb_funcall(proc,rb_intern("call"),2,node,
|
|
1083
|
-
rb_funcall(rb_cCdCanvas,rb_intern("new"),1,UINT2NUM((unsigned)cnv)));
|
|
1084
|
-
} else {
|
|
1085
|
-
v = rb_funcall(rb_cObject,rb_intern(func),2,node,
|
|
1086
|
-
rb_funcall(rb_cCdCanvas,rb_intern("new"),1,UINT2NUM((unsigned)cnv)));
|
|
1087
|
-
}
|
|
1088
|
-
return NUM2INT(v);
|
|
1089
|
-
}
|
|
1090
|
-
return IUP_DEFAULT;
|
|
1091
|
-
}
|
|
1092
|
-
|
|
1093
|
-
static char* _cell_cb(Ihandle* ih, int cell)
|
|
1094
|
-
{
|
|
1095
|
-
char* func = (char*)IupGetAttribute(ih,"RB_CELL_CB");
|
|
1096
|
-
VALUE v;
|
|
1097
|
-
if(func) {
|
|
1098
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1099
|
-
if(strcmp(func,"Proc")==0) {
|
|
1100
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_CELL_CB");
|
|
1101
|
-
v = rb_funcall(proc,rb_intern("call"),2,node,INT2FIX(cell));
|
|
1102
|
-
} else {
|
|
1103
|
-
v = rb_funcall(rb_cObject,rb_intern(func),2,node,INT2FIX(cell));
|
|
1104
|
-
}
|
|
1105
|
-
if(v==Qnil)
|
|
1106
|
-
return NULL;
|
|
1107
|
-
else
|
|
1108
|
-
return RSTRING(v)->ptr;
|
|
1109
|
-
}
|
|
1110
|
-
return NULL;
|
|
1111
|
-
}
|
|
1112
|
-
|
|
1113
|
-
static int _extended_cb(Ihandle* ih, int cell)
|
|
1114
|
-
{
|
|
1115
|
-
char* func = (char*)IupGetAttribute(ih,"RB_EXTENDED_CB");
|
|
1116
|
-
VALUE v;
|
|
1117
|
-
if(func) {
|
|
1118
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1119
|
-
if(strcmp(func,"Proc")==0) {
|
|
1120
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_EXTENDED_CB");
|
|
1121
|
-
v = rb_funcall(proc,rb_intern("call"),2,node,INT2FIX(cell));
|
|
1122
|
-
} else {
|
|
1123
|
-
v = rb_funcall(rb_cObject,rb_intern(func),2,node,INT2FIX(cell));
|
|
1124
|
-
}
|
|
1125
|
-
return NUM2INT(v);
|
|
1126
|
-
}
|
|
1127
|
-
return IUP_DEFAULT;
|
|
1128
|
-
}
|
|
1129
|
-
|
|
1130
|
-
static int _colorbar_select_cb(Ihandle* ih, int cell,int type)
|
|
1131
|
-
{
|
|
1132
|
-
char* func = (char*)IupGetAttribute(ih,"RB_SELECT_CB");
|
|
1133
|
-
VALUE v;
|
|
1134
|
-
if(func) {
|
|
1135
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1136
|
-
if(strcmp(func,"Proc")==0) {
|
|
1137
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_SELECT_CB");
|
|
1138
|
-
v = rb_funcall(proc,rb_intern("call"),3,node,INT2FIX(cell),INT2FIX(type));
|
|
1139
|
-
} else {
|
|
1140
|
-
v = rb_funcall(rb_cObject,rb_intern(func),3,node,INT2FIX(cell),INT2FIX(type));
|
|
1141
|
-
}
|
|
1142
|
-
return NUM2INT(v);
|
|
1143
|
-
}
|
|
1144
|
-
return IUP_DEFAULT;
|
|
1145
|
-
}
|
|
1146
|
-
|
|
1147
|
-
static int _switch_cb(Ihandle* ih, int prim_cell,int sec_cell)
|
|
1148
|
-
{
|
|
1149
|
-
char* func = (char*)IupGetAttribute(ih,"RB_SWITCH_CB");
|
|
1150
|
-
VALUE v;
|
|
1151
|
-
if(func) {
|
|
1152
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1153
|
-
if(strcmp(func,"Proc")==0) {
|
|
1154
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_SWITCH_CB");
|
|
1155
|
-
v = rb_funcall(proc,rb_intern("call"),3,node,INT2FIX(prim_cell),INT2FIX(sec_cell));
|
|
1156
|
-
} else {
|
|
1157
|
-
v = rb_funcall(rb_cObject,rb_intern(func),3,node,INT2FIX(prim_cell),INT2FIX(sec_cell));
|
|
1158
|
-
}
|
|
1159
|
-
return NUM2INT(v);
|
|
1160
|
-
}
|
|
1161
|
-
return IUP_DEFAULT;
|
|
1162
|
-
}
|
|
1163
|
-
|
|
1164
|
-
static int _height_cb(Ihandle* ih, int line)
|
|
1165
|
-
{
|
|
1166
|
-
char* func = (char*)IupGetAttribute(ih,"RB_HEIGHT_CB");
|
|
1167
|
-
VALUE v;
|
|
1168
|
-
if(func) {
|
|
1169
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1170
|
-
if(strcmp(func,"Proc")==0) {
|
|
1171
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_HEIGHT_CB");
|
|
1172
|
-
v = rb_funcall(proc,rb_intern("call"),2,node,INT2FIX(line));
|
|
1173
|
-
} else {
|
|
1174
|
-
v = rb_funcall(rb_cObject,rb_intern(func),2,node,INT2FIX(line));
|
|
1175
|
-
}
|
|
1176
|
-
return NUM2INT(v);
|
|
1177
|
-
}
|
|
1178
|
-
return IUP_DEFAULT;
|
|
1179
|
-
}
|
|
1180
|
-
|
|
1181
|
-
static int _width_cb(Ihandle* ih, int column)
|
|
1182
|
-
{
|
|
1183
|
-
char* func = (char*)IupGetAttribute(ih,"RB_WIDTH_CB");
|
|
1184
|
-
VALUE v;
|
|
1185
|
-
if(func) {
|
|
1186
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1187
|
-
if(strcmp(func,"Proc")==0) {
|
|
1188
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_WIDTH_CB");
|
|
1189
|
-
v = rb_funcall(proc,rb_intern("call"),2,node,INT2FIX(column));
|
|
1190
|
-
} else {
|
|
1191
|
-
v = rb_funcall(rb_cObject,rb_intern(func),2,node,INT2FIX(column));
|
|
1192
|
-
}
|
|
1193
|
-
return NUM2INT(v);
|
|
1194
|
-
}
|
|
1195
|
-
return IUP_DEFAULT;
|
|
1196
|
-
}
|
|
1197
|
-
|
|
1198
|
-
static int _hspan_cb(Ihandle* ih, int line, int column)
|
|
1199
|
-
{
|
|
1200
|
-
char* func = (char*)IupGetAttribute(ih,"RB_HSPAN_CB");
|
|
1201
|
-
VALUE v;
|
|
1202
|
-
if(func) {
|
|
1203
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1204
|
-
if(strcmp(func,"Proc")==0) {
|
|
1205
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_HSPAN_CB");
|
|
1206
|
-
v = rb_funcall(proc,rb_intern("call"),3,node,INT2FIX(line),INT2FIX(column));
|
|
1207
|
-
} else {
|
|
1208
|
-
v = rb_funcall(rb_cObject,rb_intern(func),3,node,INT2FIX(line),INT2FIX(column));
|
|
1209
|
-
}
|
|
1210
|
-
return NUM2INT(v);
|
|
1211
|
-
}
|
|
1212
|
-
return IUP_DEFAULT;
|
|
1213
|
-
}
|
|
1214
|
-
|
|
1215
|
-
static int _scrolling_cb(Ihandle* ih, int line, int column)
|
|
1216
|
-
{
|
|
1217
|
-
char* func = (char*)IupGetAttribute(ih,"RB_SCROLLING_CB");
|
|
1218
|
-
VALUE v;
|
|
1219
|
-
if(func) {
|
|
1220
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1221
|
-
if(strcmp(func,"Proc")==0) {
|
|
1222
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_SCROLLING_CB");
|
|
1223
|
-
v = rb_funcall(proc,rb_intern("call"),3,node,INT2FIX(line),INT2FIX(column));
|
|
1224
|
-
} else {
|
|
1225
|
-
v = rb_funcall(rb_cObject,rb_intern(func),3,node,INT2FIX(line),INT2FIX(column));
|
|
1226
|
-
}
|
|
1227
|
-
return NUM2INT(v);
|
|
1228
|
-
}
|
|
1229
|
-
return IUP_DEFAULT;
|
|
1230
|
-
}
|
|
1231
|
-
|
|
1232
|
-
static int _vspan_cb(Ihandle* ih, int line, int column)
|
|
1233
|
-
{
|
|
1234
|
-
char* func = (char*)IupGetAttribute(ih,"RB_VSPAN_CB");
|
|
1235
|
-
VALUE v;
|
|
1236
|
-
if(func) {
|
|
1237
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1238
|
-
if(strcmp(func,"Proc")==0) {
|
|
1239
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_VSPAN_CB");
|
|
1240
|
-
v = rb_funcall(proc,rb_intern("call"),3,node,INT2FIX(line),INT2FIX(column));
|
|
1241
|
-
} else {
|
|
1242
|
-
v = rb_funcall(rb_cObject,rb_intern(func),3,node,INT2FIX(line),INT2FIX(column));
|
|
1243
|
-
}
|
|
1244
|
-
return NUM2INT(v);
|
|
1245
|
-
}
|
|
1246
|
-
return IUP_DEFAULT;
|
|
1247
|
-
}
|
|
1248
|
-
|
|
1249
|
-
static int _ncols_cb(Ihandle* ih)
|
|
1250
|
-
{
|
|
1251
|
-
char* func = (char*)IupGetAttribute(ih,"RB_NCOLS_CB");
|
|
1252
|
-
VALUE v;
|
|
1253
|
-
if(func) {
|
|
1254
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1255
|
-
if(strcmp(func,"Proc")==0) {
|
|
1256
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_NCOLS_CB");
|
|
1257
|
-
v = rb_funcall(proc,rb_intern("call"),1,node);
|
|
1258
|
-
} else {
|
|
1259
|
-
v = rb_funcall(rb_cObject,rb_intern(func),1,node);
|
|
1260
|
-
}
|
|
1261
|
-
return NUM2INT(v);
|
|
1262
|
-
}
|
|
1263
|
-
return IUP_DEFAULT;
|
|
1264
|
-
}
|
|
1265
|
-
|
|
1266
|
-
static int _nlines_cb(Ihandle* ih)
|
|
1267
|
-
{
|
|
1268
|
-
char* func = (char*)IupGetAttribute(ih,"RB_NLINES_CB");
|
|
1269
|
-
VALUE v;
|
|
1270
|
-
if(func) {
|
|
1271
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1272
|
-
if(strcmp(func,"Proc")==0) {
|
|
1273
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_NLINES_CB");
|
|
1274
|
-
v = rb_funcall(proc,rb_intern("call"),1,node);
|
|
1275
|
-
} else {
|
|
1276
|
-
v = rb_funcall(rb_cObject,rb_intern(func),1,node);
|
|
1277
|
-
}
|
|
1278
|
-
return NUM2INT(v);
|
|
1279
|
-
}
|
|
1280
|
-
return IUP_DEFAULT;
|
|
1281
|
-
}
|
|
1282
|
-
|
|
1283
|
-
static int _mouseclick_cb(Ihandle* ih,int button, int pressed, int line, int column, int x, int y, char* status)
|
|
1284
|
-
{
|
|
1285
|
-
char* func = (char*)IupGetAttribute(ih,"RB_MOUSECLICK_CB");
|
|
1286
|
-
VALUE v;
|
|
1287
|
-
if(func) {
|
|
1288
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1289
|
-
if(strcmp(func,"Proc")==0) {
|
|
1290
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_MOUSECLICK_CB");
|
|
1291
|
-
v = rb_funcall(proc,rb_intern("call"),8,node,INT2FIX(button),INT2FIX(pressed),
|
|
1292
|
-
INT2FIX(line),INT2FIX(column),INT2FIX(x),INT2FIX(y),rb_str_new2(status));
|
|
1293
|
-
} else {
|
|
1294
|
-
v = rb_funcall(rb_cObject,rb_intern(func),8,node,INT2FIX(button),INT2FIX(pressed),
|
|
1295
|
-
INT2FIX(line),INT2FIX(column),INT2FIX(x),INT2FIX(y),rb_str_new2(status));
|
|
1296
|
-
}
|
|
1297
|
-
return NUM2INT(v);
|
|
1298
|
-
}
|
|
1299
|
-
return IUP_DEFAULT;
|
|
1300
|
-
}
|
|
1301
|
-
|
|
1302
|
-
static int _mousemotion_cb(Ihandle* ih,int line, int column, int x, int y, char* r)
|
|
1303
|
-
{
|
|
1304
|
-
char* func = (char*)IupGetAttribute(ih,"RB_MOUSEMOTION_CB");
|
|
1305
|
-
VALUE v;
|
|
1306
|
-
if(func) {
|
|
1307
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1308
|
-
if(strcmp(func,"Proc")==0) {
|
|
1309
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_MOUSEMOTION_CB");
|
|
1310
|
-
v = rb_funcall(proc,rb_intern("call"),8,node,
|
|
1311
|
-
INT2FIX(line),INT2FIX(column),INT2FIX(x),INT2FIX(y),rb_str_new2(r));
|
|
1312
|
-
} else {
|
|
1313
|
-
v = rb_funcall(rb_cObject,rb_intern(func),8,node,
|
|
1314
|
-
INT2FIX(line),INT2FIX(column),INT2FIX(x),INT2FIX(y),rb_str_new2(r));
|
|
1315
|
-
}
|
|
1316
|
-
return NUM2INT(v);
|
|
1317
|
-
}
|
|
1318
|
-
return IUP_DEFAULT;
|
|
1319
|
-
}
|
|
1320
|
-
|
|
1321
|
-
static int _motion_cb(Ihandle* ih,int x, int y, char* status)
|
|
1322
|
-
{
|
|
1323
|
-
char* func = (char*)IupGetAttribute(ih,"RB_MOTION_CB");
|
|
1324
|
-
VALUE v;
|
|
1325
|
-
if(func) {
|
|
1326
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1327
|
-
if(strcmp(func,"Proc")==0) {
|
|
1328
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_MOTION_CB");
|
|
1329
|
-
v = rb_funcall(proc,rb_intern("call"),4,node,
|
|
1330
|
-
INT2FIX(x),INT2FIX(y),rb_str_new2(status));
|
|
1331
|
-
} else {
|
|
1332
|
-
v = rb_funcall(rb_cObject,rb_intern(func),4,node,
|
|
1333
|
-
INT2FIX(x),INT2FIX(y),rb_str_new2(status));
|
|
1334
|
-
}
|
|
1335
|
-
return NUM2INT(v);
|
|
1336
|
-
}
|
|
1337
|
-
return IUP_DEFAULT;
|
|
1338
|
-
}
|
|
1339
|
-
|
|
1340
|
-
static int _cell_draw_cb(Ihandle* ih,int line, int column, int xmin, int xmax, int ymin, int ymax)
|
|
1341
|
-
{
|
|
1342
|
-
char* func = (char*)IupGetAttribute(ih,"RB_DRAW_CB");
|
|
1343
|
-
VALUE v;
|
|
1344
|
-
void *cnv = (void*)cdActiveCanvas();
|
|
1345
|
-
if(func) {
|
|
1346
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1347
|
-
if(strcmp(func,"Proc")==0) {
|
|
1348
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_DRAW_CB");
|
|
1349
|
-
v = rb_funcall(proc,rb_intern("call"),8,node,
|
|
1350
|
-
INT2FIX(line),INT2FIX(column),INT2FIX(xmin),INT2FIX(xmax),INT2FIX(ymin),INT2FIX(ymax),
|
|
1351
|
-
rb_funcall(rb_cCdCanvas,rb_intern("new"),1,UINT2NUM((unsigned)cnv)));
|
|
1352
|
-
} else {
|
|
1353
|
-
v = rb_funcall(rb_cObject,rb_intern(func),8,node,
|
|
1354
|
-
INT2FIX(line),INT2FIX(column),INT2FIX(xmin),INT2FIX(xmax),INT2FIX(ymin),INT2FIX(ymax),rb_funcall(rb_cCdCanvas,rb_intern("new"),1,UINT2NUM((unsigned)cnv)));
|
|
1355
|
-
}
|
|
1356
|
-
return NUM2INT(v);
|
|
1357
|
-
}
|
|
1358
|
-
return IUP_DEFAULT;
|
|
1359
|
-
}
|
|
1360
|
-
|
|
1361
|
-
static int _delete_cb(Ihandle* ih, int index, int sample_index, float x, float y)
|
|
1362
|
-
{
|
|
1363
|
-
char* func = (char*)IupGetAttribute(ih,"RB_DELETE_CB");
|
|
1364
|
-
VALUE v;
|
|
1365
|
-
if(func) {
|
|
1366
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1367
|
-
if(strcmp(func,"Proc")==0) {
|
|
1368
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_DELETE_CB");
|
|
1369
|
-
v = rb_funcall(proc,rb_intern("call"),5,node,INT2FIX(index),
|
|
1370
|
-
INT2FIX(sample_index),rb_float_new(x),rb_float_new(y));
|
|
1371
|
-
} else {
|
|
1372
|
-
v = rb_funcall(rb_cObject,rb_intern(func),5,node,INT2FIX(index),
|
|
1373
|
-
INT2FIX(sample_index),rb_float_new(x),rb_float_new(y));
|
|
1374
|
-
}
|
|
1375
|
-
return NUM2INT(v);
|
|
1376
|
-
}
|
|
1377
|
-
return IUP_DEFAULT;
|
|
1378
|
-
}
|
|
1379
|
-
|
|
1380
|
-
static int _select_cb(Ihandle* ih, int index, int sample_index, float x, float y, int select)
|
|
1381
|
-
{
|
|
1382
|
-
char* func = (char*)IupGetAttribute(ih,"RB_SELECT_CB");
|
|
1383
|
-
VALUE v;
|
|
1384
|
-
if(func) {
|
|
1385
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1386
|
-
if(strcmp(func,"Proc")==0) {
|
|
1387
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_SELECT_CB");
|
|
1388
|
-
v = rb_funcall(proc,rb_intern("call"),6,node,INT2FIX(index),
|
|
1389
|
-
INT2FIX(sample_index),rb_float_new(x),rb_float_new(y),INT2FIX(select));
|
|
1390
|
-
} else {
|
|
1391
|
-
v = rb_funcall(rb_cObject,rb_intern(func),6,node,INT2FIX(index),
|
|
1392
|
-
INT2FIX(sample_index),rb_float_new(x),rb_float_new(y),INT2FIX(select));
|
|
1393
|
-
}
|
|
1394
|
-
return NUM2INT(v);
|
|
1395
|
-
}
|
|
1396
|
-
return IUP_DEFAULT;
|
|
1397
|
-
}
|
|
1398
|
-
|
|
1399
|
-
static int _edit_cb(Ihandle* ih, int index, int sample_index, float x, float y, float* new_x, float* new_y)
|
|
1400
|
-
{
|
|
1401
|
-
char* func = (char*)IupGetAttribute(ih,"RB_EDIT_CB");
|
|
1402
|
-
VALUE v;
|
|
1403
|
-
if(func) {
|
|
1404
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1405
|
-
if(strcmp(func,"Proc")==0) {
|
|
1406
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_EDIT_CB");
|
|
1407
|
-
v = rb_funcall(proc,rb_intern("call"),7,node,INT2FIX(index),
|
|
1408
|
-
INT2FIX(sample_index),rb_float_new(x),rb_float_new(y),rb_float_new(*new_x),rb_float_new(*new_y));
|
|
1409
|
-
} else {
|
|
1410
|
-
v = rb_funcall(rb_cObject,rb_intern(func),7,node,INT2FIX(index),
|
|
1411
|
-
INT2FIX(sample_index),rb_float_new(x),rb_float_new(y),rb_float_new(*new_x),rb_float_new(*new_y));
|
|
1412
|
-
}
|
|
1413
|
-
return NUM2INT(v);
|
|
1414
|
-
}
|
|
1415
|
-
return IUP_DEFAULT;
|
|
1416
|
-
}
|
|
1417
|
-
|
|
1418
|
-
static int _list_edit_cb(Ihandle *ih, int c, char *new_value)
|
|
1419
|
-
{
|
|
1420
|
-
char* func = (char*)IupGetAttribute(ih,"RB_EDIT_CB");
|
|
1421
|
-
VALUE v;
|
|
1422
|
-
if(func) {
|
|
1423
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1424
|
-
if(strcmp(func,"Proc")==0) {
|
|
1425
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_EDIT_CB");
|
|
1426
|
-
v = rb_funcall(proc,rb_intern("call"),3,node,INT2FIX(c),rb_str_new2(new_value));
|
|
1427
|
-
} else {
|
|
1428
|
-
v = rb_funcall(rb_cObject,rb_intern(func),3,node,INT2FIX(c),rb_str_new2(new_value));
|
|
1429
|
-
}
|
|
1430
|
-
return NUM2INT(v);
|
|
1431
|
-
}
|
|
1432
|
-
return IUP_DEFAULT;
|
|
1433
|
-
}
|
|
1434
|
-
|
|
1435
|
-
static int _text_action(Ihandle *ih, int c, char *new_value)
|
|
1436
|
-
{
|
|
1437
|
-
char* func = (char*)IupGetAttribute(ih,"RB_ACTION");
|
|
1438
|
-
VALUE v;
|
|
1439
|
-
if(func) {
|
|
1440
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1441
|
-
if(strcmp(func,"Proc")==0) {
|
|
1442
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_ACTION");
|
|
1443
|
-
v = rb_funcall(proc,rb_intern("call"),3,node,INT2FIX(c),rb_str_new2(new_value));
|
|
1444
|
-
} else {
|
|
1445
|
-
v = rb_funcall(rb_cObject,rb_intern(func),3,node,INT2FIX(c),rb_str_new2(new_value));
|
|
1446
|
-
}
|
|
1447
|
-
return NUM2INT(v);
|
|
1448
|
-
}
|
|
1449
|
-
return IUP_DEFAULT;
|
|
1450
|
-
}
|
|
1451
|
-
|
|
1452
|
-
static int _button_cb(Ihandle* ih, int button, int pressed, int x, int y, char* status)
|
|
1453
|
-
{
|
|
1454
|
-
char* func = (char*)IupGetAttribute(ih,"RB_BUTTON_CB");
|
|
1455
|
-
VALUE v;
|
|
1456
|
-
if(func) {
|
|
1457
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1458
|
-
if(strcmp(func,"Proc")==0) {
|
|
1459
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_BUTTON_CB");
|
|
1460
|
-
v = rb_funcall(proc,rb_intern("call"),6,node,INT2FIX(button),INT2FIX(pressed),
|
|
1461
|
-
INT2FIX(x),INT2FIX(y),rb_str_new2(status));
|
|
1462
|
-
} else {
|
|
1463
|
-
v = rb_funcall(rb_cObject,rb_intern(func),6,node,INT2FIX(button),INT2FIX(pressed),
|
|
1464
|
-
INT2FIX(x),INT2FIX(y),rb_str_new2(status));
|
|
1465
|
-
}
|
|
1466
|
-
return NUM2INT(v);
|
|
1467
|
-
}
|
|
1468
|
-
return IUP_DEFAULT;
|
|
1469
|
-
}
|
|
1470
|
-
|
|
1471
|
-
static int _executeleaf_cb(Ihandle* ih, int id)
|
|
1472
|
-
{
|
|
1473
|
-
char* func = (char*)IupGetAttribute(ih,"RB_EXECUTELEAF_CB");
|
|
1474
|
-
VALUE v;
|
|
1475
|
-
if(func) {
|
|
1476
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1477
|
-
if(strcmp(func,"Proc")==0) {
|
|
1478
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_EXECUTELEAF_CB");
|
|
1479
|
-
v = rb_funcall(proc,rb_intern("call"),2,node,INT2FIX(id));
|
|
1480
|
-
} else {
|
|
1481
|
-
v = rb_funcall(rb_cObject,rb_intern(func),2,node,INT2FIX(id));
|
|
1482
|
-
}
|
|
1483
|
-
return NUM2INT(v);
|
|
1484
|
-
}
|
|
1485
|
-
return IUP_DEFAULT;
|
|
1486
|
-
}
|
|
1487
|
-
|
|
1488
|
-
static int _branchopen_cb(Ihandle* ih, int id)
|
|
1489
|
-
{
|
|
1490
|
-
char* func = (char*)IupGetAttribute(ih,"RB_BRANCHOPEN_CB");
|
|
1491
|
-
VALUE v;
|
|
1492
|
-
if(func) {
|
|
1493
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1494
|
-
if(strcmp(func,"Proc")==0) {
|
|
1495
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_BRANCHOPEN_CB");
|
|
1496
|
-
v = rb_funcall(proc,rb_intern("call"),2,node,INT2FIX(id));
|
|
1497
|
-
} else {
|
|
1498
|
-
v = rb_funcall(rb_cObject,rb_intern(func),2,node,INT2FIX(id));
|
|
1499
|
-
}
|
|
1500
|
-
return NUM2INT(v);
|
|
1501
|
-
}
|
|
1502
|
-
return IUP_DEFAULT;
|
|
1503
|
-
}
|
|
1504
|
-
|
|
1505
|
-
static int _branchclose_cb(Ihandle* ih, int id)
|
|
1506
|
-
{
|
|
1507
|
-
char* func = (char*)IupGetAttribute(ih,"RB_BRANCHCLOSE_CB");
|
|
1508
|
-
VALUE v;
|
|
1509
|
-
if(func) {
|
|
1510
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1511
|
-
if(strcmp(func,"Proc")==0) {
|
|
1512
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_BRANCHCLOSE_CB");
|
|
1513
|
-
v = rb_funcall(proc,rb_intern("call"),2,node,INT2FIX(id));
|
|
1514
|
-
} else {
|
|
1515
|
-
v = rb_funcall(rb_cObject,rb_intern(func),2,node,INT2FIX(id));
|
|
1516
|
-
}
|
|
1517
|
-
return NUM2INT(v);
|
|
1518
|
-
}
|
|
1519
|
-
return IUP_DEFAULT;
|
|
1520
|
-
}
|
|
1521
|
-
|
|
1522
|
-
static int _rightclick_cb(Ihandle* ih, int id)
|
|
1523
|
-
{
|
|
1524
|
-
char* func = (char*)IupGetAttribute(ih,"RB_RIGHTCLICK_CB");
|
|
1525
|
-
VALUE v;
|
|
1526
|
-
if(func) {
|
|
1527
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1528
|
-
if(strcmp(func,"Proc")==0) {
|
|
1529
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_RIGHTCLICK_CB");
|
|
1530
|
-
v = rb_funcall(proc,rb_intern("call"),2,node,INT2FIX(id));
|
|
1531
|
-
} else {
|
|
1532
|
-
v = rb_funcall(rb_cObject,rb_intern(func),2,node,INT2FIX(id));
|
|
1533
|
-
}
|
|
1534
|
-
return NUM2INT(v);
|
|
1535
|
-
}
|
|
1536
|
-
return IUP_DEFAULT;
|
|
1537
|
-
}
|
|
1538
|
-
|
|
1539
|
-
static int _k_any_cb(Ihandle* ih, int c)
|
|
1540
|
-
{
|
|
1541
|
-
extern char *iupKeyCodeToName(int c);
|
|
1542
|
-
char* func = NULL;
|
|
1543
|
-
VALUE v;
|
|
1544
|
-
static char key[100];
|
|
1545
|
-
static char pkey[100];
|
|
1546
|
-
sprintf(key,"RB_%s",(char*)iupKeyCodeToName(c));
|
|
1547
|
-
func = (char*)IupGetAttribute(ih,key);
|
|
1548
|
-
if(func==NULL) {
|
|
1549
|
-
func = (char*)IupGetAttribute(ih,"RB_K_ANY");
|
|
1550
|
-
strcpy(key,"RB_K_ANY");
|
|
1551
|
-
}
|
|
1552
|
-
if(func) {
|
|
1553
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1554
|
-
if(strcmp(func,"Proc")==0) {
|
|
1555
|
-
VALUE proc;
|
|
1556
|
-
sprintf(pkey,"RB_PROC_%s",&key[3]);
|
|
1557
|
-
proc = (VALUE)IupGetAttribute(ih,pkey);
|
|
1558
|
-
v = rb_funcall(proc,rb_intern("call"),2,node,INT2FIX(c));
|
|
1559
|
-
} else {
|
|
1560
|
-
v = rb_funcall(rb_cObject,rb_intern(func),2,node,INT2FIX(c));
|
|
1561
|
-
}
|
|
1562
|
-
return NUM2INT(v);
|
|
1563
|
-
}
|
|
1564
|
-
return IUP_DEFAULT;
|
|
1565
|
-
}
|
|
1566
|
-
|
|
1567
|
-
static int _renamenode_cb(Ihandle* ih, int id, char *name)
|
|
1568
|
-
{
|
|
1569
|
-
char* func = (char*)IupGetAttribute(ih,"RB_RENAMENODE_CB");
|
|
1570
|
-
VALUE v;
|
|
1571
|
-
if(func) {
|
|
1572
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1573
|
-
if(strcmp(func,"Proc")==0) {
|
|
1574
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_RENAMENODE_CB");
|
|
1575
|
-
v = rb_funcall(proc,rb_intern("call"),3,node,INT2FIX(id),rb_str_new2(name));
|
|
1576
|
-
} else {
|
|
1577
|
-
v = rb_funcall(rb_cObject,rb_intern(func),3,node,INT2FIX(id),rb_str_new2(name));
|
|
1578
|
-
}
|
|
1579
|
-
return NUM2INT(v);
|
|
1580
|
-
}
|
|
1581
|
-
return IUP_DEFAULT;
|
|
1582
|
-
}
|
|
1583
|
-
|
|
1584
|
-
static int _rename_cb(Ihandle* ih, int id, char *name)
|
|
1585
|
-
{
|
|
1586
|
-
char* func = (char*)IupGetAttribute(ih,"RB_RENAME_CB");
|
|
1587
|
-
VALUE v;
|
|
1588
|
-
if(func) {
|
|
1589
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1590
|
-
if(strcmp(func,"Proc")==0) {
|
|
1591
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_RENAME_CB");
|
|
1592
|
-
v = rb_funcall(proc,rb_intern("call"),3,node,INT2FIX(id),rb_str_new2(name));
|
|
1593
|
-
} else {
|
|
1594
|
-
v = rb_funcall(rb_cObject,rb_intern(func),3,node,INT2FIX(id),rb_str_new2(name));
|
|
1595
|
-
}
|
|
1596
|
-
return NUM2INT(v);
|
|
1597
|
-
}
|
|
1598
|
-
return IUP_DEFAULT;
|
|
1599
|
-
}
|
|
1600
|
-
|
|
1601
|
-
static int _dragdrop_cb(Ihandle *ih, int drag_id, int drop_id, int isshift, int iscontrol)
|
|
1602
|
-
{
|
|
1603
|
-
char* func = (char*)IupGetAttribute(ih,"RB_DRAGDROP_CB");
|
|
1604
|
-
VALUE v;
|
|
1605
|
-
if(func) {
|
|
1606
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1607
|
-
if(strcmp(func,"Proc")==0) {
|
|
1608
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_DRAGDROP_CB");
|
|
1609
|
-
v = rb_funcall(proc,rb_intern("call"),5,node,
|
|
1610
|
-
INT2FIX(drag_id),INT2FIX(drop_id),INT2FIX(isshift),INT2FIX(iscontrol));
|
|
1611
|
-
} else {
|
|
1612
|
-
v = rb_funcall(rb_cObject,rb_intern(func),5,node,
|
|
1613
|
-
INT2FIX(drag_id),INT2FIX(drop_id),INT2FIX(isshift),INT2FIX(iscontrol));
|
|
1614
|
-
}
|
|
1615
|
-
return NUM2INT(v);
|
|
1616
|
-
}
|
|
1617
|
-
return IUP_DEFAULT;
|
|
1618
|
-
}
|
|
1619
|
-
|
|
1620
|
-
static int _action_cb(Ihandle* ih)
|
|
1621
|
-
{
|
|
1622
|
-
char *key = "RB_PROC_ACTION";
|
|
1623
|
-
char* func = (char*)IupGetAttribute(ih,"RB_ACTION");
|
|
1624
|
-
VALUE v;
|
|
1625
|
-
if(func==NULL) {
|
|
1626
|
-
func = (char*)IupGetAttribute(ih,"RB_ACTION_CB");
|
|
1627
|
-
key = "RB_PROC_ACTION_CB";
|
|
1628
|
-
}
|
|
1629
|
-
if(func) {
|
|
1630
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1631
|
-
if(strcmp(func,"Proc")==0) {
|
|
1632
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,key);
|
|
1633
|
-
v = rb_funcall(proc,rb_intern("call"),1,node);
|
|
1634
|
-
} else {
|
|
1635
|
-
v = rb_funcall(rb_cObject,rb_intern(func),1,node);
|
|
1636
|
-
}
|
|
1637
|
-
return NUM2INT(v);
|
|
1638
|
-
}
|
|
1639
|
-
return IUP_DEFAULT;
|
|
1640
|
-
}
|
|
1641
|
-
|
|
1642
|
-
static int _mdiactivate_cb(Ihandle* ih)
|
|
1643
|
-
{
|
|
1644
|
-
char* func = (char*)IupGetAttribute(ih,"RB_MDIACTIVATE_CB");
|
|
1645
|
-
VALUE v;
|
|
1646
|
-
if(func) {
|
|
1647
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1648
|
-
if(strcmp(func,"Proc")==0) {
|
|
1649
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_MDIACTIVATE_CB");
|
|
1650
|
-
v = rb_funcall(proc,rb_intern("call"),1,node);
|
|
1651
|
-
} else {
|
|
1652
|
-
v = rb_funcall(rb_cObject,rb_intern(func),1,node);
|
|
1653
|
-
}
|
|
1654
|
-
return NUM2INT(v);
|
|
1655
|
-
}
|
|
1656
|
-
return IUP_DEFAULT;
|
|
1657
|
-
}
|
|
1658
|
-
|
|
1659
|
-
static int _getfocus_cb(Ihandle* ih)
|
|
1660
|
-
{
|
|
1661
|
-
char* func = (char*)IupGetAttribute(ih,"RB_GETFOCUS_CB");
|
|
1662
|
-
VALUE v;
|
|
1663
|
-
if(func) {
|
|
1664
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1665
|
-
if(strcmp(func,"Proc")==0) {
|
|
1666
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_GETFOCUS_CB");
|
|
1667
|
-
v = rb_funcall(proc,rb_intern("call"),1,node);
|
|
1668
|
-
} else {
|
|
1669
|
-
v = rb_funcall(rb_cObject,rb_intern(func),1,node);
|
|
1670
|
-
}
|
|
1671
|
-
return NUM2INT(v);
|
|
1672
|
-
}
|
|
1673
|
-
return IUP_DEFAULT;
|
|
1674
|
-
}
|
|
1675
|
-
|
|
1676
|
-
static int _killfocus_cb(Ihandle* ih)
|
|
1677
|
-
{
|
|
1678
|
-
char* func = (char*)IupGetAttribute(ih,"RB_KILLFOCUS_CB");
|
|
1679
|
-
VALUE v;
|
|
1680
|
-
if(func) {
|
|
1681
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1682
|
-
if(strcmp(func,"Proc")==0) {
|
|
1683
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_KILLFOCUS_CB");
|
|
1684
|
-
v = rb_funcall(proc,rb_intern("call"),1,node);
|
|
1685
|
-
} else {
|
|
1686
|
-
v = rb_funcall(rb_cObject,rb_intern(func),1,node);
|
|
1687
|
-
}
|
|
1688
|
-
return NUM2INT(v);
|
|
1689
|
-
}
|
|
1690
|
-
return IUP_DEFAULT;
|
|
1691
|
-
}
|
|
1692
|
-
|
|
1693
|
-
static int _trayclick_cb(Ihandle* ih, int b, int press, int dclick)
|
|
1694
|
-
{
|
|
1695
|
-
char* func = (char*)IupGetAttribute(ih,"RB_TRAYCLICK_CB");
|
|
1696
|
-
VALUE v;
|
|
1697
|
-
if(func) {
|
|
1698
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1699
|
-
if(strcmp(func,"Proc")==0) {
|
|
1700
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_TRAYCLICK_CB");
|
|
1701
|
-
v = rb_funcall(proc,rb_intern("call"),4,node,INT2FIX(b),rb_float_new(press),rb_float_new(dclick));
|
|
1702
|
-
} else {
|
|
1703
|
-
v = rb_funcall(rb_cObject,rb_intern(func),4,node,INT2FIX(b),rb_float_new(press),rb_float_new(dclick));
|
|
1704
|
-
}
|
|
1705
|
-
return NUM2INT(v);
|
|
1706
|
-
}
|
|
1707
|
-
return IUP_DEFAULT;
|
|
1708
|
-
}
|
|
1709
|
-
|
|
1710
|
-
static int _scroll_cb(Ihandle* ih, int op, float posx, float posy)
|
|
1711
|
-
{
|
|
1712
|
-
char* func = (char*)IupGetAttribute(ih,"RB_SCROLL_CB");
|
|
1713
|
-
VALUE v;
|
|
1714
|
-
if(func) {
|
|
1715
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1716
|
-
if(strcmp(func,"Proc")==0) {
|
|
1717
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_SCROLL_CB");
|
|
1718
|
-
v = rb_funcall(proc,rb_intern("call"),4,node,INT2FIX(op),rb_float_new(posx),rb_float_new(posy));
|
|
1719
|
-
} else {
|
|
1720
|
-
v = rb_funcall(rb_cObject,rb_intern(func),4,node,INT2FIX(op),rb_float_new(posx),rb_float_new(posy));
|
|
1721
|
-
}
|
|
1722
|
-
return NUM2INT(v);
|
|
1723
|
-
}
|
|
1724
|
-
return IUP_DEFAULT;
|
|
1725
|
-
}
|
|
1726
|
-
|
|
1727
|
-
static int _resize_cb(Ihandle* ih, int width, int height)
|
|
1728
|
-
{
|
|
1729
|
-
char* func = (char*)IupGetAttribute(ih,"RB_RESIZE_CB");
|
|
1730
|
-
VALUE v;
|
|
1731
|
-
if(func) {
|
|
1732
|
-
VALUE node = (VALUE)IupGetAttribute(ih,"RB_CLASS");
|
|
1733
|
-
if(strcmp(func,"Proc")==0) {
|
|
1734
|
-
VALUE proc = (VALUE)IupGetAttribute(ih,"RB_PROC_RESIZE_CB");
|
|
1735
|
-
v = rb_funcall(proc,rb_intern("call"),3,node,INT2FIX(width),INT2FIX(height));
|
|
1736
|
-
} else {
|
|
1737
|
-
v = rb_funcall(rb_cObject,rb_intern(func),3,node,INT2FIX(width),INT2FIX(height));
|
|
1738
|
-
}
|
|
1739
|
-
return NUM2INT(v);
|
|
1740
|
-
}
|
|
1741
|
-
return IUP_DEFAULT;
|
|
1742
|
-
}
|
|
1743
|
-
|
|
1744
|
-
VALUE rb_IupGetCallback(VALUE node,VALUE v_name)
|
|
1745
|
-
{
|
|
1746
|
-
const char *name = RSTRING(v_name)->ptr;
|
|
1747
|
-
Icallback v;
|
|
1748
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
1749
|
-
v = IupGetCallback((Ihandle*)NUM2UINT(v_ih),name);
|
|
1750
|
-
return UINT2NUM((unsigned)v);
|
|
1751
|
-
}
|
|
1752
|
-
|
|
1753
|
-
VALUE rb_IupSetCallback(VALUE node,VALUE v_name,VALUE v_func)
|
|
1754
|
-
{
|
|
1755
|
-
const char *name = RSTRING(v_name)->ptr;
|
|
1756
|
-
const char *func = NULL;
|
|
1757
|
-
char cb_name[100] = "RB_";
|
|
1758
|
-
VALUE klass = Qnil;
|
|
1759
|
-
Icallback v = (Icallback)NULL;
|
|
1760
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
1761
|
-
if(v_func!=Qnil) func = RSTRING(v_func)->ptr;
|
|
1762
|
-
strcat(cb_name,name);
|
|
1763
|
-
IupStoreAttribute((Ihandle*)NUM2UINT(v_ih),cb_name,func);
|
|
1764
|
-
klass = rb_funcall(node,rb_intern("class"),0,0);
|
|
1765
|
-
if(strcmp(name,"DRAW_CB")==0)
|
|
1766
|
-
if(klass==rb_cIupCells)
|
|
1767
|
-
v = (Icallback)_cell_draw_cb;
|
|
1768
|
-
else
|
|
1769
|
-
v = (Icallback)_draw_cb;
|
|
1770
|
-
else if(strcmp(name,"HEIGHT_CB")==0)
|
|
1771
|
-
v = (Icallback)_height_cb;
|
|
1772
|
-
else if(strcmp(name,"HSPAN_CB")==0)
|
|
1773
|
-
v = (Icallback)_hspan_cb;
|
|
1774
|
-
else if(strcmp(name,"MOUSECLICK_CB")==0)
|
|
1775
|
-
v = (Icallback)_mouseclick_cb;
|
|
1776
|
-
else if(strcmp(name,"MOUSEMOTION_CB")==0)
|
|
1777
|
-
v = (Icallback)_mousemotion_cb;
|
|
1778
|
-
else if(strcmp(name,"MOTION_CB")==0)
|
|
1779
|
-
v = (Icallback)_motion_cb;
|
|
1780
|
-
else if(strcmp(name,"NCOLS_CB")==0)
|
|
1781
|
-
v = (Icallback)_ncols_cb;
|
|
1782
|
-
else if(strcmp(name,"NLINES_CB")==0)
|
|
1783
|
-
v = (Icallback)_nlines_cb;
|
|
1784
|
-
else if(strcmp(name,"SCROLLING_CB")==0)
|
|
1785
|
-
v = (Icallback)_scrolling_cb;
|
|
1786
|
-
else if(strcmp(name,"VSPAN_CB")==0)
|
|
1787
|
-
v = (Icallback)_vspan_cb;
|
|
1788
|
-
else if(strcmp(name,"WIDTH_CB")==0)
|
|
1789
|
-
v = (Icallback)_width_cb;
|
|
1790
|
-
else if(strcmp(name,"DELETE_CB")==0)
|
|
1791
|
-
v = (Icallback)_delete_cb;
|
|
1792
|
-
else if(strcmp(name,"SELECT_CB")==0) {
|
|
1793
|
-
if(klass==rb_cIupColorbar)
|
|
1794
|
-
v = (Icallback)_colorbar_select_cb;
|
|
1795
|
-
else
|
|
1796
|
-
v = (Icallback)_select_cb;
|
|
1797
|
-
}
|
|
1798
|
-
else if(strcmp(name,"EDIT_CB")==0) {
|
|
1799
|
-
if(klass==rb_cIupList)
|
|
1800
|
-
v = (Icallback)_list_edit_cb;
|
|
1801
|
-
else
|
|
1802
|
-
v = (Icallback)_edit_cb;
|
|
1803
|
-
}
|
|
1804
|
-
else if(strcmp(name,"BUTTON_CB")==0)
|
|
1805
|
-
v = (Icallback)_button_cb;
|
|
1806
|
-
else if(strcmp(name,"BUTTON_PRESS_CB")==0)
|
|
1807
|
-
v = (Icallback)_button_press_cb;
|
|
1808
|
-
else if(strcmp(name,"BUTTON_RELEASE_CB")==0)
|
|
1809
|
-
v = (Icallback)_button_release_cb;
|
|
1810
|
-
else if(strcmp(name,"MOUSEMOVE_CB")==0)
|
|
1811
|
-
v = (Icallback)_mousemove_cb;
|
|
1812
|
-
else if(strcmp(name,"SCROLL_CB")==0)
|
|
1813
|
-
v = (Icallback)_scroll_cb;
|
|
1814
|
-
else if(strcmp(name,"RESIZE_CB")==0)
|
|
1815
|
-
v = (Icallback)_resize_cb;
|
|
1816
|
-
else if(strcmp(name,"ACTION")==0) {
|
|
1817
|
-
if(rb_class_inherited_p(klass,rb_cIupCanvas)==Qtrue)
|
|
1818
|
-
v = (Icallback)_canvas_action;
|
|
1819
|
-
else if(klass==rb_cIupToggle)
|
|
1820
|
-
v = (Icallback)_toggle_action;
|
|
1821
|
-
else if(klass==rb_cIupButton)
|
|
1822
|
-
v = (Icallback)_button_action;
|
|
1823
|
-
else if(klass==rb_cIupText||klass==rb_cIupMultiLine)
|
|
1824
|
-
v = (Icallback)_text_action;
|
|
1825
|
-
else if(klass==rb_cIupList)
|
|
1826
|
-
v = (Icallback)_list_action;
|
|
1827
|
-
else
|
|
1828
|
-
v = (Icallback)_action_cb;
|
|
1829
|
-
}
|
|
1830
|
-
else if(strcmp(name,"ACTION_CB")==0)
|
|
1831
|
-
v = (Icallback)_action_cb;
|
|
1832
|
-
else if(strcmp(name,"MDIACTIVATE_CB")==0)
|
|
1833
|
-
v = (Icallback)_mdiactivate_cb;
|
|
1834
|
-
else if(strcmp(name,"GETFOCUS_CB")==0)
|
|
1835
|
-
v = (Icallback)_getfocus_cb;
|
|
1836
|
-
else if(strcmp(name,"KILLFOCUS_CB")==0)
|
|
1837
|
-
v = (Icallback)_killfocus_cb;
|
|
1838
|
-
else if(strcmp(name,"TRAYCLICK_CB")==0)
|
|
1839
|
-
v = (Icallback)_trayclick_cb;
|
|
1840
|
-
else if(strcmp(name,"DRAG_CB")==0)
|
|
1841
|
-
v = (Icallback)_drag_cb;
|
|
1842
|
-
else if(strcmp(name,"CHANGE_CB")==0)
|
|
1843
|
-
v = (Icallback)_change_cb;
|
|
1844
|
-
else if(strcmp(name,"TABCHANGE_CB")==0)
|
|
1845
|
-
v = (Icallback)_tabchange_cb;
|
|
1846
|
-
else if(strcmp(name,"POSTDRAW_CB")==0)
|
|
1847
|
-
v = (Icallback)_postdraw_cb;
|
|
1848
|
-
else if(strcmp(name,"PREDRAW_CB")==0)
|
|
1849
|
-
v = (Icallback)_predraw_cb;
|
|
1850
|
-
else if(strcmp(name,"CELL_CB")==0)
|
|
1851
|
-
v = (Icallback)_cell_cb;
|
|
1852
|
-
else if(strcmp(name,"EXTENDED_CB")==0)
|
|
1853
|
-
v = (Icallback)_extended_cb;
|
|
1854
|
-
else if(strcmp(name,"SWITCH_CB")==0)
|
|
1855
|
-
v = (Icallback)_switch_cb;
|
|
1856
|
-
else if(strcmp(name,"EXECUTELEAF_CB")==0)
|
|
1857
|
-
v = (Icallback)_executeleaf_cb;
|
|
1858
|
-
else if(strcmp(name,"RENAMENODE_CB")==0)
|
|
1859
|
-
v = (Icallback)_renamenode_cb;
|
|
1860
|
-
else if(strcmp(name,"RENAME_CB")==0)
|
|
1861
|
-
v = (Icallback)_rename_cb;
|
|
1862
|
-
else if(strcmp(name,"BRANCHCLOSE_CB")==0)
|
|
1863
|
-
v = (Icallback)_branchclose_cb;
|
|
1864
|
-
else if(strcmp(name,"BRANCHOPEN_CB")==0)
|
|
1865
|
-
v = (Icallback)_branchopen_cb;
|
|
1866
|
-
else if(strcmp(name,"DRAGDROP_CB")==0)
|
|
1867
|
-
v = (Icallback)_dragdrop_cb;
|
|
1868
|
-
else if(strcmp(name,"RIGHTCLICK_CB")==0)
|
|
1869
|
-
v = (Icallback)_rightclick_cb;
|
|
1870
|
-
else if(strcmp(name,"K_ANY")==0)
|
|
1871
|
-
v = (Icallback)_k_any_cb;
|
|
1872
|
-
else if(strncmp(name,"K_",2)==0)
|
|
1873
|
-
v = (Icallback)_k_any_cb;
|
|
1874
|
-
v = IupSetCallback((Ihandle*)NUM2UINT(v_ih),name,v);
|
|
1875
|
-
return UINT2NUM((unsigned)v);
|
|
1876
|
-
}
|
|
1877
|
-
|
|
1878
|
-
VALUE rb_IupGetIdle(VALUE self)
|
|
1879
|
-
{
|
|
1880
|
-
Icallback v;
|
|
1881
|
-
v = IupGetFunction("IDLE_ACTION");
|
|
1882
|
-
if(v)
|
|
1883
|
-
return UINT2NUM((unsigned)v);
|
|
1884
|
-
return Qnil;
|
|
1885
|
-
}
|
|
1886
|
-
|
|
1887
|
-
VALUE rb_IupGetFunction(VALUE self,VALUE v_name)
|
|
1888
|
-
{
|
|
1889
|
-
const char *name = RSTRING(v_name)->ptr;
|
|
1890
|
-
Icallback v;
|
|
1891
|
-
v = IupGetFunction(name);
|
|
1892
|
-
return UINT2NUM((unsigned)v);
|
|
1893
|
-
}
|
|
1894
|
-
|
|
1895
|
-
VALUE rb_IupSetIdle(VALUE self,VALUE v_func)
|
|
1896
|
-
{
|
|
1897
|
-
Icallback func = NULL;
|
|
1898
|
-
Icallback v;
|
|
1899
|
-
if(v_func==Qnil) {
|
|
1900
|
-
*IdleAction=0;
|
|
1901
|
-
IdleProc = Qnil;
|
|
1902
|
-
}
|
|
1903
|
-
else if(TYPE(v_func)==T_DATA) {
|
|
1904
|
-
IdleProc = v_func;
|
|
1905
|
-
func = (Icallback)_idle_cb;
|
|
1906
|
-
}
|
|
1907
|
-
else if(TYPE(v_func)==T_STRING) {
|
|
1908
|
-
strcpy(IdleAction,RSTRING(v_func)->ptr);
|
|
1909
|
-
func = (Icallback)_idle_cb;
|
|
1910
|
-
}
|
|
1911
|
-
v = IupSetFunction("IDLE_ACTION",func);
|
|
1912
|
-
return UINT2NUM((unsigned)v);
|
|
1913
|
-
}
|
|
1914
|
-
|
|
1915
|
-
VALUE rb_IupSetFunction(VALUE self,VALUE v_name,VALUE v_func)
|
|
1916
|
-
{
|
|
1917
|
-
const char *name = RSTRING(v_name)->ptr;
|
|
1918
|
-
Icallback func = NULL;
|
|
1919
|
-
Icallback v;
|
|
1920
|
-
if(strcmp(name,"IDLE_ACTION")==0) {
|
|
1921
|
-
if(v_func==Qnil) {
|
|
1922
|
-
*IdleAction=0;
|
|
1923
|
-
IdleProc = Qnil;
|
|
1924
|
-
}
|
|
1925
|
-
else if(TYPE(v_func)==T_DATA) {
|
|
1926
|
-
IdleProc = v_func;
|
|
1927
|
-
func = (Icallback)_idle_cb;
|
|
1928
|
-
}
|
|
1929
|
-
else if(TYPE(v_func)==T_STRING) {
|
|
1930
|
-
strcpy(IdleAction,RSTRING(v_func)->ptr);
|
|
1931
|
-
func = (Icallback)_idle_cb;
|
|
1932
|
-
}
|
|
1933
|
-
} else {
|
|
1934
|
-
func = (Icallback)_action_cb;
|
|
1935
|
-
}
|
|
1936
|
-
v = IupSetFunction(name,func);
|
|
1937
|
-
return UINT2NUM((unsigned)v);
|
|
1938
|
-
}
|
|
1939
|
-
|
|
1940
|
-
VALUE rb_IupGetActionName(VALUE self)
|
|
1941
|
-
{
|
|
1942
|
-
const char* v;
|
|
1943
|
-
v = IupGetActionName();
|
|
1944
|
-
return rb_str_new2(v);
|
|
1945
|
-
}
|
|
1946
|
-
|
|
1947
|
-
VALUE rb_IupGetHandle(VALUE self,VALUE v_name)
|
|
1948
|
-
{
|
|
1949
|
-
const char *name = RSTRING(v_name)->ptr;
|
|
1950
|
-
Ihandle* v;
|
|
1951
|
-
v = IupGetHandle(name);
|
|
1952
|
-
if(v==NULL) return Qnil;
|
|
1953
|
-
return (VALUE)IupGetAttribute(v,"RB_CLASS");
|
|
1954
|
-
}
|
|
1955
|
-
|
|
1956
|
-
VALUE rb_IupSetHandle(VALUE self,VALUE v_name,VALUE node)
|
|
1957
|
-
{
|
|
1958
|
-
const char *name = RSTRING(v_name)->ptr;
|
|
1959
|
-
Ihandle* v;
|
|
1960
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
1961
|
-
v = IupSetHandle(name,(Ihandle*)NUM2UINT(v_ih));
|
|
1962
|
-
if(v==NULL) return Qnil;
|
|
1963
|
-
return (VALUE)IupGetAttribute(v,"RB_CLASS");
|
|
1964
|
-
}
|
|
1965
|
-
|
|
1966
|
-
VALUE rb_IupGetAllNames(VALUE self,VALUE v_n)
|
|
1967
|
-
{
|
|
1968
|
-
int n = NUM2INT(v_n);
|
|
1969
|
-
int i;
|
|
1970
|
-
VALUE v_r;
|
|
1971
|
-
int v;
|
|
1972
|
-
char **names = xmalloc(n*(sizeof(char*)));
|
|
1973
|
-
v_r = rb_ary_new();
|
|
1974
|
-
v = IupGetAllNames(names,n);
|
|
1975
|
-
for(i=0;i<n && i<v;i++)
|
|
1976
|
-
rb_ary_push(v_r,rb_str_new2(names[i]));
|
|
1977
|
-
free(names);
|
|
1978
|
-
return v_r;
|
|
1979
|
-
}
|
|
1980
|
-
|
|
1981
|
-
VALUE rb_IupGetAllDialogs(VALUE self,VALUE v_n)
|
|
1982
|
-
{
|
|
1983
|
-
int n = NUM2INT(v_n);
|
|
1984
|
-
int i;
|
|
1985
|
-
VALUE v_r;
|
|
1986
|
-
int v;
|
|
1987
|
-
char **names = xmalloc(n*(sizeof(char*)));
|
|
1988
|
-
v_r = rb_ary_new();
|
|
1989
|
-
v = IupGetAllDialogs(names,n);
|
|
1990
|
-
for(i=0;i<n && i<v;i++)
|
|
1991
|
-
rb_ary_push(v_r,rb_str_new2(names[i]));
|
|
1992
|
-
free(names);
|
|
1993
|
-
return v_r;
|
|
1994
|
-
}
|
|
1995
|
-
|
|
1996
|
-
VALUE rb_IupGetName(VALUE self,VALUE node)
|
|
1997
|
-
{
|
|
1998
|
-
char* v;
|
|
1999
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
2000
|
-
v = IupGetName((Ihandle*)NUM2UINT(v_ih));
|
|
2001
|
-
return rb_str_new2(v);
|
|
2002
|
-
}
|
|
2003
|
-
|
|
2004
|
-
VALUE rb_IupSetAttributeHandle(VALUE node,VALUE v_name,VALUE v_node_named)
|
|
2005
|
-
{
|
|
2006
|
-
const char* name = RSTRING(v_name)->ptr;
|
|
2007
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
2008
|
-
VALUE v_ih_named = rb_iv_get(v_node_named,"@ihandle");
|
|
2009
|
-
IupSetAttributeHandle((Ihandle*)NUM2UINT(v_ih),name,(Ihandle*)NUM2UINT(v_ih_named));
|
|
2010
|
-
return Qnil;
|
|
2011
|
-
}
|
|
2012
|
-
|
|
2013
|
-
VALUE rb_IupGetAttributeHandle(VALUE node,VALUE v_name)
|
|
2014
|
-
{
|
|
2015
|
-
const char* name = RSTRING(v_name)->ptr;
|
|
2016
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
2017
|
-
Ihandle* v;
|
|
2018
|
-
v = IupGetAttributeHandle((Ihandle*)NUM2UINT(v_ih),name);
|
|
2019
|
-
if(v==NULL) return Qnil;
|
|
2020
|
-
return (VALUE)IupGetAttribute(v,"RB_CLASS");
|
|
2021
|
-
}
|
|
2022
|
-
|
|
2023
|
-
VALUE rb_IupGetClassName(VALUE node)
|
|
2024
|
-
{
|
|
2025
|
-
char* v;
|
|
2026
|
-
VALUE v_ih = rb_iv_get(node,"@ihandle");
|
|
2027
|
-
v = IupGetClassName((Ihandle*)NUM2UINT(v_ih));
|
|
2028
|
-
return rb_str_new2(v);
|
|
2029
|
-
}
|
|
2030
|
-
/*
|
|
2031
|
-
VALUE rb_IupCreate(VALUE self,VALUE v_name)
|
|
2032
|
-
{
|
|
2033
|
-
const char *name = RSTRING(v_name)->ptr;
|
|
2034
|
-
Ihandle* v;
|
|
2035
|
-
v = IupCreate(name);
|
|
2036
|
-
if(v==NULL) return Qnil;
|
|
2037
|
-
return (VALUE)IupGetAttribute(v,"RB_CLASS");
|
|
2038
|
-
}
|
|
2039
|
-
|
|
2040
|
-
VALUE rb_IupCreatev(int argc,VALUE *argv,VALUE self)
|
|
2041
|
-
{
|
|
2042
|
-
const char *name = RSTRING(argv[0])->ptr;
|
|
2043
|
-
Ihandle* v;
|
|
2044
|
-
int i;
|
|
2045
|
-
void **params = (void**)xmalloc(sizeof(void*)*(argc));
|
|
2046
|
-
for(i=0;i<argc-1;i++)
|
|
2047
|
-
params[i] = (void*)NUM2INT(argv[i+1]);
|
|
2048
|
-
params[i] = NULL;
|
|
2049
|
-
v = IupCreatev(name,params);
|
|
2050
|
-
free(params);
|
|
2051
|
-
if(v==NULL) return Qnil;
|
|
2052
|
-
return (VALUE)IupGetAttribute(v,"RB_CLASS");
|
|
2053
|
-
}
|
|
2054
|
-
*/
|
|
2055
|
-
VALUE rb_IupFill(int argc,VALUE *argv,VALUE self)
|
|
2056
|
-
{
|
|
2057
|
-
Ihandle* v;
|
|
2058
|
-
v = IupFill();
|
|
2059
|
-
if(argc==1 && TYPE(argv[0])==T_HASH)
|
|
2060
|
-
rb_set_attribute(v,argv[0]);
|
|
2061
|
-
if(v)
|
|
2062
|
-
return rb_funcall(rb_cIupFill,rb_intern("new"),1,UINT2NUM((unsigned)v));
|
|
2063
|
-
return Qnil;
|
|
2064
|
-
}
|
|
2065
|
-
|
|
2066
|
-
VALUE rb_IupRadio(int argc,VALUE *argv,VALUE self)
|
|
2067
|
-
{
|
|
2068
|
-
Ihandle* v;
|
|
2069
|
-
VALUE child_node,v_hash;
|
|
2070
|
-
VALUE v_child;
|
|
2071
|
-
rb_scan_args(argc,argv,"11",&child_node,&v_hash);
|
|
2072
|
-
v_child = rb_iv_get(child_node,"@ihandle");
|
|
2073
|
-
v = IupRadio((Ihandle*)NUM2UINT(v_child));
|
|
2074
|
-
if(TYPE(v_hash)==T_HASH)
|
|
2075
|
-
rb_set_attribute(v,v_hash);
|
|
2076
|
-
if(v)
|
|
2077
|
-
return rb_funcall(rb_cIupRadio,rb_intern("new"),1,UINT2NUM((unsigned)v));
|
|
2078
|
-
return Qnil;
|
|
2079
|
-
}
|
|
2080
|
-
|
|
2081
|
-
VALUE rb_IupVboxv(int argc,VALUE *argv,VALUE self)
|
|
2082
|
-
{
|
|
2083
|
-
Ihandle* v;
|
|
2084
|
-
int i;
|
|
2085
|
-
Ihandle *children[100];
|
|
2086
|
-
VALUE node;
|
|
2087
|
-
VALUE v_children,v_hash;
|
|
2088
|
-
rb_scan_args(argc,argv,"11",&v_children,&v_hash);
|
|
2089
|
-
for(i=0;i<RARRAY(v_children)->len;i++) {
|
|
2090
|
-
node = RARRAY(v_children)->ptr[i];
|
|
2091
|
-
children[i] = (Ihandle*)NUM2UINT(rb_iv_get(node,"@ihandle"));
|
|
2092
|
-
}
|
|
2093
|
-
children[i] = NULL;
|
|
2094
|
-
|
|
2095
|
-
v = IupVboxv(children);
|
|
2096
|
-
if(TYPE(v_hash)==T_HASH)
|
|
2097
|
-
rb_set_attribute(v,v_hash);
|
|
2098
|
-
if(v)
|
|
2099
|
-
return rb_funcall(rb_cIupVbox,rb_intern("new"),1,UINT2NUM((unsigned)v));
|
|
2100
|
-
return Qnil;
|
|
2101
|
-
}
|
|
2102
|
-
|
|
2103
|
-
VALUE rb_IupZboxv(int argc,VALUE *argv,VALUE self)
|
|
2104
|
-
{
|
|
2105
|
-
Ihandle* v;
|
|
2106
|
-
int i;
|
|
2107
|
-
Ihandle *children[100];
|
|
2108
|
-
VALUE node;
|
|
2109
|
-
VALUE v_children,v_hash;
|
|
2110
|
-
rb_scan_args(argc,argv,"11",&v_children,&v_hash);
|
|
2111
|
-
for(i=0;i<RARRAY(v_children)->len;i++) {
|
|
2112
|
-
node = RARRAY(v_children)->ptr[i];
|
|
2113
|
-
children[i] = (Ihandle*)NUM2UINT(rb_iv_get(node,"@ihandle"));
|
|
2114
|
-
}
|
|
2115
|
-
children[i] = NULL;
|
|
2116
|
-
v = IupZboxv(children);
|
|
2117
|
-
if(TYPE(v_hash)==T_HASH)
|
|
2118
|
-
rb_set_attribute(v,v_hash);
|
|
2119
|
-
if(v)
|
|
2120
|
-
return rb_funcall(rb_cIupZbox,rb_intern("new"),1,UINT2NUM((unsigned)v));
|
|
2121
|
-
return Qnil;
|
|
2122
|
-
}
|
|
2123
|
-
|
|
2124
|
-
VALUE rb_IupHboxv(int argc,VALUE *argv,VALUE self)
|
|
2125
|
-
{
|
|
2126
|
-
Ihandle* v;
|
|
2127
|
-
int i;
|
|
2128
|
-
Ihandle *children[100];
|
|
2129
|
-
VALUE node;
|
|
2130
|
-
VALUE v_children,v_hash;
|
|
2131
|
-
rb_scan_args(argc,argv,"11",&v_children,&v_hash);
|
|
2132
|
-
for(i=0;i<RARRAY(v_children)->len;i++) {
|
|
2133
|
-
node = RARRAY(v_children)->ptr[i];
|
|
2134
|
-
children[i] = (Ihandle*)NUM2UINT(rb_iv_get(node,"@ihandle"));
|
|
2135
|
-
}
|
|
2136
|
-
children[i] = NULL;
|
|
2137
|
-
v = IupHboxv(children);
|
|
2138
|
-
if(TYPE(v_hash)==T_HASH)
|
|
2139
|
-
rb_set_attribute(v,v_hash);
|
|
2140
|
-
if(v)
|
|
2141
|
-
return rb_funcall(rb_cIupHbox,rb_intern("new"),1,UINT2NUM((unsigned)v));
|
|
2142
|
-
return Qnil;
|
|
2143
|
-
}
|
|
2144
|
-
|
|
2145
|
-
VALUE rb_IupFrame(int argc,VALUE *argv,VALUE self)
|
|
2146
|
-
{
|
|
2147
|
-
Ihandle* v;
|
|
2148
|
-
VALUE child_node,v_hash,v_child;
|
|
2149
|
-
rb_scan_args(argc,argv,"11",&child_node,&v_hash);
|
|
2150
|
-
v_child = rb_iv_get(child_node,"@ihandle");
|
|
2151
|
-
v = IupFrame((Ihandle*)NUM2UINT(v_child));
|
|
2152
|
-
if(TYPE(v_hash)==T_HASH)
|
|
2153
|
-
rb_set_attribute(v,v_hash);
|
|
2154
|
-
if(v)
|
|
2155
|
-
return rb_funcall(rb_cIupFrame,rb_intern("new"),1,UINT2NUM((unsigned)v));
|
|
2156
|
-
return Qnil;
|
|
2157
|
-
}
|
|
2158
|
-
|
|
2159
|
-
VALUE rb_IupImage(int argc,VALUE *argv,VALUE self)
|
|
2160
|
-
{
|
|
2161
|
-
int width;
|
|
2162
|
-
int height;
|
|
2163
|
-
int i;
|
|
2164
|
-
Ihandle* v;
|
|
2165
|
-
VALUE v_width;
|
|
2166
|
-
VALUE v_height;
|
|
2167
|
-
VALUE v_pixmap;
|
|
2168
|
-
unsigned char *pixmap = NULL;
|
|
2169
|
-
if(argc==1 && TYPE(argv[0])==T_HASH) {
|
|
2170
|
-
v_width = rb_hash_delete(argv[0],ID2SYM(rb_intern("width")));
|
|
2171
|
-
v_height = rb_hash_delete(argv[0],ID2SYM(rb_intern("height")));
|
|
2172
|
-
v_pixmap = rb_hash_delete(argv[0],ID2SYM(rb_intern("pixmap")));
|
|
2173
|
-
} else {
|
|
2174
|
-
rb_scan_args(argc,argv,"30",&v_width,&v_height,&v_pixmap);
|
|
2175
|
-
}
|
|
2176
|
-
if(v_width==Qnil||v_height==Qnil||v_pixmap==Qnil) {
|
|
2177
|
-
rb_raise(rb_eIupError,"Invalid Argument");
|
|
2178
|
-
}
|
|
2179
|
-
width = NUM2INT(v_width);
|
|
2180
|
-
height = NUM2INT(v_height);
|
|
2181
|
-
pixmap = xmalloc(RARRAY(v_pixmap)->len);
|
|
2182
|
-
for(i=0;i<RARRAY(v_pixmap)->len;i++)
|
|
2183
|
-
pixmap[i] = NUM2INT(RARRAY(v_pixmap)->ptr[i]);
|
|
2184
|
-
v = IupImage(width,height,pixmap);
|
|
2185
|
-
free(pixmap);
|
|
2186
|
-
if(argc==1 && TYPE(argv[0])==T_HASH)
|
|
2187
|
-
rb_set_attribute(v,argv[0]);
|
|
2188
|
-
if(v)
|
|
2189
|
-
return rb_funcall(rb_cIupImage,rb_intern("new"),1,UINT2NUM((unsigned)v));
|
|
2190
|
-
return Qnil;
|
|
2191
|
-
}
|
|
2192
|
-
|
|
2193
|
-
VALUE rb_IupButton(int argc,VALUE *argv,VALUE self)
|
|
2194
|
-
{
|
|
2195
|
-
const char* title = NULL;
|
|
2196
|
-
const char* action = NULL;
|
|
2197
|
-
Ihandle* v;
|
|
2198
|
-
VALUE v_title,v_action;
|
|
2199
|
-
if(argc==1 && TYPE(argv[0])==T_HASH) {
|
|
2200
|
-
v_title = rb_hash_delete(argv[0],ID2SYM(rb_intern("title")));
|
|
2201
|
-
v_action = rb_hash_delete(argv[0],ID2SYM(rb_intern("action")));
|
|
2202
|
-
} else {
|
|
2203
|
-
rb_scan_args(argc,argv,"11",&v_title,&v_action);
|
|
2204
|
-
}
|
|
2205
|
-
if(v_title!=Qnil)
|
|
2206
|
-
title = RSTRING(v_title)->ptr;
|
|
2207
|
-
if(v_action!=Qnil)
|
|
2208
|
-
action = RSTRING(v_action)->ptr;
|
|
2209
|
-
v = IupButton(title,action);
|
|
2210
|
-
if(argc==1 && TYPE(argv[0])==T_HASH)
|
|
2211
|
-
rb_set_attribute(v,argv[0]);
|
|
2212
|
-
if(v)
|
|
2213
|
-
return rb_funcall(rb_cIupButton,rb_intern("new"),2,UINT2NUM((unsigned)v),v_action);
|
|
2214
|
-
return Qnil;
|
|
2215
|
-
}
|
|
2216
|
-
|
|
2217
|
-
VALUE rb_IupCanvas(int argc,VALUE *argv,VALUE self)
|
|
2218
|
-
{
|
|
2219
|
-
const char* action = NULL;
|
|
2220
|
-
Ihandle* v;
|
|
2221
|
-
VALUE v_action;
|
|
2222
|
-
if(argc==1 && TYPE(argv[0])==T_HASH) {
|
|
2223
|
-
v_action = rb_hash_delete(argv[0],ID2SYM(rb_intern("action")));
|
|
2224
|
-
} else {
|
|
2225
|
-
rb_scan_args(argc,argv,"01",&v_action);
|
|
2226
|
-
}
|
|
2227
|
-
if(v_action!=Qnil)
|
|
2228
|
-
action = RSTRING(v_action)->ptr;
|
|
2229
|
-
v = IupCanvas(action);
|
|
2230
|
-
if(argc==1 && TYPE(argv[0])==T_HASH)
|
|
2231
|
-
rb_set_attribute(v,argv[0]);
|
|
2232
|
-
if(v)
|
|
2233
|
-
return rb_funcall(rb_cIupCanvas,rb_intern("new"),2,UINT2NUM((unsigned)v),v_action);
|
|
2234
|
-
return Qnil;
|
|
2235
|
-
}
|
|
2236
|
-
|
|
2237
|
-
VALUE rb_IupDialog(int argc,VALUE *argv,VALUE self)
|
|
2238
|
-
{
|
|
2239
|
-
Ihandle* v;
|
|
2240
|
-
VALUE child_node,v_hash;
|
|
2241
|
-
VALUE v_child;
|
|
2242
|
-
rb_scan_args(argc,argv,"11",&child_node,&v_hash);
|
|
2243
|
-
v_child = rb_iv_get(child_node,"@ihandle");
|
|
2244
|
-
v = IupDialog((Ihandle*)NUM2UINT(v_child));
|
|
2245
|
-
if(TYPE(v_hash)==T_HASH)
|
|
2246
|
-
rb_set_attribute(v,v_hash);
|
|
2247
|
-
if(v)
|
|
2248
|
-
return rb_funcall(rb_cIupDialog,rb_intern("new"),1,UINT2NUM((unsigned)v));
|
|
2249
|
-
return Qnil;
|
|
2250
|
-
}
|
|
2251
|
-
|
|
2252
|
-
VALUE rb_IupUser(VALUE self)
|
|
2253
|
-
{
|
|
2254
|
-
Ihandle* v;
|
|
2255
|
-
v = IupUser();
|
|
2256
|
-
if(v)
|
|
2257
|
-
return rb_funcall(rb_cIupUser,rb_intern("new"),1,UINT2NUM((unsigned)v));
|
|
2258
|
-
return Qnil;
|
|
2259
|
-
}
|
|
2260
|
-
|
|
2261
|
-
VALUE rb_IupItem(int argc,VALUE *argv,VALUE self)
|
|
2262
|
-
{
|
|
2263
|
-
const char* title = NULL;
|
|
2264
|
-
const char* action = NULL;
|
|
2265
|
-
Ihandle* v;
|
|
2266
|
-
VALUE v_title,v_action;
|
|
2267
|
-
if(argc==1 && TYPE(argv[0])==T_HASH) {
|
|
2268
|
-
v_title = rb_hash_delete(argv[0],ID2SYM(rb_intern("title")));
|
|
2269
|
-
v_action = rb_hash_delete(argv[0],ID2SYM(rb_intern("action")));
|
|
2270
|
-
} else {
|
|
2271
|
-
rb_scan_args(argc,argv,"11",&v_title,&v_action);
|
|
2272
|
-
}
|
|
2273
|
-
if(v_title!=Qnil)
|
|
2274
|
-
title = RSTRING(v_title)->ptr;
|
|
2275
|
-
if(v_action!=Qnil)
|
|
2276
|
-
action = RSTRING(v_action)->ptr;
|
|
2277
|
-
v = IupItem(title,action);
|
|
2278
|
-
if(action)
|
|
2279
|
-
IupStoreAttribute(v,"RB_ACTION",action);
|
|
2280
|
-
if(argc==1 && TYPE(argv[0])==T_HASH)
|
|
2281
|
-
rb_set_attribute(v,argv[0]);
|
|
2282
|
-
if(v)
|
|
2283
|
-
return rb_funcall(rb_cIupItem,rb_intern("new"),2,UINT2NUM((unsigned)v),v_action);
|
|
2284
|
-
return Qnil;
|
|
2285
|
-
}
|
|
2286
|
-
|
|
2287
|
-
VALUE rb_IupSubmenu(int argc,VALUE *argv,VALUE self)
|
|
2288
|
-
{
|
|
2289
|
-
const char* title = NULL;
|
|
2290
|
-
Ihandle* v;
|
|
2291
|
-
VALUE v_title,child_node;
|
|
2292
|
-
VALUE v_child;
|
|
2293
|
-
if(argc==1 && TYPE(argv[0])==T_HASH) {
|
|
2294
|
-
v_title = rb_hash_delete(argv[0],ID2SYM(rb_intern("title")));
|
|
2295
|
-
child_node = rb_hash_delete(argv[0],ID2SYM(rb_intern("menu")));
|
|
2296
|
-
} else {
|
|
2297
|
-
rb_scan_args(argc,argv,"20",&v_title,&child_node);
|
|
2298
|
-
}
|
|
2299
|
-
if(v_title!=Qnil)
|
|
2300
|
-
title = RSTRING(v_title)->ptr;
|
|
2301
|
-
v_child = rb_iv_get(child_node,"@ihandle");
|
|
2302
|
-
v = IupSubmenu(title,(Ihandle*)NUM2UINT(v_child));
|
|
2303
|
-
if(argc==1 && TYPE(argv[0])==T_HASH)
|
|
2304
|
-
rb_set_attribute(v,argv[0]);
|
|
2305
|
-
if(v)
|
|
2306
|
-
return rb_funcall(rb_cIupSubmenu,rb_intern("new"),1,UINT2NUM((unsigned)v));
|
|
2307
|
-
return Qnil;
|
|
2308
|
-
}
|
|
2309
|
-
|
|
2310
|
-
VALUE rb_IupSeparator(VALUE self)
|
|
2311
|
-
{
|
|
2312
|
-
Ihandle* v;
|
|
2313
|
-
v = IupSeparator();
|
|
2314
|
-
if(v)
|
|
2315
|
-
return rb_funcall(rb_cIupSeparator,rb_intern("new"),1,UINT2NUM((unsigned)v));
|
|
2316
|
-
return Qnil;
|
|
2317
|
-
}
|
|
2318
|
-
|
|
2319
|
-
VALUE rb_IupLabel(int argc,VALUE *argv,VALUE self)
|
|
2320
|
-
{
|
|
2321
|
-
const char* title = NULL;
|
|
2322
|
-
Ihandle* v;
|
|
2323
|
-
VALUE v_title;
|
|
2324
|
-
if(argc==1 && TYPE(argv[0])==T_HASH) {
|
|
2325
|
-
v_title = rb_hash_delete(argv[0],ID2SYM(rb_intern("title")));
|
|
2326
|
-
} else {
|
|
2327
|
-
rb_scan_args(argc,argv,"10",&v_title);
|
|
2328
|
-
}
|
|
2329
|
-
title = RSTRING(v_title)->ptr;
|
|
2330
|
-
v = IupLabel(title);
|
|
2331
|
-
if(argc==1 && TYPE(argv[0])==T_HASH)
|
|
2332
|
-
rb_set_attribute(v,argv[0]);
|
|
2333
|
-
if(v)
|
|
2334
|
-
return rb_funcall(rb_cIupLabel,rb_intern("new"),1,UINT2NUM((unsigned)v));
|
|
2335
|
-
return Qnil;
|
|
2336
|
-
}
|
|
2337
|
-
|
|
2338
|
-
VALUE rb_IupList(int argc,VALUE *argv,VALUE self)
|
|
2339
|
-
{
|
|
2340
|
-
const char* action = NULL;
|
|
2341
|
-
Ihandle* v;
|
|
2342
|
-
VALUE v_action;
|
|
2343
|
-
if(argc==1 && TYPE(argv[0])==T_HASH) {
|
|
2344
|
-
v_action = rb_hash_delete(argv[0],ID2SYM(rb_intern("action")));
|
|
2345
|
-
} else {
|
|
2346
|
-
rb_scan_args(argc,argv,"01",&v_action);
|
|
2347
|
-
}
|
|
2348
|
-
if(v_action!=Qnil)
|
|
2349
|
-
action = RSTRING(v_action)->ptr;
|
|
2350
|
-
v = IupList(action);
|
|
2351
|
-
if(argc==1 && TYPE(argv[0])==T_HASH)
|
|
2352
|
-
rb_set_attribute(v,argv[0]);
|
|
2353
|
-
if(v)
|
|
2354
|
-
return rb_funcall(rb_cIupList,rb_intern("new"),2,UINT2NUM((unsigned)v),v_action);
|
|
2355
|
-
return Qnil;
|
|
2356
|
-
}
|
|
2357
|
-
|
|
2358
|
-
VALUE rb_IupMenuv(VALUE self,VALUE v_children)
|
|
2359
|
-
{
|
|
2360
|
-
Ihandle* v;
|
|
2361
|
-
int i;
|
|
2362
|
-
Ihandle *children[100];
|
|
2363
|
-
VALUE node;
|
|
2364
|
-
for(i=0;i<RARRAY(v_children)->len;i++) {
|
|
2365
|
-
node = RARRAY(v_children)->ptr[i];
|
|
2366
|
-
children[i] = (Ihandle*)NUM2UINT(rb_iv_get(node,"@ihandle"));
|
|
2367
|
-
}
|
|
2368
|
-
children[i] = NULL;
|
|
2369
|
-
v = IupMenuv(children);
|
|
2370
|
-
if(v)
|
|
2371
|
-
return rb_funcall(rb_cIupMenu,rb_intern("new"),1,UINT2NUM((unsigned)v));
|
|
2372
|
-
return Qnil;
|
|
2373
|
-
}
|
|
2374
|
-
|
|
2375
|
-
VALUE rb_IupText(int argc,VALUE *argv,VALUE self)
|
|
2376
|
-
{
|
|
2377
|
-
const char* action = NULL;
|
|
2378
|
-
Ihandle* v;
|
|
2379
|
-
VALUE v_action;
|
|
2380
|
-
if(argc==1 && TYPE(argv[0])==T_HASH) {
|
|
2381
|
-
v_action = rb_hash_delete(argv[0],ID2SYM(rb_intern("action")));
|
|
2382
|
-
} else {
|
|
2383
|
-
rb_scan_args(argc,argv,"01",&v_action);
|
|
2384
|
-
}
|
|
2385
|
-
if(v_action!=Qnil)
|
|
2386
|
-
action = RSTRING(v_action)->ptr;
|
|
2387
|
-
v = IupText(action);
|
|
2388
|
-
if(action)
|
|
2389
|
-
IupStoreAttribute(v,"RB_ACTION",action);
|
|
2390
|
-
if(argc==1 && TYPE(argv[0])==T_HASH)
|
|
2391
|
-
rb_set_attribute(v,argv[0]);
|
|
2392
|
-
if(v)
|
|
2393
|
-
return rb_funcall(rb_cIupText,rb_intern("new"),2,UINT2NUM((unsigned)v),v_action);
|
|
2394
|
-
return Qnil;
|
|
2395
|
-
}
|
|
2396
|
-
|
|
2397
|
-
VALUE rb_IupMultiLine(int argc,VALUE *argv,VALUE self)
|
|
2398
|
-
{
|
|
2399
|
-
const char* action = NULL;
|
|
2400
|
-
Ihandle* v;
|
|
2401
|
-
VALUE v_action;
|
|
2402
|
-
if(argc==1 && TYPE(argv[0])==T_HASH) {
|
|
2403
|
-
v_action = rb_hash_delete(argv[0],ID2SYM(rb_intern("action")));
|
|
2404
|
-
} else {
|
|
2405
|
-
rb_scan_args(argc,argv,"01",&v_action);
|
|
2406
|
-
}
|
|
2407
|
-
if(v_action!=Qnil)
|
|
2408
|
-
action = RSTRING(v_action)->ptr;
|
|
2409
|
-
v = IupMultiLine(action);
|
|
2410
|
-
if(argc==1 && TYPE(argv[0])==T_HASH)
|
|
2411
|
-
rb_set_attribute(v,argv[0]);
|
|
2412
|
-
if(v)
|
|
2413
|
-
return rb_funcall(rb_cIupMultiLine,rb_intern("new"),2,UINT2NUM((unsigned)v),v_action);
|
|
2414
|
-
return Qnil;
|
|
2415
|
-
}
|
|
2416
|
-
|
|
2417
|
-
VALUE rb_IupToggle(int argc,VALUE *argv,VALUE self)
|
|
2418
|
-
{
|
|
2419
|
-
const char* title = NULL;
|
|
2420
|
-
const char* action = NULL;
|
|
2421
|
-
Ihandle* v;
|
|
2422
|
-
VALUE v_title,v_action;
|
|
2423
|
-
if(argc==1 && TYPE(argv[0])==T_HASH) {
|
|
2424
|
-
v_title = rb_hash_delete(argv[0],ID2SYM(rb_intern("title")));
|
|
2425
|
-
v_action = rb_hash_delete(argv[0],ID2SYM(rb_intern("action")));
|
|
2426
|
-
} else {
|
|
2427
|
-
rb_scan_args(argc,argv,"02",&v_title,&v_action);
|
|
2428
|
-
}
|
|
2429
|
-
if(v_title!=Qnil)
|
|
2430
|
-
title = RSTRING(v_title)->ptr;
|
|
2431
|
-
if(v_action!=Qnil)
|
|
2432
|
-
action = RSTRING(v_action)->ptr;
|
|
2433
|
-
v = IupToggle(title,action);
|
|
2434
|
-
if(argc==1 && TYPE(argv[0])==T_HASH)
|
|
2435
|
-
rb_set_attribute(v,argv[0]);
|
|
2436
|
-
if(v)
|
|
2437
|
-
return rb_funcall(rb_cIupToggle,rb_intern("new"),2,UINT2NUM((unsigned)v),v_action);
|
|
2438
|
-
return Qnil;
|
|
2439
|
-
}
|
|
2440
|
-
|
|
2441
|
-
VALUE rb_IupTimer(VALUE self)
|
|
2442
|
-
{
|
|
2443
|
-
Ihandle* v;
|
|
2444
|
-
v = IupTimer();
|
|
2445
|
-
if(v)
|
|
2446
|
-
return rb_funcall(rb_cIupTimer,rb_intern("new"),1,UINT2NUM((unsigned)v));
|
|
2447
|
-
return Qnil;
|
|
2448
|
-
}
|
|
2449
|
-
|
|
2450
|
-
VALUE rb_IupProgressBar(VALUE self)
|
|
2451
|
-
{
|
|
2452
|
-
Ihandle* v;
|
|
2453
|
-
v = IupProgressBar();
|
|
2454
|
-
if(v)
|
|
2455
|
-
return rb_funcall(rb_cIupProgressBar,rb_intern("new"),1,UINT2NUM((unsigned)v));
|
|
2456
|
-
return Qnil;
|
|
2457
|
-
}
|
|
2458
|
-
|
|
2459
|
-
VALUE rb_IupCboxv(int argc,VALUE *argv,VALUE self)
|
|
2460
|
-
{
|
|
2461
|
-
extern VALUE rb_cIupCbox;
|
|
2462
|
-
Ihandle* v;
|
|
2463
|
-
int i;
|
|
2464
|
-
Ihandle *params[100];
|
|
2465
|
-
VALUE v_params,v_hash;
|
|
2466
|
-
VALUE node;
|
|
2467
|
-
rb_scan_args(argc,argv,"11",&v_params,&v_hash);
|
|
2468
|
-
for(i=0;i<RARRAY(v_params)->len;i++) {
|
|
2469
|
-
node = RARRAY(v_params)->ptr[i];
|
|
2470
|
-
params[i] = (Ihandle*)NUM2UINT(rb_iv_get(node,"@ihandle"));
|
|
2471
|
-
}
|
|
2472
|
-
params[i] = NULL;
|
|
2473
|
-
v = IupCboxv(params);
|
|
2474
|
-
if(TYPE(v_hash)==T_HASH)
|
|
2475
|
-
rb_set_attribute(v,v_hash);
|
|
2476
|
-
if(v)
|
|
2477
|
-
return rb_funcall(rb_cIupCbox,rb_intern("new"),1,UINT2NUM((unsigned)v));
|
|
2478
|
-
return Qnil;
|
|
2479
|
-
}
|
|
363
|
+
extern VALUE rb_cIupImage;
|
|
364
|
+
extern VALUE rb_cIupButton;
|
|
365
|
+
extern VALUE rb_cIupCanvas;
|
|
366
|
+
extern VALUE rb_cIupDialog;
|
|
367
|
+
extern VALUE rb_cIupFill;
|
|
368
|
+
extern VALUE rb_cIupFrame;
|
|
369
|
+
extern VALUE rb_cIupHbox;
|
|
370
|
+
extern VALUE rb_cIupItem;
|
|
371
|
+
extern VALUE rb_cIupSeparator;
|
|
372
|
+
extern VALUE rb_cIupSubmenu;
|
|
373
|
+
extern VALUE rb_cIupLabel;
|
|
374
|
+
extern VALUE rb_cIupList;
|
|
375
|
+
extern VALUE rb_cIupMenu;
|
|
376
|
+
extern VALUE rb_cIupRadio;
|
|
377
|
+
extern VALUE rb_cIupText;
|
|
378
|
+
extern VALUE rb_cIupToggle;
|
|
379
|
+
extern VALUE rb_cIupToggle;
|
|
380
|
+
extern VALUE rb_cIupVbox;
|
|
381
|
+
extern VALUE rb_cIupZbox;
|
|
382
|
+
extern VALUE rb_cIupMultiLine;
|
|
383
|
+
extern VALUE rb_cIupUser;
|
|
384
|
+
extern VALUE rb_cIupControl;
|
|
385
|
+
extern VALUE rb_cIupTimer;
|
|
386
|
+
extern VALUE rb_cIupProgressBar;
|
|
387
|
+
extern VALUE rb_cIupFileDlg;
|
|
388
|
+
extern VALUE rb_cIupTree;
|
|
389
|
+
extern VALUE rb_cIupNode;
|
|
390
|
+
extern VALUE rb_cIupTabs;
|
|
391
|
+
extern VALUE rb_cIupGLCanvas;
|
|
392
|
+
extern VALUE rb_cIupSpin;
|
|
393
|
+
extern VALUE rb_cIupSpinbox;
|
|
394
|
+
extern VALUE rb_cIupSbox;
|
|
395
|
+
extern VALUE rb_cIupCbox;
|
|
396
|
+
extern VALUE rb_cIupMatrix;
|
|
397
|
+
extern VALUE rb_cIupGauge;
|
|
398
|
+
extern VALUE rb_cIupDial;
|
|
399
|
+
extern VALUE rb_cIupColorbar;
|
|
400
|
+
extern VALUE rb_cIupColorBrowser;
|
|
401
|
+
extern VALUE rb_cIupCells;
|
|
402
|
+
extern VALUE rb_cIupPPlot;
|
|
403
|
+
extern VALUE rb_cIupVal;
|
|
404
|
+
extern VALUE rb_cCdCanvas;
|