ruby-iup 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +97 -0
- data/doc/README +10 -0
- data/doc/build_install.txt +77 -0
- data/examples/README +16 -0
- data/examples/ctrl/cbox.rb +221 -0
- data/examples/ctrl/checkboard.rb +33 -0
- data/examples/ctrl/degrade.rb +73 -0
- data/examples/ctrl/example1.rb +53 -0
- data/examples/ctrl/example2.rb +39 -0
- data/examples/ctrl/iupcolorbar.rb +95 -0
- data/examples/ctrl/iupcolorbrowser.rb +45 -0
- data/examples/ctrl/iupdial.rb +117 -0
- data/examples/ctrl/iupgauge.rb +242 -0
- data/examples/ctrl/iupgetcolor.rb +8 -0
- data/examples/ctrl/iupgetparam.rb +62 -0
- data/examples/ctrl/iupglcanvas.rb +172 -0
- data/examples/ctrl/iupmask.rb +15 -0
- data/examples/ctrl/iupmatrix.rb +39 -0
- data/examples/ctrl/iupplot2.rb +603 -0
- data/examples/ctrl/iuptabs.rb +22 -0
- data/examples/ctrl/iuptree.rb +190 -0
- data/examples/ctrl/iupval.rb +71 -0
- data/examples/ctrl/numbering.rb +46 -0
- data/examples/ctrl/sample.rb +166 -0
- data/examples/dlg/iupalarm.rb +14 -0
- data/examples/dlg/iupfiledlg.rb +19 -0
- data/examples/dlg/iupgetfile.rb +19 -0
- data/examples/dlg/iuplistdialog.rb +26 -0
- data/examples/dlg/iupmessage.rb +5 -0
- data/examples/dlg/iupscanf.rb +17 -0
- data/examples/elem/iupbutton.rb +197 -0
- data/examples/elem/iupcanvas.rb +27 -0
- data/examples/elem/iupcanvas2.rb +113 -0
- data/examples/elem/iupcanvas3.rb +62 -0
- data/examples/elem/iupdialog.rb +71 -0
- data/examples/elem/iupdialog2.rb +25 -0
- data/examples/elem/iupfill.rb +51 -0
- data/examples/elem/iupframe.rb +25 -0
- data/examples/elem/iuphbox.rb +68 -0
- data/examples/elem/iupimage.rb +113 -0
- data/examples/elem/iupitem.rb +60 -0
- data/examples/elem/iuplabel.rb +57 -0
- data/examples/elem/iuplist.rb +41 -0
- data/examples/elem/iuplist2.rb +125 -0
- data/examples/elem/iupmenu.rb +32 -0
- data/examples/elem/iupmultiline.rb +24 -0
- data/examples/elem/iupmultiline2.rb +156 -0
- data/examples/elem/iupradio.rb +32 -0
- data/examples/elem/iupseparator.rb +81 -0
- data/examples/elem/iupsubmenu.rb +85 -0
- data/examples/elem/iuptext.rb +61 -0
- data/examples/elem/iuptimer.rb +36 -0
- data/examples/elem/iuptoggle.rb +110 -0
- data/examples/elem/iupvbox.rb +87 -0
- data/examples/elem/iupzbox.rb +60 -0
- data/examples/elem/mdisample.rb +376 -0
- data/examples/elem/progressbar.rb +294 -0
- data/examples/elem/scrollbar.rb +66 -0
- data/examples/elem/tray.rb +90 -0
- data/examples/func/iupgetattribute.rb +32 -0
- data/examples/func/iupidle.rb +48 -0
- data/ext/extconf.rb +27 -0
- data/ext/iup-linux/include/cd.h +494 -0
- data/ext/iup-linux/include/cd_canvas.hpp +358 -0
- data/ext/iup-linux/include/cd_old.h +158 -0
- data/ext/iup-linux/include/cd_private.h +362 -0
- data/ext/iup-linux/include/cdcgm.h +34 -0
- data/ext/iup-linux/include/cdclipbd.h +22 -0
- data/ext/iup-linux/include/cddbuf.h +23 -0
- data/ext/iup-linux/include/cddebug.h +24 -0
- data/ext/iup-linux/include/cddgn.h +23 -0
- data/ext/iup-linux/include/cddxf.h +22 -0
- data/ext/iup-linux/include/cdemf.h +22 -0
- data/ext/iup-linux/include/cdgdiplus.h +29 -0
- data/ext/iup-linux/include/cdimage.h +23 -0
- data/ext/iup-linux/include/cdirgb.h +30 -0
- data/ext/iup-linux/include/cdiup.h +22 -0
- data/ext/iup-linux/include/cdlua.h +39 -0
- data/ext/iup-linux/include/cdlua3_private.h +120 -0
- data/ext/iup-linux/include/cdlua5_private.h +141 -0
- data/ext/iup-linux/include/cdluaim.h +24 -0
- data/ext/iup-linux/include/cdluaiup.h +27 -0
- data/ext/iup-linux/include/cdluapdf.h +27 -0
- data/ext/iup-linux/include/cdmf.h +24 -0
- data/ext/iup-linux/include/cdmf_private.h +32 -0
- data/ext/iup-linux/include/cdnative.h +26 -0
- data/ext/iup-linux/include/cdpdf.h +38 -0
- data/ext/iup-linux/include/cdpicture.h +22 -0
- data/ext/iup-linux/include/cdprint.h +23 -0
- data/ext/iup-linux/include/cdps.h +37 -0
- data/ext/iup-linux/include/cdwmf.h +22 -0
- data/ext/iup-linux/include/im.h +282 -0
- data/ext/iup-linux/include/im_attrib.h +116 -0
- data/ext/iup-linux/include/im_attrib_flat.h +39 -0
- data/ext/iup-linux/include/im_binfile.h +214 -0
- data/ext/iup-linux/include/im_capture.h +365 -0
- data/ext/iup-linux/include/im_color.h +465 -0
- data/ext/iup-linux/include/im_colorhsi.h +61 -0
- data/ext/iup-linux/include/im_complex.h +160 -0
- data/ext/iup-linux/include/im_convert.h +127 -0
- data/ext/iup-linux/include/im_counter.h +69 -0
- data/ext/iup-linux/include/im_dib.h +195 -0
- data/ext/iup-linux/include/im_file.h +111 -0
- data/ext/iup-linux/include/im_format.h +79 -0
- data/ext/iup-linux/include/im_format_all.h +576 -0
- data/ext/iup-linux/include/im_format_avi.h +87 -0
- data/ext/iup-linux/include/im_format_ecw.h +93 -0
- data/ext/iup-linux/include/im_format_jp2.h +78 -0
- data/ext/iup-linux/include/im_format_raw.h +64 -0
- data/ext/iup-linux/include/im_format_wmv.h +100 -0
- data/ext/iup-linux/include/im_image.h +403 -0
- data/ext/iup-linux/include/im_kernel.h +315 -0
- data/ext/iup-linux/include/im_lib.h +191 -0
- data/ext/iup-linux/include/im_math.h +368 -0
- data/ext/iup-linux/include/im_math_op.h +219 -0
- data/ext/iup-linux/include/im_palette.h +172 -0
- data/ext/iup-linux/include/im_plus.h +73 -0
- data/ext/iup-linux/include/im_process.h +35 -0
- data/ext/iup-linux/include/im_process_ana.h +221 -0
- data/ext/iup-linux/include/im_process_glo.h +170 -0
- data/ext/iup-linux/include/im_process_loc.h +577 -0
- data/ext/iup-linux/include/im_process_pon.h +712 -0
- data/ext/iup-linux/include/im_raw.h +34 -0
- data/ext/iup-linux/include/im_util.h +277 -0
- data/ext/iup-linux/include/imlua.h +83 -0
- data/ext/iup-linux/include/iup.h +255 -0
- data/ext/iup-linux/include/iup_pplot.h +40 -0
- data/ext/iup-linux/include/iupcb.h +25 -0
- data/ext/iup-linux/include/iupcbox.h +23 -0
- data/ext/iup-linux/include/iupcbs.h +42 -0
- data/ext/iup-linux/include/iupcells.h +130 -0
- data/ext/iup-linux/include/iupcolorbar.h +126 -0
- data/ext/iup-linux/include/iupcompat.h +62 -0
- data/ext/iup-linux/include/iupcontrols.h +40 -0
- data/ext/iup-linux/include/iupcpi.h +76 -0
- data/ext/iup-linux/include/iupdef.h +520 -0
- data/ext/iup-linux/include/iupdial.h +64 -0
- data/ext/iup-linux/include/iupgauge.h +57 -0
- data/ext/iup-linux/include/iupgc.h +20 -0
- data/ext/iup-linux/include/iupgetparam.h +27 -0
- data/ext/iup-linux/include/iupgl.h +101 -0
- data/ext/iup-linux/include/iupim.h +21 -0
- data/ext/iup-linux/include/iupkey.h +290 -0
- data/ext/iup-linux/include/iuplua.h +41 -0
- data/ext/iup-linux/include/iuplua_pplot.h +26 -0
- data/ext/iup-linux/include/iupluacontrols.h +27 -0
- data/ext/iup-linux/include/iupluagl.h +26 -0
- data/ext/iup-linux/include/iupluaim.h +26 -0
- data/ext/iup-linux/include/iupluaole.h +26 -0
- data/ext/iup-linux/include/iupmask.h +52 -0
- data/ext/iup-linux/include/iupmatrix.h +69 -0
- data/ext/iup-linux/include/iupole.h +24 -0
- data/ext/iup-linux/include/iupsbox.h +20 -0
- data/ext/iup-linux/include/iupspeech.h +23 -0
- data/ext/iup-linux/include/iupspin.h +21 -0
- data/ext/iup-linux/include/iuptabs.h +79 -0
- data/ext/iup-linux/include/iuptree.h +93 -0
- data/ext/iup-linux/include/iupval.h +46 -0
- data/ext/iup-linux/include/lauxlib.h +174 -0
- data/ext/iup-linux/include/lua.h +388 -0
- data/ext/iup-linux/include/lua.hpp +9 -0
- data/ext/iup-linux/include/luaconf.h +763 -0
- data/ext/iup-linux/include/lualib.h +53 -0
- data/ext/iup-linux/include/old_im.h +59 -0
- data/ext/iup-linux/include/wd.h +78 -0
- data/ext/iup-linux/include/wd_old.h +85 -0
- data/ext/iup-linux/libcd.so +0 -0
- data/ext/iup-linux/libcdcontextplus.so +0 -0
- data/ext/iup-linux/libcdluacontextplus51.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/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/cdlua51.lib +0 -0
- data/ext/iup-win32/cdluacontextplus51.lib +0 -0
- data/ext/iup-win32/cdluaim51.lib +0 -0
- data/ext/iup-win32/cdluapdf51.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_avi.dll +0 -0
- data/ext/iup-win32/im_capture.dll +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_jp2.dll +0 -0
- data/ext/iup-win32/im_process.dll +0 -0
- data/ext/iup-win32/im_wmv.dll +0 -0
- data/ext/iup-win32/include/cd.h +494 -0
- data/ext/iup-win32/include/cd_canvas.hpp +358 -0
- data/ext/iup-win32/include/cd_old.h +158 -0
- data/ext/iup-win32/include/cd_private.h +362 -0
- data/ext/iup-win32/include/cdcgm.h +34 -0
- data/ext/iup-win32/include/cdclipbd.h +22 -0
- data/ext/iup-win32/include/cddbuf.h +23 -0
- data/ext/iup-win32/include/cddebug.h +24 -0
- data/ext/iup-win32/include/cddgn.h +23 -0
- data/ext/iup-win32/include/cddxf.h +22 -0
- data/ext/iup-win32/include/cdemf.h +22 -0
- data/ext/iup-win32/include/cdgdiplus.h +29 -0
- data/ext/iup-win32/include/cdimage.h +23 -0
- data/ext/iup-win32/include/cdirgb.h +30 -0
- data/ext/iup-win32/include/cdiup.h +22 -0
- data/ext/iup-win32/include/cdlua.h +39 -0
- data/ext/iup-win32/include/cdlua3_private.h +120 -0
- data/ext/iup-win32/include/cdlua5_private.h +141 -0
- data/ext/iup-win32/include/cdluaim.h +24 -0
- data/ext/iup-win32/include/cdluaiup.h +27 -0
- data/ext/iup-win32/include/cdluapdf.h +27 -0
- data/ext/iup-win32/include/cdmf.h +24 -0
- data/ext/iup-win32/include/cdmf_private.h +32 -0
- data/ext/iup-win32/include/cdnative.h +26 -0
- data/ext/iup-win32/include/cdpdf.h +38 -0
- data/ext/iup-win32/include/cdpicture.h +22 -0
- data/ext/iup-win32/include/cdprint.h +23 -0
- data/ext/iup-win32/include/cdps.h +37 -0
- data/ext/iup-win32/include/cdwmf.h +22 -0
- data/ext/iup-win32/include/iup.h +255 -0
- data/ext/iup-win32/include/iup_pplot.h +40 -0
- data/ext/iup-win32/include/iupcb.h +25 -0
- data/ext/iup-win32/include/iupcbox.h +23 -0
- data/ext/iup-win32/include/iupcbs.h +42 -0
- data/ext/iup-win32/include/iupcells.h +130 -0
- data/ext/iup-win32/include/iupcolorbar.h +126 -0
- data/ext/iup-win32/include/iupcompat.h +62 -0
- data/ext/iup-win32/include/iupcontrols.h +40 -0
- data/ext/iup-win32/include/iupcpi.h +76 -0
- data/ext/iup-win32/include/iupdef.h +520 -0
- data/ext/iup-win32/include/iupdial.h +64 -0
- data/ext/iup-win32/include/iupgauge.h +57 -0
- data/ext/iup-win32/include/iupgc.h +20 -0
- data/ext/iup-win32/include/iupgetparam.h +27 -0
- data/ext/iup-win32/include/iupgl.h +101 -0
- data/ext/iup-win32/include/iupim.h +21 -0
- data/ext/iup-win32/include/iupkey.h +290 -0
- data/ext/iup-win32/include/iuplua.h +41 -0
- data/ext/iup-win32/include/iuplua_pplot.h +26 -0
- data/ext/iup-win32/include/iupluacontrols.h +27 -0
- data/ext/iup-win32/include/iupluagl.h +26 -0
- data/ext/iup-win32/include/iupluaim.h +26 -0
- data/ext/iup-win32/include/iupluaole.h +26 -0
- data/ext/iup-win32/include/iupmask.h +52 -0
- data/ext/iup-win32/include/iupmatrix.h +69 -0
- data/ext/iup-win32/include/iupole.h +24 -0
- data/ext/iup-win32/include/iupsbox.h +20 -0
- data/ext/iup-win32/include/iupspeech.h +23 -0
- data/ext/iup-win32/include/iupspin.h +21 -0
- data/ext/iup-win32/include/iuptabs.h +79 -0
- data/ext/iup-win32/include/iuptree.h +93 -0
- data/ext/iup-win32/include/iupval.h +46 -0
- data/ext/iup-win32/include/wd.h +78 -0
- data/ext/iup-win32/include/wd_old.h +85 -0
- 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/iupim.dll +0 -0
- data/ext/iup-win32/iupim.lib +0 -0
- data/ext/iup-win32/iupimglib.dll +0 -0
- data/ext/iup-win32/iupimglib.lib +0 -0
- data/ext/iup-win32/iuplua51.lib +0 -0
- data/ext/iup-win32/iuplua_pplot51.lib +0 -0
- data/ext/iup-win32/iupluacd51.lib +0 -0
- data/ext/iup-win32/iupluacontrols51.lib +0 -0
- data/ext/iup-win32/iupluagl51.lib +0 -0
- data/ext/iup-win32/iupluaim51.lib +0 -0
- data/ext/iup-win32/iupluaimglib51.lib +0 -0
- data/ext/iup-win32/iupluaole51.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/iup.c +1261 -0
- data/ext/mkrf_conf.rb +72 -0
- data/ext/rb_cd.h +1525 -0
- data/ext/rb_iup.h +2446 -0
- data/ext/rb_iup_pplot.h +129 -0
- data/ext/rb_iupcb.h +13 -0
- data/ext/rb_iupcbox.h +40 -0
- data/ext/rb_iupcells.h +15 -0
- data/ext/rb_iupcolorbar.h +17 -0
- data/ext/rb_iupcompat.h +237 -0
- data/ext/rb_iupcontrols.h +28 -0
- data/ext/rb_iupdef.h +3 -0
- data/ext/rb_iupdial.h +24 -0
- data/ext/rb_iupgauge.h +15 -0
- data/ext/rb_iupgc.h +18 -0
- data/ext/rb_iupgetparam.h +72 -0
- data/ext/rb_iupgl.h +58 -0
- data/ext/rb_iupim.h +25 -0
- data/ext/rb_iupmask.h +189 -0
- data/ext/rb_iupmatrix.h +80 -0
- data/ext/rb_iupole.h +24 -0
- data/ext/rb_iupsbox.h +23 -0
- data/ext/rb_iupspeech.h +25 -0
- data/ext/rb_iupspin.h +29 -0
- data/ext/rb_iuptabs.h +29 -0
- data/ext/rb_iuptree.h +94 -0
- data/ext/rb_iupval.h +24 -0
- data/lib/README +1 -0
- metadata +391 -0
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'iup'
|
3
|
+
|
4
|
+
case(Iup.Alarm("IupAlarm Example","File not saved! Save it now?", "Yes", "No", "Cancel"))
|
5
|
+
when 1
|
6
|
+
Iup.Message("Save file", "File saved sucessfully - leaving program")
|
7
|
+
when 2
|
8
|
+
Iup.Message("Save file", "File not saved - leaving program anyway")
|
9
|
+
when 3
|
10
|
+
Iup.Message("Save file", "Operation canceled")
|
11
|
+
end
|
12
|
+
|
13
|
+
Iup.MainLoop()
|
14
|
+
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'iup'
|
3
|
+
|
4
|
+
|
5
|
+
filedlg = Iup.FileDlg(:dialogtype=>"SAVE",:title=>"File Save",:filter=>"*.jpg",:filterinfo=>"JPEG Files")
|
6
|
+
|
7
|
+
filedlg.Popup(Iup::CENTER, Iup::CENTER)
|
8
|
+
|
9
|
+
case(filedlg.status)
|
10
|
+
when '1'
|
11
|
+
Iup.Message("New file",filedlg.value)
|
12
|
+
when '0'
|
13
|
+
Iup.Message("File already exists",filedlg.value)
|
14
|
+
when '-1'
|
15
|
+
Iup.Message("IupFileDlg","Operation Canceled")
|
16
|
+
end
|
17
|
+
|
18
|
+
filedlg.Destroy()
|
19
|
+
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'iup'
|
3
|
+
|
4
|
+
file = "./*.txt"
|
5
|
+
file,err = Iup.GetFile(file)
|
6
|
+
case(err)
|
7
|
+
when 1
|
8
|
+
Iup.Message("New file",file)
|
9
|
+
when 0
|
10
|
+
Iup.Message("File already exists",file)
|
11
|
+
when -1
|
12
|
+
Iup.Message("IupFileDlg","Operation canceled")
|
13
|
+
when -2
|
14
|
+
Iup.Message("IupFileDlg","Allocation error")
|
15
|
+
when -3
|
16
|
+
Iup.Message("IupFileDlg","Invalid parameter")
|
17
|
+
end
|
18
|
+
|
19
|
+
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'iup'
|
3
|
+
|
4
|
+
marks = [0,0,0,0,1,1,0,0]
|
5
|
+
options = ["Blue","Red","Green" ,"Yellow","Black","White","Gray","Brown"]
|
6
|
+
size = options.size
|
7
|
+
|
8
|
+
marks,error = Iup.ListDialog(2,"Color Selection",size,options,0,16,5,marks)
|
9
|
+
|
10
|
+
if(error == -1)
|
11
|
+
Iup.Message("IupListDialog","Operation canceled");
|
12
|
+
else
|
13
|
+
selection = ""
|
14
|
+
|
15
|
+
marks.each_index {|i|
|
16
|
+
selection += options[i]+"\n" if(marks[i]==1)
|
17
|
+
}
|
18
|
+
|
19
|
+
if(selection!="")
|
20
|
+
Iup.Message("Options selected",selection)
|
21
|
+
else
|
22
|
+
Iup.Message("IupListDialog","No option selected")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'iup'
|
3
|
+
|
4
|
+
text = "This is a vector of characters"
|
5
|
+
real = 0.0012
|
6
|
+
integer = 12
|
7
|
+
fmt = "Data entering example\n" +
|
8
|
+
"text = %300.40%s\n" +
|
9
|
+
"real = %20.10%g\n" +
|
10
|
+
"integer = %20.10%d\n"
|
11
|
+
text,real,integer = Iup.Scanf(fmt,text,real,integer)
|
12
|
+
if text.nil? then
|
13
|
+
Iup.Message("IupScanf","Operation canceled")
|
14
|
+
else
|
15
|
+
string = "Text: #{text}\nReal: #{real}\nInteger: #{integer}\n"
|
16
|
+
Iup.Message("IupScanf",string)
|
17
|
+
end
|
@@ -0,0 +1,197 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
#*****************************************************************************
|
3
|
+
#* Iup.Button example *
|
4
|
+
#* Author : Claudio Coutinho de Biasi *
|
5
|
+
#* Description : Creates four buttons. The first uses images, the second *
|
6
|
+
#* turns the first on and off, the third exits the *
|
7
|
+
#* application and the last does nothing *
|
8
|
+
#*****************************************************************************/
|
9
|
+
require 'iup'
|
10
|
+
|
11
|
+
#* Defines released button's image */
|
12
|
+
|
13
|
+
pixmap_release = [
|
14
|
+
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
|
15
|
+
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,
|
16
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
17
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
18
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
19
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
20
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
21
|
+
1,1,3,3,3,3,3,3,4,4,3,3,3,3,2,2,
|
22
|
+
1,1,3,3,3,3,3,4,4,4,4,3,3,3,2,2,
|
23
|
+
1,1,3,3,3,3,3,4,4,4,4,3,3,3,2,2,
|
24
|
+
1,1,3,3,3,3,3,3,4,4,3,3,3,3,2,2,
|
25
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
26
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
27
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
28
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
29
|
+
1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
|
30
|
+
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
|
31
|
+
]
|
32
|
+
|
33
|
+
#* Defines pressed button's image */
|
34
|
+
pixmap_press = [
|
35
|
+
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
|
36
|
+
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,
|
37
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
38
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
39
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
40
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
41
|
+
1,1,3,3,3,3,3,4,4,3,3,3,3,3,2,2,
|
42
|
+
1,1,3,3,3,3,4,4,4,4,3,3,3,3,2,2,
|
43
|
+
1,1,3,3,3,3,4,4,4,4,3,3,3,3,2,2,
|
44
|
+
1,1,3,3,3,3,3,4,4,3,3,3,3,3,2,2,
|
45
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
46
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
47
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
48
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
49
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
50
|
+
1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
|
51
|
+
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
|
52
|
+
]
|
53
|
+
|
54
|
+
#* Defines inactive button's image */
|
55
|
+
pixmap_inactive = [
|
56
|
+
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
|
57
|
+
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,
|
58
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
59
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
60
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
61
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
62
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
63
|
+
1,1,3,3,3,3,3,3,4,4,3,3,3,3,2,2,
|
64
|
+
1,1,3,3,3,3,3,4,4,4,4,3,3,3,2,2,
|
65
|
+
1,1,3,3,3,3,3,4,4,4,4,3,3,3,2,2,
|
66
|
+
1,1,3,3,3,3,3,3,4,4,3,3,3,3,2,2,
|
67
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
68
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
69
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
70
|
+
1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
|
71
|
+
1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
|
72
|
+
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
|
73
|
+
]
|
74
|
+
|
75
|
+
# Creates a text */
|
76
|
+
text = Iup.Text(:readonly=>"YES")
|
77
|
+
|
78
|
+
# Defines released button's image size */
|
79
|
+
img_release = Iup.Image(16, 16, pixmap_release)
|
80
|
+
|
81
|
+
# Defines released button's image colors */
|
82
|
+
img_release["1"] = "215 215 215"
|
83
|
+
img_release["2"] = "40 40 40"
|
84
|
+
img_release["3"] = "30 50 210"
|
85
|
+
img_release["4"] = "240 0 0"
|
86
|
+
|
87
|
+
# Associates img_release with handle "img_release" */
|
88
|
+
Iup.SetHandle( "img_release", img_release )
|
89
|
+
|
90
|
+
# Defines pressed button's image size */
|
91
|
+
img_press = Iup.Image( 16, 16, pixmap_press )
|
92
|
+
|
93
|
+
# Defines pressed button's image colors */
|
94
|
+
img_press["1"] = "40 40 40"
|
95
|
+
img_press["2"] = "215 215 215"
|
96
|
+
img_press["3"] = "0 20 180"
|
97
|
+
img_press["4"] = "210 0 0"
|
98
|
+
|
99
|
+
# Associates img_press with handle "img_press" */
|
100
|
+
Iup.SetHandle( "img_press", img_press )
|
101
|
+
|
102
|
+
# Defines inactive button's image size */
|
103
|
+
img_inactive = Iup.Image( 16, 16, pixmap_inactive )
|
104
|
+
|
105
|
+
# Defines inactive button's image colors */
|
106
|
+
img_inactive["1"] = "215 215 215"
|
107
|
+
img_inactive["2"] = "40 40 40"
|
108
|
+
img_inactive["3"] = "100 100 100"
|
109
|
+
img_inactive["4"] = "200 200 200"
|
110
|
+
|
111
|
+
# Associates img_inactive with handle "img_inactive" */
|
112
|
+
Iup.SetHandle("img_inactive", img_inactive )
|
113
|
+
|
114
|
+
# Creates a button */
|
115
|
+
btn_image = Iup.Button(:title=>"Button with image",:image=>"img_release",:impress=>"img_press",:iminactive=>"img_inactive")
|
116
|
+
|
117
|
+
# Creates a button */
|
118
|
+
btn_big = Iup.Button(:title=>"Big useless button",:size=>"EIGHTHxEIGHTH")
|
119
|
+
|
120
|
+
# Creates a button entitled Exit associated with action exit_act */
|
121
|
+
btn_exit = Iup.Button("Exit")
|
122
|
+
|
123
|
+
# Creates a button entitled on/off associated with action onoff_act */
|
124
|
+
btn_on_off = Iup.Button("on/off")
|
125
|
+
|
126
|
+
# Creates dialog with the four buttons and the text*/
|
127
|
+
dlg = Iup.Dialog(
|
128
|
+
Iup.Vbox([
|
129
|
+
Iup.Hbox([
|
130
|
+
Iup.Fill(),
|
131
|
+
btn_image,
|
132
|
+
btn_on_off,
|
133
|
+
btn_exit,
|
134
|
+
Iup.Fill()]
|
135
|
+
),
|
136
|
+
text,
|
137
|
+
btn_big]
|
138
|
+
),
|
139
|
+
:expand=>"YES",:title=>"IupButton",:resize=>"NO",
|
140
|
+
:menubox=>"NO",:maxbox=>"NO",:minbox=>"NO")
|
141
|
+
|
142
|
+
|
143
|
+
btn_on_off_cb = lambda do |ih|
|
144
|
+
# If the button with with image is active...*/
|
145
|
+
if(btn_image.active=="YES")
|
146
|
+
# Deactivates the button with image */
|
147
|
+
btn_image.active = "NO"
|
148
|
+
# else it is inactive */
|
149
|
+
else
|
150
|
+
# Activates the button with image */
|
151
|
+
btn_image.active = "YES"
|
152
|
+
end
|
153
|
+
|
154
|
+
# Executed function sucessfully */
|
155
|
+
Iup::DEFAULT
|
156
|
+
end
|
157
|
+
|
158
|
+
btn_image_button_cb = lambda do |ih,b,e,x,y,status|
|
159
|
+
# If the left button changed its state... */
|
160
|
+
if( b == Iup::BUTTON1 )
|
161
|
+
# If the button was pressed... */
|
162
|
+
if(e == 1)
|
163
|
+
# Sets text's value */
|
164
|
+
text.value = "Red button pressed"
|
165
|
+
# else the button was released */
|
166
|
+
else
|
167
|
+
# Sets text's value */
|
168
|
+
text.value = "Red button released"
|
169
|
+
end
|
170
|
+
end
|
171
|
+
|
172
|
+
# Executed function sucessfully */
|
173
|
+
Iup::DEFAULT
|
174
|
+
end
|
175
|
+
|
176
|
+
btn_exit_cb = lambda do |ih|
|
177
|
+
# Exits the program */
|
178
|
+
Iup::CLOSE
|
179
|
+
end
|
180
|
+
|
181
|
+
|
182
|
+
# Registers callbacks */
|
183
|
+
btn_exit.action = btn_exit_cb
|
184
|
+
btn_on_off.action = btn_on_off_cb
|
185
|
+
btn_image.button_cb = btn_image_button_cb
|
186
|
+
|
187
|
+
# Shows dialog on the center of the screen */
|
188
|
+
dlg.ShowXY(Iup::CENTER, Iup::CENTER )
|
189
|
+
|
190
|
+
# Initializes IUP main loop */
|
191
|
+
Iup.MainLoop()
|
192
|
+
|
193
|
+
dlg.Destroy()
|
194
|
+
img_release.Destroy()
|
195
|
+
img_inactive.Destroy()
|
196
|
+
img_press.Destroy()
|
197
|
+
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'iup'
|
3
|
+
|
4
|
+
|
5
|
+
cdcanvas = nil
|
6
|
+
|
7
|
+
repaint_cb = lambda do |ih,x,y|
|
8
|
+
cdcanvas.CanvasActivate()
|
9
|
+
cdcanvas.CanvasBackground(Cd::BLACK)
|
10
|
+
cdcanvas.CanvasClear()
|
11
|
+
cdcanvas.CanvasForeground(Cd::BLUE)
|
12
|
+
cdcanvas.CanvasBox(0, 100, 0, 100)
|
13
|
+
Iup::DEFAULT
|
14
|
+
end
|
15
|
+
|
16
|
+
cnvs = Iup.Canvas(:action=>repaint_cb,:size=>"300x100")
|
17
|
+
dlg = Iup.Dialog(Iup.Frame(cnvs),:title=>"IupCanvas + Canvas Draw" )
|
18
|
+
dlg.Map
|
19
|
+
|
20
|
+
cdcanvas = Cd.CreateCanvas( Cd.CD_IUP, cnvs )
|
21
|
+
|
22
|
+
# Shows dialog on the center of the screen */
|
23
|
+
dlg.ShowXY(Iup::CENTER, Iup::CENTER )
|
24
|
+
|
25
|
+
# Initializes IUP main loop */
|
26
|
+
Iup.MainLoop()
|
27
|
+
dlg.Destroy()
|
@@ -0,0 +1,113 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'iup'
|
3
|
+
|
4
|
+
|
5
|
+
image = []
|
6
|
+
for x in 0...640
|
7
|
+
image[x] = []
|
8
|
+
for y in 0...400
|
9
|
+
image[x][y]=0
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
label = Iup.Label("IupCanvas")
|
14
|
+
|
15
|
+
iupcanvas = Iup.Canvas()
|
16
|
+
iupcanvas.attr = "CURSOR=CROSS, RASTERSIZE=320x200, EXPAND=NO, SCROLLBAR=YES, DX=0.5, DY=0.5"
|
17
|
+
|
18
|
+
repaint_cb = lambda do |ih,x,y|
|
19
|
+
sx = ih.posx.to_f
|
20
|
+
sy = -ih.posy.to_f
|
21
|
+
|
22
|
+
cdcanvas = Cd.ActiveCanvas()
|
23
|
+
return Iup::DEFAULT if cdcanvas == nil
|
24
|
+
|
25
|
+
cdcanvas.CanvasClear()
|
26
|
+
|
27
|
+
for x in 0...320
|
28
|
+
for y in 0...200
|
29
|
+
cdcanvas.CanvasMark(x,y) if(image[(320.0*sx).to_i+x][(200.0*sy).to_i+y]!=0)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
Iup::DEFAULT
|
33
|
+
end
|
34
|
+
|
35
|
+
button_cb = lambda do |ih, botao, estado, x, y,status|
|
36
|
+
sx = ih.posx.to_f
|
37
|
+
sy = -ih.posy.to_f
|
38
|
+
|
39
|
+
cdcanvas = Cd.ActiveCanvas()
|
40
|
+
y = cdcanvas.CanvasUpdateYAxis(y)
|
41
|
+
if(botao == Iup::BUTTON1 && estado!=0)
|
42
|
+
cdcanvas.CanvasMark(x,y)
|
43
|
+
image[(320.0*sx).to_i+x][(200.0*sy).to_i+y] = 1
|
44
|
+
end
|
45
|
+
|
46
|
+
Iup::DEFAULT
|
47
|
+
end
|
48
|
+
|
49
|
+
motion_cb = lambda do |ih, x, y,status|
|
50
|
+
sx = ih.posx.to_f
|
51
|
+
|
52
|
+
sy = -ih.posy.to_f
|
53
|
+
|
54
|
+
buffer = "(#{(320.0*sx).to_i+x}, #{(200.0*sy).to_i+y})"
|
55
|
+
|
56
|
+
label.title = buffer
|
57
|
+
|
58
|
+
Iup::DEFAULT
|
59
|
+
end
|
60
|
+
|
61
|
+
scroll_cb = lambda do |ih,op,posx,posy|
|
62
|
+
repaint_cb.call(ih,0.0,0.0)
|
63
|
+
|
64
|
+
Iup::DEFAULT
|
65
|
+
end
|
66
|
+
|
67
|
+
enter_cb = lambda do |ih|
|
68
|
+
Cd.Background(Cd::WHITE)
|
69
|
+
repaint_cb.call(ih,0.0,0.0)
|
70
|
+
|
71
|
+
Iup::DEFAULT
|
72
|
+
end
|
73
|
+
|
74
|
+
leave_cb = lambda do |ih|
|
75
|
+
Cd.Background(Cd::GRAY)
|
76
|
+
repaint_cb.call(ih,0.0,0.0)
|
77
|
+
label = Iup.GetHandle("label")
|
78
|
+
label.title = "IupCanvas"
|
79
|
+
|
80
|
+
Iup::DEFAULT
|
81
|
+
end
|
82
|
+
|
83
|
+
iupcanvas.action = repaint_cb
|
84
|
+
iupcanvas.button_cb = button_cb
|
85
|
+
iupcanvas.scroll_cb = scroll_cb
|
86
|
+
iupcanvas.motion_cb = motion_cb
|
87
|
+
iupcanvas.enterwindow_cb = enter_cb
|
88
|
+
iupcanvas.leavewindow_cb = leave_cb
|
89
|
+
|
90
|
+
dlg = Iup.Dialog(Iup.Vbox([iupcanvas,Iup.Hbox([Iup.Fill(), label, Iup.Fill()])]))
|
91
|
+
dlg.attr = "TITLE=IupCanvas, RESIZE=NO, MAXBOX=NO"
|
92
|
+
|
93
|
+
dlg.ShowXY(Iup::CENTER,Iup::CENTER)
|
94
|
+
|
95
|
+
cdcanvas = Cd.CreateCanvas(Cd.CD_IUP, iupcanvas)
|
96
|
+
|
97
|
+
if(cdcanvas==nil)
|
98
|
+
Iup.Message("IupCanvas","Error creating canvas")
|
99
|
+
dlg.Destroy()
|
100
|
+
exit
|
101
|
+
end
|
102
|
+
|
103
|
+
if(cdcanvas.Activate() == Cd::ERROR)
|
104
|
+
Iup.Message("IupCanvas","Error creating canvas")
|
105
|
+
dlg.Destroy()
|
106
|
+
exit
|
107
|
+
end
|
108
|
+
|
109
|
+
cdcanvas.CanvasClear()
|
110
|
+
|
111
|
+
# Initializes IUP main loop */
|
112
|
+
Iup.MainLoop()
|
113
|
+
dlg.Destroy()
|