ruby-iup 0.0.1-i386-mswin32

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.
Files changed (138) hide show
  1. data/doc/README +10 -0
  2. data/doc/build_install.txt +77 -0
  3. data/examples/README +16 -0
  4. data/examples/ctrl/cbox.rb +221 -0
  5. data/examples/ctrl/checkboard.rb +33 -0
  6. data/examples/ctrl/degrade.rb +73 -0
  7. data/examples/ctrl/example1.rb +53 -0
  8. data/examples/ctrl/example2.rb +39 -0
  9. data/examples/ctrl/iupcolorbar.rb +95 -0
  10. data/examples/ctrl/iupcolorbrowser.rb +45 -0
  11. data/examples/ctrl/iupdial.rb +117 -0
  12. data/examples/ctrl/iupgauge.rb +242 -0
  13. data/examples/ctrl/iupgetcolor.rb +8 -0
  14. data/examples/ctrl/iupgetparam.rb +62 -0
  15. data/examples/ctrl/iupglcanvas.rb +172 -0
  16. data/examples/ctrl/iupmask.rb +15 -0
  17. data/examples/ctrl/iupmatrix.rb +39 -0
  18. data/examples/ctrl/iupplot2.rb +603 -0
  19. data/examples/ctrl/iuptabs.rb +22 -0
  20. data/examples/ctrl/iuptree.rb +190 -0
  21. data/examples/ctrl/iupval.rb +71 -0
  22. data/examples/ctrl/numbering.rb +46 -0
  23. data/examples/ctrl/sample.rb +166 -0
  24. data/examples/dlg/iupalarm.rb +14 -0
  25. data/examples/dlg/iupfiledlg.rb +19 -0
  26. data/examples/dlg/iupgetfile.rb +19 -0
  27. data/examples/dlg/iuplistdialog.rb +26 -0
  28. data/examples/dlg/iupmessage.rb +5 -0
  29. data/examples/dlg/iupscanf.rb +17 -0
  30. data/examples/elem/iupbutton.rb +197 -0
  31. data/examples/elem/iupcanvas.rb +27 -0
  32. data/examples/elem/iupcanvas2.rb +113 -0
  33. data/examples/elem/iupcanvas3.rb +62 -0
  34. data/examples/elem/iupdialog.rb +71 -0
  35. data/examples/elem/iupdialog2.rb +25 -0
  36. data/examples/elem/iupfill.rb +51 -0
  37. data/examples/elem/iupframe.rb +25 -0
  38. data/examples/elem/iuphbox.rb +68 -0
  39. data/examples/elem/iupimage.rb +113 -0
  40. data/examples/elem/iupitem.rb +60 -0
  41. data/examples/elem/iuplabel.rb +57 -0
  42. data/examples/elem/iuplist.rb +41 -0
  43. data/examples/elem/iuplist2.rb +125 -0
  44. data/examples/elem/iupmenu.rb +32 -0
  45. data/examples/elem/iupmultiline.rb +24 -0
  46. data/examples/elem/iupmultiline2.rb +156 -0
  47. data/examples/elem/iupradio.rb +32 -0
  48. data/examples/elem/iupseparator.rb +81 -0
  49. data/examples/elem/iupsubmenu.rb +85 -0
  50. data/examples/elem/iuptext.rb +61 -0
  51. data/examples/elem/iuptimer.rb +36 -0
  52. data/examples/elem/iuptoggle.rb +110 -0
  53. data/examples/elem/iupvbox.rb +87 -0
  54. data/examples/elem/iupzbox.rb +60 -0
  55. data/examples/elem/mdisample.rb +376 -0
  56. data/examples/elem/progressbar.rb +294 -0
  57. data/examples/elem/scrollbar.rb +66 -0
  58. data/examples/elem/tray.rb +90 -0
  59. data/examples/func/iupgetattribute.rb +32 -0
  60. data/examples/func/iupidle.rb +48 -0
  61. data/ext/extconf.rb +27 -0
  62. data/ext/iup-win32/cd.dll +0 -0
  63. data/ext/iup-win32/cd.lib +0 -0
  64. data/ext/iup-win32/cdcontextplus.dll +0 -0
  65. data/ext/iup-win32/cdcontextplus.lib +0 -0
  66. data/ext/iup-win32/cdlua51.lib +0 -0
  67. data/ext/iup-win32/cdluacontextplus51.lib +0 -0
  68. data/ext/iup-win32/cdluaim51.lib +0 -0
  69. data/ext/iup-win32/cdluapdf51.lib +0 -0
  70. data/ext/iup-win32/cdpdf.dll +0 -0
  71. data/ext/iup-win32/cdpdf.lib +0 -0
  72. data/ext/iup-win32/freetype6.dll +0 -0
  73. data/ext/iup-win32/freetype6.lib +0 -0
  74. data/ext/iup-win32/im.dll +0 -0
  75. data/ext/iup-win32/im_avi.dll +0 -0
  76. data/ext/iup-win32/im_capture.dll +0 -0
  77. data/ext/iup-win32/im_ecw.dll +0 -0
  78. data/ext/iup-win32/im_fftw.dll +0 -0
  79. data/ext/iup-win32/im_jp2.dll +0 -0
  80. data/ext/iup-win32/im_process.dll +0 -0
  81. data/ext/iup-win32/im_wmv.dll +0 -0
  82. data/ext/iup-win32/iup.dll +0 -0
  83. data/ext/iup-win32/iup.lib +0 -0
  84. data/ext/iup-win32/iup_pplot.dll +0 -0
  85. data/ext/iup-win32/iup_pplot.lib +0 -0
  86. data/ext/iup-win32/iupcd.dll +0 -0
  87. data/ext/iup-win32/iupcd.lib +0 -0
  88. data/ext/iup-win32/iupcontrols.dll +0 -0
  89. data/ext/iup-win32/iupcontrols.lib +0 -0
  90. data/ext/iup-win32/iupgl.dll +0 -0
  91. data/ext/iup-win32/iupgl.lib +0 -0
  92. data/ext/iup-win32/iupim.dll +0 -0
  93. data/ext/iup-win32/iupim.lib +0 -0
  94. data/ext/iup-win32/iupimglib.dll +0 -0
  95. data/ext/iup-win32/iupimglib.lib +0 -0
  96. data/ext/iup-win32/iuplua51.lib +0 -0
  97. data/ext/iup-win32/iuplua_pplot51.lib +0 -0
  98. data/ext/iup-win32/iupluacd51.lib +0 -0
  99. data/ext/iup-win32/iupluacontrols51.lib +0 -0
  100. data/ext/iup-win32/iupluagl51.lib +0 -0
  101. data/ext/iup-win32/iupluaim51.lib +0 -0
  102. data/ext/iup-win32/iupluaimglib51.lib +0 -0
  103. data/ext/iup-win32/iupluaole51.lib +0 -0
  104. data/ext/iup-win32/iupole.dll +0 -0
  105. data/ext/iup-win32/iupole.lib +0 -0
  106. data/ext/iup-win32/iupstub.lib +0 -0
  107. data/ext/iup-win32/pdflib.dll +0 -0
  108. data/ext/iup-win32/pdflib.lib +0 -0
  109. data/ext/iup.c +1261 -0
  110. data/ext/mkrf_conf.rb +72 -0
  111. data/ext/rb_cd.h +1525 -0
  112. data/ext/rb_iup.h +2446 -0
  113. data/ext/rb_iup_pplot.h +129 -0
  114. data/ext/rb_iupcb.h +13 -0
  115. data/ext/rb_iupcbox.h +40 -0
  116. data/ext/rb_iupcells.h +15 -0
  117. data/ext/rb_iupcolorbar.h +17 -0
  118. data/ext/rb_iupcompat.h +237 -0
  119. data/ext/rb_iupcontrols.h +28 -0
  120. data/ext/rb_iupdef.h +3 -0
  121. data/ext/rb_iupdial.h +24 -0
  122. data/ext/rb_iupgauge.h +15 -0
  123. data/ext/rb_iupgc.h +18 -0
  124. data/ext/rb_iupgetparam.h +72 -0
  125. data/ext/rb_iupgl.h +58 -0
  126. data/ext/rb_iupim.h +25 -0
  127. data/ext/rb_iupmask.h +189 -0
  128. data/ext/rb_iupmatrix.h +80 -0
  129. data/ext/rb_iupole.h +24 -0
  130. data/ext/rb_iupsbox.h +23 -0
  131. data/ext/rb_iupspeech.h +25 -0
  132. data/ext/rb_iupspin.h +29 -0
  133. data/ext/rb_iuptabs.h +29 -0
  134. data/ext/rb_iuptree.h +94 -0
  135. data/ext/rb_iupval.h +24 -0
  136. data/lib/README +1 -0
  137. data/lib/iup.so +0 -0
  138. metadata +187 -0
@@ -0,0 +1,62 @@
1
+ require 'rubygems'
2
+ require 'iup'
3
+
4
+ need_redraw = nil
5
+ cdcanvas = nil
6
+
7
+
8
+ gauge = Iup.Gauge()
9
+ cv = Iup.Canvas()
10
+ bt = Iup.Button("Restart")
11
+ bt.size = "50x50"
12
+ bt.fgcolor = "255 255 255"
13
+ gauge.size = "200x15"
14
+ cv.size = "200x200"
15
+ dlg = Iup.Dialog(Iup.Vbox([cv, Iup.Hbox([gauge, bt])]),:title=>"Redraw test")
16
+
17
+ toggle_redraw = lambda do |ih|
18
+ need_redraw = 1 - need_redraw
19
+ Iup::DEFAULT
20
+ end
21
+
22
+ fake_redraw = lambda do |ih,posx,posy|
23
+ need_redraw = 1
24
+ Iup::DEFAULT
25
+ end
26
+
27
+ redraw = lambda do
28
+ if(need_redraw == 1)
29
+ need_redraw = 0
30
+ bt.fgcolor = "255 0 0"
31
+ Iup.Flush()
32
+
33
+ cdcanvas.CanvasActivate()
34
+ cdcanvas.CanvasForeground(Cd::BLUE)
35
+ cdcanvas.CanvasClear()
36
+
37
+ for i in 0 ... 300000
38
+ cdcanvas.CanvasBox(0, 300, 0, i/1000)
39
+ gauge.value = "%f" % (i/300000.0)
40
+
41
+ Iup.LoopStep()
42
+ end
43
+
44
+ bt.fgcolor = "255 255 255"
45
+ Iup.Flush()
46
+ end
47
+ Iup::DEFAULT
48
+ end
49
+
50
+
51
+ Iup.SetIdle(redraw)
52
+
53
+ dlg.Map()
54
+
55
+ cdcanvas = Cd.CreateCanvas(Cd.CD_IUP, cv)
56
+
57
+ cv.action = fake_redraw
58
+ bt.action = toggle_redraw
59
+
60
+ dlg.ShowXY(Iup::CENTER, Iup::CENTER)
61
+ Iup.MainLoop()
62
+ dlg.Destroy()
@@ -0,0 +1,71 @@
1
+ require 'rubygems'
2
+ require 'iup'
3
+
4
+ # defines icon's image */
5
+ img = [
6
+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
7
+ 1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,
8
+ 1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,2,
9
+ 1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,2,
10
+ 1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,2,
11
+ 1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,2,
12
+ 1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,2,
13
+ 1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,2,
14
+ 1,3,5,5,6,6,6,6,6,6,5,5,6,6,5,5,6,6,5,5,6,6,6,6,6,6,6,5,5,5,4,2,
15
+ 1,3,5,5,6,6,6,6,6,6,5,5,6,6,5,5,6,6,5,5,6,6,6,6,6,6,6,6,5,5,4,2,
16
+ 1,3,5,5,5,5,6,6,5,5,5,5,6,6,5,5,6,6,5,5,6,6,6,5,5,6,6,6,5,5,4,2,
17
+ 1,3,5,5,5,5,6,6,5,5,5,5,6,6,5,5,6,6,5,5,6,6,5,5,5,5,6,6,5,5,4,2,
18
+ 1,3,5,5,5,5,6,6,5,5,5,5,6,6,5,5,6,6,5,5,6,6,5,5,5,5,6,6,5,5,4,2,
19
+ 1,3,5,5,5,5,6,6,5,5,5,5,6,6,5,5,6,6,5,5,6,6,5,5,5,5,6,6,5,5,4,2,
20
+ 1,3,5,5,5,5,6,6,5,5,5,5,6,6,5,5,6,6,5,5,6,6,6,5,5,6,6,6,5,5,4,2,
21
+ 1,3,5,5,5,5,6,6,5,5,5,5,6,6,5,5,6,6,5,5,6,6,6,6,6,6,6,6,5,5,4,2,
22
+ 1,3,5,5,5,5,6,6,5,5,5,5,6,6,5,5,6,6,5,5,6,6,6,6,6,6,6,5,5,5,4,2,
23
+ 1,3,5,5,5,5,6,6,5,5,5,5,6,6,5,5,6,6,5,5,6,6,5,5,5,5,5,5,5,5,4,2,
24
+ 1,3,5,5,5,5,6,6,5,5,5,5,6,6,5,5,6,6,5,5,6,6,5,5,5,5,5,5,5,5,4,2,
25
+ 1,3,5,5,5,5,6,6,5,5,5,5,6,6,5,5,6,6,5,5,6,6,5,5,5,5,5,5,5,5,4,2,
26
+ 1,3,5,5,5,5,6,6,5,5,5,5,6,6,5,5,6,6,5,5,6,6,5,5,5,5,5,5,5,5,4,2,
27
+ 1,3,5,5,5,5,6,6,5,5,5,5,6,6,5,5,6,6,5,5,6,6,5,5,5,5,5,5,5,5,4,2,
28
+ 1,3,5,5,6,6,6,6,6,6,5,5,6,6,6,6,6,6,5,5,6,6,5,5,5,5,5,5,5,5,4,2,
29
+ 1,3,5,5,6,6,6,6,6,6,5,5,5,6,6,6,6,5,5,5,6,6,5,5,5,5,5,5,5,5,4,2,
30
+ 1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,2,
31
+ 1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,2,
32
+ 1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,2,
33
+ 1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,2,
34
+ 1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,2,
35
+ 1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,2,
36
+ 1,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2,
37
+ 1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
38
+ ]
39
+
40
+ quit_cb = lambda do |ih|
41
+ Iup::CLOSE
42
+ end
43
+
44
+
45
+ # Creating dialog's icon */
46
+ icon = Iup.Image(32, 32, img)
47
+ icon["1"] = "255 255 255"
48
+ icon["2"] = "000 000 000"
49
+ icon["3"] = "226 226 226"
50
+ icon["4"] = "128 128 128"
51
+ icon["5"] = "192 192 192"
52
+ icon["6"] = "000 000 255"
53
+ Iup.SetHandle("icon", icon)
54
+
55
+ # Creating dialog's content */
56
+ quit_bt = Iup.Button(:title=>"Quit",:action=>quit_cb)
57
+ Iup.SetHandle("quit", quit_bt)
58
+
59
+ # Creating dialog's menu */
60
+ options = Iup.Menu([Iup.Item(:title=>"Exit",:action=>quit_cb)])
61
+ submenu = Iup.Submenu("File", options)
62
+ menu = Iup.Menu([submenu])
63
+ Iup.SetHandle("menu", menu)
64
+
65
+ # Creating main dialog */
66
+ dialog = Iup.Dialog(Iup.Vbox([quit_bt]),:title=>"IupDialog",:menu=>"menu",:cursor=>"CROSS",:icon=>"icon",:defaultesc=>"quit")
67
+
68
+ dialog.ShowXY(Iup::CENTER, Iup::CENTER)
69
+ Iup.MainLoop()
70
+ dialog.Destroy()
71
+ icon.Destroy()
@@ -0,0 +1,25 @@
1
+ require 'rubygems'
2
+ require 'iup'
3
+
4
+
5
+ quit_cb = lambda do |ih|
6
+ Iup::CLOSE
7
+ end
8
+
9
+ # Creating the button */
10
+ quit_bt = Iup.Button("Quit", quit_cb)
11
+
12
+ # the container with a label and the button */
13
+ vbox = Iup.Vbox([
14
+ Iup.Label(:title=>"Very Long Text Label",:attr=>"EXPAND=YES, ALIGNMENT=ACENTER"),
15
+ quit_bt
16
+ ],:alignment=>"ACENTER",:margin=>"10x10",:gap=>5)
17
+
18
+
19
+ # Creating the dialog */
20
+ dialog = Iup.Dialog(vbox,:title=>"Dialog Title")
21
+ dialog.SetAttributeHandle("DEFAULTESC", quit_bt)
22
+
23
+ dialog.Show()
24
+ Iup.MainLoop()
25
+ dialog.Destroy()
@@ -0,0 +1,51 @@
1
+ require 'rubygems'
2
+ require 'iup'
3
+
4
+ # Creates frame with left aligned button */
5
+ frame_left = Iup.Frame(
6
+ Iup.Hbox([
7
+ Iup.Button("Ok"),
8
+ Iup.Fill()
9
+ ]
10
+ )
11
+ )
12
+
13
+ # Sets frame's title */
14
+ frame_left.title = "Left aligned"
15
+
16
+ # Creates frame with centered button */
17
+ frame_center = Iup.Frame(
18
+ Iup.Hbox([
19
+ Iup.Fill(),
20
+ Iup.Button("Ok"),
21
+ Iup.Fill()])
22
+ )
23
+
24
+ # Sets frame's title */
25
+ frame_center.title = "Centered"
26
+
27
+ # Creates frame with right aligned button */
28
+ frame_right = Iup.Frame(
29
+ Iup.Hbox([
30
+ Iup.Fill(),
31
+ Iup.Button( "Ok", "" )])
32
+ )
33
+
34
+ # Sets frame's title */
35
+ frame_right.title = "Right aligned"
36
+
37
+ # Creates dialog with these three frames */
38
+ dialog = Iup.Dialog(
39
+ Iup.Vbox([
40
+ frame_left,
41
+ frame_center,
42
+ frame_right])
43
+ )
44
+
45
+ # Sets dialog's size and title */
46
+ dialog.attr = "SIZE=120, TITLE=IupFill"
47
+
48
+ dialog.Show # Shows dialog in the center of the screen */
49
+ Iup.MainLoop # Initializes IUP main loop */
50
+ dialog.Destroy
51
+
@@ -0,0 +1,25 @@
1
+ require 'rubygems'
2
+ require 'iup'
3
+
4
+ # Creates frame with a label */
5
+ frame = Iup.Frame(
6
+ Iup.Hbox([
7
+ Iup.Fill(),
8
+ Iup.Label("IupFrame Attributes:\nFGCOLOR = \"255 0 0\"\nSIZE = \"EIGHTHxEIGHTH\"\nTITLE = \"This is the frame\"\nMARGIN = \"10x10\""),
9
+ Iup.Fill()]
10
+ )
11
+ )
12
+
13
+ # Sets frame's attributes */
14
+ frame.attr = "FGCOLOR=\"255 0 0\", SIZE=EIGHTHxEIGHTH, TITLE=\"This is the frame\", MARGIN=10x10"
15
+
16
+ # Creates dialog with these three frames */
17
+ dialog = Iup.Dialog(frame)
18
+
19
+ # Sets dialog's title */
20
+ dialog.title = "IupFrame"
21
+
22
+ dialog.Show # Shows dialog in the center of the screen */
23
+ Iup.MainLoop # Initializes IUP main loop */
24
+ dialog.Destroy
25
+
@@ -0,0 +1,68 @@
1
+ require 'rubygems'
2
+ require 'iup'
3
+
4
+ # Creates frame with three top aligned buttons */
5
+ fr1 = Iup.Frame(
6
+ h1=Iup.Hbox([
7
+ Iup.Fill(),
8
+ b11=Iup.Button("1"),
9
+ b12=Iup.Button("2"),
10
+ b13=Iup.Button("3"),
11
+ Iup.Fill()]
12
+ )
13
+ )
14
+ fr1.title = "ALIGNMENT=ATOP, GAP=10, SIZE=200"
15
+ b11.size = "30x30"
16
+ b12.size = "30x40"
17
+ b13.size = "30x50"
18
+ h1.attr = "ALIGNMENT=ATOP, GAP=10, SIZE=200" # Sets hbox's alignment, gap and size */
19
+
20
+ # Creates frame with three buttons */
21
+ fr2 = Iup.Frame(
22
+ h2=Iup.Hbox([
23
+ Iup.Fill(),
24
+ b21=Iup.Button("1"),
25
+ b22=Iup.Button("2"),
26
+ b23=Iup.Button("3"),
27
+ Iup.Fill()]
28
+ )
29
+ )
30
+ fr2.title = "ALIGNMENT=ACENTER, GAP=20"
31
+ b21.size = "30x30"
32
+ b22.size = "30x40"
33
+ b23.size = "30x50"
34
+ h2.attr = "ALIGNMENT=ACENTER, GAP=20" # Sets hbox's alignment and gap */
35
+
36
+ # Creates frame with three bottom aligned buttons */
37
+ fr3 = Iup.Frame(
38
+ h3=Iup.Hbox([
39
+ Iup.Fill(),
40
+ b31=Iup.Button("1"),
41
+ b32=Iup.Button("2"),
42
+ b33=Iup.Button("3"),
43
+ Iup.Fill()]
44
+ )
45
+ )
46
+ fr3.title = "ALIGNMENT = ABOTTOM, SIZE = 150"
47
+ b31.size = "30x30"
48
+ b32.size = "30x40"
49
+ b33.size = "30x50"
50
+ h3.attr = "ALIGNMENT = ABOTTOM, SIZE = 150" # Sets hbox's alignment and size */
51
+
52
+ # Creates dialog with the three frames */
53
+ dialog = Iup.Dialog(
54
+ Iup.Vbox([
55
+ fr1,
56
+ fr2,
57
+ fr3]
58
+ )
59
+ )
60
+
61
+ dialog.title = "IupHbox" # Sets dialog's title */
62
+
63
+ dialog.ShowXY(Iup::CENTER, Iup::CENTER ) # Shows dialog in the center of the screen */
64
+
65
+ dialog.Show # Shows dialog in the center of the screen */
66
+ Iup.MainLoop # Initializes IUP main loop */
67
+ dialog.Destroy
68
+
@@ -0,0 +1,113 @@
1
+ require 'rubygems'
2
+ require "iup"
3
+
4
+ pixmap_x = [
5
+ 1,2,3,3,3,3,3,3,3,2,1,
6
+ 2,1,2,3,3,3,3,3,2,1,2,
7
+ 3,2,1,2,3,3,3,2,1,2,3,
8
+ 3,3,2,1,2,3,2,1,2,3,3,
9
+ 3,3,3,2,1,2,1,2,3,3,3,
10
+ 3,3,3,3,2,1,2,3,3,3,3,
11
+ 3,3,3,2,1,2,1,2,3,3,3,
12
+ 3,3,2,1,2,3,2,1,2,3,3,
13
+ 3,2,1,2,3,3,3,2,1,2,3,
14
+ 2,1,2,3,3,3,3,3,2,1,2,
15
+ 1,2,3,3,3,3,3,3,3,2,1
16
+ ]
17
+
18
+ pixmap_cursor = [
19
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
20
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
21
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
22
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
23
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
24
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
25
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
26
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
27
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
28
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,
29
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,
30
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,
31
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,
32
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,
33
+ 0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,2,2,2,0,0,0,0,0,0,0,0,0,0,0,
34
+ 0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,
35
+ 0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
36
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
37
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
38
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
39
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
40
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
41
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
42
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
43
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
44
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
45
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
46
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
47
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
48
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
49
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
50
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
51
+ ]
52
+
53
+
54
+ img_x = Iup.Image( 11, 11, pixmap_x )
55
+ img_x["1"] = "0 1 0"
56
+ img_x["2"] = "255 0 0"
57
+ img_x["3"] = "255 255 0"
58
+
59
+ Iup.SetHandle( "img_x", img_x )
60
+ img_cursor = Iup.Image( 32, 32, pixmap_cursor )
61
+
62
+ img_cursor["1"] = "255 0 0"
63
+ img_cursor["2"] = "128 0 0"
64
+
65
+ img_cursor.hotspot = "21:10"
66
+
67
+ Iup.SetHandle( "img_cursor", img_cursor )
68
+
69
+ btn = Iup.Button( "Dummy")
70
+ btn.image = "img_x"
71
+
72
+ lbl = Iup.Label( "Dummy" )
73
+ lbl.image = "img_x"
74
+
75
+ tgl = Iup.Toggle("Dummy")
76
+ tgl.image = "img_x"
77
+
78
+ tgl_radio_1 = Iup.Toggle("Dummy")
79
+ tgl_radio_2 = Iup.Toggle("Dummy")
80
+
81
+ tgl_radio_1.image = "img_x"
82
+ tgl_radio_2.image = "img_x"
83
+
84
+ string_size = "\"X\" image width = #{img_x.width} \"X\" image height = #{img_x.height}"
85
+
86
+ lbl_size = Iup.Label( string_size )
87
+
88
+ frm_btn = Iup.Frame( btn )
89
+ frm_lbl = Iup.Frame( lbl )
90
+ frm_tgl = Iup.Frame( tgl )
91
+ frm_tgl_radio = Iup.Frame( Iup.Radio( Iup.Vbox([ tgl_radio_1, tgl_radio_2]) ) )
92
+
93
+ frm_btn.attr = "TITLE=button, SIZE=EIGHTHxEIGHTH"
94
+ frm_lbl.attr = "TITLE=label , SIZE=EIGHTHxEIGHTH"
95
+ frm_tgl.attr = "TITLE=toggle, SIZE=EIGHTHxEIGHTH"
96
+ frm_tgl_radio.attr = "TITLE=radio, SIZE=EIGHTHxEIGHTH"
97
+
98
+ dlg = Iup.Dialog(
99
+ Iup.Vbox([
100
+ Iup.Hbox([ frm_btn, frm_lbl, frm_tgl, frm_tgl_radio]),
101
+ Iup.Fill(),
102
+ Iup.Hbox([ Iup.Fill(), lbl_size, Iup.Fill()])]
103
+ )
104
+ )
105
+
106
+ dlg.attr = "TITLE=\"Iup.Image Example\", SIZE=HALFxQUARTER, CURSOR=img_cursor"
107
+
108
+ dlg.ShowXY(Iup::CENTER, Iup::CENTER)
109
+
110
+ Iup.MainLoop()
111
+ dlg.Destroy()
112
+ img_x.Destroy()
113
+ img_cursor.Destroy()
@@ -0,0 +1,60 @@
1
+ require 'rubygems'
2
+ require "iup"
3
+
4
+ item_save_cb = lambda do |ih,*c|
5
+ Iup.Message("Test","Saved!")
6
+ Iup::DEFAULT
7
+ end
8
+
9
+ item_autosave_cb = lambda do |ih,*c|
10
+ item_autosave = Iup.GetHandle("item_autosave")
11
+ if (item_autosave.value=="ON")
12
+ Iup.Message("Auto Save","OFF")
13
+ item_autosave.value = "OFF"
14
+ else
15
+ Iup.Message("Auto Save","ON")
16
+ item_autosave.value = "ON"
17
+ end
18
+
19
+ Iup::DEFAULT
20
+ end
21
+
22
+ item_exit_cb = lambda do |ih,*c|
23
+ return Iup::CLOSE
24
+ end
25
+
26
+ text = Iup.Text(:value=>"This is an empty text")
27
+
28
+ item_save = Iup.Item("Save\tCtrl+S") # this is NOT related with the Ctrl+S key callback, it will just align the text at right */
29
+ item_autosave = Iup.Item("&Auto Save")
30
+ item_exit = Iup.Item("Exit")
31
+
32
+ item_exit.key = "K_x" # this is NOT related with the Ctrl+X key callback, it will just underline the letter */
33
+
34
+ item_exit.action = item_exit_cb
35
+ item_autosave.action = item_autosave_cb
36
+
37
+ item_autosave.value = "ON"
38
+ Iup.SetHandle("item_autosave", item_autosave) # giving a name to a iup handle */
39
+
40
+ menu_file = Iup.Menu([item_save, item_autosave, item_exit])
41
+
42
+ submenu_file = Iup.Submenu("File", menu_file)
43
+
44
+ menu = Iup.Menu([submenu_file])
45
+
46
+ Iup.SetHandle("menu", menu)
47
+
48
+ dlg = Iup.Dialog(Iup.Vbox([text, Iup.Button("Test")]))
49
+
50
+ dlg.margin = "10x10"
51
+ dlg.gap = 10
52
+ dlg.title = "IupItem"
53
+ dlg.menu = "menu"
54
+ dlg.K_cX = item_exit_cb # this will also affect the Iup.Text if at focus, since it is used for clipboard cut */
55
+ dlg.K_cA = item_autosave_cb # this will also affect the Iup.Text if at focus, since it is used for select all */
56
+ dlg.K_cS = item_save_cb
57
+
58
+ dlg.ShowXY(Iup::CENTER, Iup::CENTER)
59
+ Iup.MainLoop()
60
+ dlg.Destroy()