fxruby 1.6.28-x86-mingw32 → 1.6.29-x86-mingw32

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 (231) hide show
  1. checksums.yaml +7 -7
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/.gitignore +1 -1
  5. data/History.txt +13 -1
  6. data/Manifest.txt +1 -1
  7. data/Rakefile +49 -39
  8. data/examples/RAA.rb +8 -2
  9. data/examples/WhatAQuietStiff.rb +2 -2
  10. data/examples/babelfish.rb +9 -2
  11. data/examples/browser.rb +1 -1
  12. data/examples/button.rb +3 -9
  13. data/examples/canvasdemo.rb +3 -3
  14. data/examples/charts.rb +9 -2
  15. data/examples/dctest.rb +4 -10
  16. data/examples/gembrowser.rb +4 -4
  17. data/examples/gltest.rb +3 -3
  18. data/examples/glviewer.rb +3 -9
  19. data/examples/groupbox.rb +3 -9
  20. data/examples/header.rb +1 -1
  21. data/examples/hello2.rb +1 -1
  22. data/examples/iRAA.rb +7 -1
  23. data/examples/iconlist.rb +3 -9
  24. data/examples/imageviewer.rb +3 -9
  25. data/examples/mditest.rb +1 -1
  26. data/examples/raabrowser.rb +8 -2
  27. data/examples/rmagick.rb +7 -1
  28. data/examples/shutter.rb +3 -9
  29. data/examples/splitter.rb +3 -9
  30. data/examples/table.rb +26 -3
  31. data/examples/textedit/textedit.rb +3 -3
  32. data/ext/fox16_c/FXRbApp.cpp +1 -1
  33. data/ext/fox16_c/FXRuby.cpp +18 -9
  34. data/ext/fox16_c/extconf.rb +252 -11
  35. data/ext/fox16_c/include/FXRbTreeList.h +3 -3
  36. data/ext/fox16_c/include/FXRuby.h +7 -6
  37. data/ext/fox16_c/markfuncs.cpp +3 -22
  38. data/ext/fox16_c/unregisterOwnedObjects.cpp +1 -2
  39. data/lib/1.8/fox16_c.so +0 -0
  40. data/lib/1.9/fox16_c.so +0 -0
  41. data/lib/2.0/fox16_c.so +0 -0
  42. data/lib/2.1/fox16_c.so +0 -0
  43. data/lib/2.2/fox16_c.so +0 -0
  44. data/lib/fox16.rb +16 -6
  45. data/lib/fox16/core.rb +14 -0
  46. data/lib/fox16/glshapes.rb +1 -0
  47. data/lib/fox16/version.rb +1 -1
  48. data/lib/x86-mingw32/libFOX-1.6-0.dll +0 -0
  49. data/lib/x86-mingw32/libfxscintilla-20.dll +0 -0
  50. data/lib/x86-mingw32/libgcc_s_sjlj-1.dll +0 -0
  51. data/lib/x86-mingw32/libjpeg-8.dll +0 -0
  52. data/lib/x86-mingw32/libpng15-15.dll +0 -0
  53. data/lib/x86-mingw32/libstdc++-6.dll +0 -0
  54. data/lib/x86-mingw32/libtiff-5.dll +0 -0
  55. data/lib/x86-mingw32/libwinpthread-1.dll +0 -0
  56. data/lib/x86-mingw32/zlib1.dll +0 -0
  57. data/rdoc-sources/FXBMPIcon.rb +1 -1
  58. data/rdoc-sources/FXImage.rb +8 -2
  59. data/swig-interfaces/FX4Splitter.i +0 -6
  60. data/swig-interfaces/FX7Segment.i +0 -8
  61. data/swig-interfaces/FXAccelTable.i +0 -7
  62. data/swig-interfaces/FXApp.i +15 -23
  63. data/swig-interfaces/FXArrowButton.i +0 -10
  64. data/swig-interfaces/FXBMPIcon.i +0 -2
  65. data/swig-interfaces/FXBMPImage.i +0 -2
  66. data/swig-interfaces/FXBitmap.i +0 -6
  67. data/swig-interfaces/FXButton.i +0 -4
  68. data/swig-interfaces/FXCURCursor.i +0 -2
  69. data/swig-interfaces/FXCanvas.i +0 -2
  70. data/swig-interfaces/FXCheckButton.i +0 -7
  71. data/swig-interfaces/FXChoiceBox.i +0 -8
  72. data/swig-interfaces/FXColorBar.i +0 -8
  73. data/swig-interfaces/FXColorDialog.i +0 -4
  74. data/swig-interfaces/FXColorList.i +0 -9
  75. data/swig-interfaces/FXColorRing.i +0 -40
  76. data/swig-interfaces/FXColorSelector.i +0 -25
  77. data/swig-interfaces/FXColorWell.i +0 -10
  78. data/swig-interfaces/FXColorWheel.i +0 -15
  79. data/swig-interfaces/FXComboBox.i +0 -7
  80. data/swig-interfaces/FXComposeContext.i +0 -5
  81. data/swig-interfaces/FXComposite.i +0 -4
  82. data/swig-interfaces/FXCursor.i +0 -9
  83. data/swig-interfaces/FXDC.i +0 -26
  84. data/swig-interfaces/FXDCPrint.i +0 -19
  85. data/swig-interfaces/FXDataTarget.i +0 -5
  86. data/swig-interfaces/FXDebugTarget.i +0 -4
  87. data/swig-interfaces/FXDelegator.i +0 -2
  88. data/swig-interfaces/FXDial.i +0 -14
  89. data/swig-interfaces/FXDialogBox.i +0 -2
  90. data/swig-interfaces/FXDict.i +0 -27
  91. data/swig-interfaces/FXDirDialog.i +0 -5
  92. data/swig-interfaces/FXDirList.i +0 -31
  93. data/swig-interfaces/FXDirSelector.i +0 -19
  94. data/swig-interfaces/FXDockBar.i +0 -8
  95. data/swig-interfaces/FXDockHandler.i +0 -10
  96. data/swig-interfaces/FXDockSite.i +0 -7
  97. data/swig-interfaces/FXDockTitle.i +0 -6
  98. data/swig-interfaces/FXDragCorner.i +0 -9
  99. data/swig-interfaces/FXDrawable.i +0 -7
  100. data/swig-interfaces/FXFileDialog.i +0 -5
  101. data/swig-interfaces/FXFileDict.i +0 -5
  102. data/swig-interfaces/FXFileList.i +0 -23
  103. data/swig-interfaces/FXFileSelector.i +0 -33
  104. data/swig-interfaces/FXFoldingList.i +6 -19
  105. data/swig-interfaces/FXFont.i +0 -20
  106. data/swig-interfaces/FXFontDialog.i +3 -7
  107. data/swig-interfaces/FXFontSelector.i +3 -29
  108. data/swig-interfaces/FXFrame.i +0 -20
  109. data/swig-interfaces/FXGIFIcon.i +0 -2
  110. data/swig-interfaces/FXGIFImage.i +0 -2
  111. data/swig-interfaces/FXGLCanvas.i +0 -4
  112. data/swig-interfaces/FXGLContext.i +0 -4
  113. data/swig-interfaces/FXGLShape.i +0 -11
  114. data/swig-interfaces/FXGLViewer.i +0 -65
  115. data/swig-interfaces/FXGradientBar.i +8 -9
  116. data/swig-interfaces/FXGroupBox.i +0 -6
  117. data/swig-interfaces/FXHeader.i +0 -24
  118. data/swig-interfaces/FXHorizontalFrame.i +0 -2
  119. data/swig-interfaces/FXICOIcon.i +0 -2
  120. data/swig-interfaces/FXICOImage.i +0 -2
  121. data/swig-interfaces/FXIcon.i +0 -7
  122. data/swig-interfaces/FXIconList.i +0 -51
  123. data/swig-interfaces/FXIconSource.i +0 -4
  124. data/swig-interfaces/FXId.i +0 -4
  125. data/swig-interfaces/FXImage.i +21 -4
  126. data/swig-interfaces/FXImageFrame.i +0 -7
  127. data/swig-interfaces/FXImageView.i +0 -6
  128. data/swig-interfaces/FXInputDialog.i +0 -8
  129. data/swig-interfaces/FXJPGIcon.i +0 -4
  130. data/swig-interfaces/FXJPGImage.i +0 -4
  131. data/swig-interfaces/FXKnob.i +0 -12
  132. data/swig-interfaces/FXLabel.i +0 -16
  133. data/swig-interfaces/FXList.i +0 -33
  134. data/swig-interfaces/FXListBox.i +0 -7
  135. data/swig-interfaces/FXMDIButton.i +0 -12
  136. data/swig-interfaces/FXMDIChild.i +0 -51
  137. data/swig-interfaces/FXMDIClient.i +0 -6
  138. data/swig-interfaces/FXMainWindow.i +0 -2
  139. data/swig-interfaces/FXMat3d.i +0 -2
  140. data/swig-interfaces/FXMat3f.i +0 -2
  141. data/swig-interfaces/FXMat4d.i +0 -2
  142. data/swig-interfaces/FXMat4f.i +0 -2
  143. data/swig-interfaces/FXMatrix.i +0 -4
  144. data/swig-interfaces/FXMemoryStream.i +0 -1
  145. data/swig-interfaces/FXMenuBar.i +0 -2
  146. data/swig-interfaces/FXMenuButton.i +0 -7
  147. data/swig-interfaces/FXMenuCaption.i +0 -15
  148. data/swig-interfaces/FXMenuCascade.i +0 -5
  149. data/swig-interfaces/FXMenuCheck.i +0 -8
  150. data/swig-interfaces/FXMenuCommand.i +0 -5
  151. data/swig-interfaces/FXMenuPane.i +0 -2
  152. data/swig-interfaces/FXMenuRadio.i +0 -8
  153. data/swig-interfaces/FXMenuSeparator.i +0 -5
  154. data/swig-interfaces/FXMenuTitle.i +0 -4
  155. data/swig-interfaces/FXMessageBox.i +13 -10
  156. data/swig-interfaces/FXOptionMenu.i +0 -7
  157. data/swig-interfaces/FXPCXIcon.i +0 -2
  158. data/swig-interfaces/FXPCXImage.i +0 -2
  159. data/swig-interfaces/FXPNGIcon.i +0 -2
  160. data/swig-interfaces/FXPNGImage.i +0 -2
  161. data/swig-interfaces/FXPPMIcon.i +0 -2
  162. data/swig-interfaces/FXPPMImage.i +0 -2
  163. data/swig-interfaces/FXPacker.i +0 -23
  164. data/swig-interfaces/FXPicker.i +0 -2
  165. data/swig-interfaces/FXPopup.i +0 -18
  166. data/swig-interfaces/FXPrintDialog.i +0 -31
  167. data/swig-interfaces/FXProgressBar.i +0 -12
  168. data/swig-interfaces/FXProgressDialog.i +0 -8
  169. data/swig-interfaces/FXRGBIcon.i +0 -2
  170. data/swig-interfaces/FXRGBImage.i +0 -2
  171. data/swig-interfaces/FXRadioButton.i +0 -7
  172. data/swig-interfaces/FXRecentFiles.i +0 -6
  173. data/swig-interfaces/FXRegion.i +0 -2
  174. data/swig-interfaces/FXRegistry.i +0 -12
  175. data/swig-interfaces/FXReplaceDialog.i +0 -15
  176. data/swig-interfaces/FXRootWindow.i +0 -6
  177. data/swig-interfaces/FXRuler.i +0 -45
  178. data/swig-interfaces/FXScrollArea.i +0 -14
  179. data/swig-interfaces/FXScrollBar.i +0 -2
  180. data/swig-interfaces/FXScrollPane.i +0 -10
  181. data/swig-interfaces/FXScrollWindow.i +0 -2
  182. data/swig-interfaces/FXSearchDialog.i +0 -2
  183. data/swig-interfaces/FXSeparator.i +0 -9
  184. data/swig-interfaces/FXSettings.i +0 -11
  185. data/swig-interfaces/FXShell.i +0 -4
  186. data/swig-interfaces/FXShutter.i +0 -14
  187. data/swig-interfaces/FXSlider.i +0 -19
  188. data/swig-interfaces/FXSpinner.i +0 -9
  189. data/swig-interfaces/FXSplashWindow.i +0 -8
  190. data/swig-interfaces/FXSplitter.i +0 -10
  191. data/swig-interfaces/FXSpring.i +0 -8
  192. data/swig-interfaces/FXStatusBar.i +0 -5
  193. data/swig-interfaces/FXStatusLine.i +0 -8
  194. data/swig-interfaces/FXStringDict.i +0 -3
  195. data/swig-interfaces/FXSwitcher.i +0 -4
  196. data/swig-interfaces/FXTGAIcon.i +0 -2
  197. data/swig-interfaces/FXTGAImage.i +0 -2
  198. data/swig-interfaces/FXTIFIcon.i +0 -4
  199. data/swig-interfaces/FXTIFImage.i +0 -4
  200. data/swig-interfaces/FXTabBar.i +0 -5
  201. data/swig-interfaces/FXTabBook.i +0 -2
  202. data/swig-interfaces/FXTabItem.i +0 -2
  203. data/swig-interfaces/FXTable.i +0 -17
  204. data/swig-interfaces/FXToggleButton.i +0 -12
  205. data/swig-interfaces/FXToolBarGrip.i +0 -4
  206. data/swig-interfaces/FXToolBarShell.i +0 -16
  207. data/swig-interfaces/FXToolBarTab.i +0 -13
  208. data/swig-interfaces/FXToolTip.i +0 -10
  209. data/swig-interfaces/FXTopWindow.i +0 -17
  210. data/swig-interfaces/FXTranslator.i +0 -2
  211. data/swig-interfaces/FXTreeList.i +18 -75
  212. data/swig-interfaces/FXTreeListBox.i +18 -38
  213. data/swig-interfaces/FXVerticalFrame.i +0 -2
  214. data/swig-interfaces/FXVisual.i +0 -38
  215. data/swig-interfaces/FXWindow.i +3 -53
  216. data/swig-interfaces/FXWizard.i +0 -17
  217. data/swig-interfaces/FXXBMIcon.i +0 -2
  218. data/swig-interfaces/FXXBMImage.i +0 -2
  219. data/swig-interfaces/FXXPMIcon.i +0 -2
  220. data/swig-interfaces/FXXPMImage.i +0 -2
  221. data/swig-interfaces/fxdefs.i +33 -35
  222. data/swig-interfaces/ruby-typemaps.i +19 -2
  223. data/test/TC_FXBMPImage.rb +13 -0
  224. data/test/TC_FXFileStream.rb +3 -3
  225. data/test/TC_FXImage.rb +40 -2
  226. data/test/TC_FXSize.rb +12 -0
  227. data/test/TC_FXWindow.rb +26 -0
  228. data/test/TC_Misc.rb +2 -0
  229. metadata +177 -161
  230. metadata.gz.sig +0 -0
  231. data/Rakefile.cross +0 -421
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
- ---
2
- SHA1:
3
- data.tar.gz: d2d5a7e838ffbb025dc6f829d77df527c98bbafc
4
- metadata.gz: d5801b4b7146ce705975270e067013563c65e741
5
- SHA512:
6
- data.tar.gz: 8d481648d5e950f2cbc418ea78a9a8d7e64c74b330d8156af55e313e7b267bb2938ff0d3313dd3376fd69f1426da71aec17a7904ec6a1f928b0baf2b7d1a7672
7
- metadata.gz: 1f26f6fb4551ed5b22834d2a870c7a5dab1fa32cea61888e41e9c8285b1d3f0abc2b5acd4002a5f4f7995843d647a7be080e5b844d9452bbfcdf2ce31e41f34c
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5623ef4817f21110e4c2d53053569acaaa6f2ce8
4
+ data.tar.gz: 29c507a0b45a9380fb745c337c56919477a2c15f
5
+ SHA512:
6
+ metadata.gz: b02139de06f426f3a1e4ff172a67e6a4f276ac1d100e297ed3767cb7701ceec9458fda8f1b0acfff70813ff7e040f1976c098efb0e2bdf76c35c58054a4d2858
7
+ data.tar.gz: a2ce5927d1950531934f07cb855f9f4c05fec71f5a43d9c1d3de768721a00b74266040d94e8c72f6cd306b5c05c6222bde4f6f89d64b23f3466d79a1a5a14a66
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/.gitignore CHANGED
@@ -6,7 +6,7 @@ ext/fox16_c/*_wrap.cpp
6
6
  ext/fox16_c/*.o
7
7
  ext/fox16_c/conftest.dSYM
8
8
  ext/fox16_c/include/inlinestubs.h
9
- ext/fox16_c/librb.c
9
+ ext/fox16_c/swigruby.h
10
10
  ext/fox16_c/fox16.bundle
11
11
  ext/fox16_c/mkmf.log
12
12
  lib/fox16/kwargs.rb
data/History.txt CHANGED
@@ -1,6 +1,18 @@
1
- === 1.6.28 / 2013-06-28
1
+ === 1.6.29 / 2015-02-17
2
+
3
+ * Add Windows binaries for Ruby-2.1 and 2.2.
4
+ * Use shared libs for Windows binary gems to reduce gem size.
5
+ * Allow non owned assignment of image data to FXImage derivations
6
+ without copy'ing pixel data.
7
+ * Allow retrival of parts of the pixel data.
8
+ * Fix namespace specifier for FXRGB in kwargs.rb.
9
+ * Change GC'ing of TreeListBox and FXTreeItem. Fixes #10
10
+ * Update to swig version 2.0 or newer. Fixes #13
11
+
12
+ === 1.6.28 / 2013-07-05
2
13
 
3
14
  * Fix build for Ruby-2.0.0-p127+
15
+ * Update libraries for win32 build: libfox-1.6.49
4
16
 
5
17
  === 1.6.27 / 2013-04-05
6
18
 
data/Manifest.txt CHANGED
@@ -5,7 +5,6 @@ History.txt
5
5
  Manifest.txt
6
6
  README.rdoc
7
7
  Rakefile
8
- Rakefile.cross
9
8
  TODO
10
9
  doap.rdf.erb
11
10
  examples/RAA.rb
@@ -1182,6 +1181,7 @@ test/TC_FXVec3d.rb
1182
1181
  test/TC_FXVec3f.rb
1183
1182
  test/TC_FXVec4f.rb
1184
1183
  test/TC_FXViewport.rb
1184
+ test/TC_FXWindow.rb
1185
1185
  test/TC_FXXBMIcon.rb
1186
1186
  test/TC_FXXBMImage.rb
1187
1187
  test/TC_FXXPMIcon.rb
data/Rakefile CHANGED
@@ -3,7 +3,6 @@ require 'hoe'
3
3
  require 'erb'
4
4
  require 'rake/extensiontask'
5
5
  require './lib/fox16/version.rb'
6
- load 'Rakefile.cross'
7
6
 
8
7
  # Use forked process for chdir'ed environment, to allow parallel execution with drake
9
8
  module FileUtils
@@ -19,11 +18,9 @@ end
19
18
 
20
19
  # Some constants we'll need
21
20
  PKG_VERSION = Fox.fxrubyversion
22
- # TODO: Don't depend on cross compilation task
23
- FXSCINTILLA_INSTALL_DIR = Pathname( CrossLibraries.first.static_libfxscintilla_builddir ).expand_path
24
21
 
25
- SWIG = (RUBY_PLATFORM =~ /mingw/) ? "swig-1.3.22.exe" : "swig-1.3.22"
26
- SWIGFLAGS = "-fcompact -noruntime -c++ -ruby -no_default -I../fox-includes"
22
+ SWIG = (RUBY_PLATFORM =~ /mingw/) ? "swig.exe" : "swig"
23
+ SWIGFLAGS = "-c++ -ruby -nodefaultdtor -nodefaultctor -w302 -features compactdefaultargs -I../fox-includes"
27
24
  SWIG_LIB = `#{SWIG} -swiglib`.chomp
28
25
  SWIG_MODULES = {
29
26
  "core.i" => "core_wrap.cpp",
@@ -50,7 +47,7 @@ SWIG_MODULES = {
50
47
  hoe = Hoe.spec "fxruby" do
51
48
  # ... project specific data ...
52
49
  self.blog_categories = %w{FXRuby}
53
- self.clean_globs = [".config", "ext/fox16_c/Makefile", "ext/fox16_c/*.o", "ext/fox16_c/*.bundle", "ext/fox16_c/mkmf.log", "ext/fox16_c/conftest.dSYM", "ext/fox16_c/include/swigrubyrun.h", "ext/fox16_c/*_wrap.cpp"]
50
+ self.clean_globs = [".config", "ext/fox16_c/Makefile", "ext/fox16_c/*.o", "ext/fox16_c/*.bundle", "ext/fox16_c/mkmf.log", "ext/fox16_c/conftest.dSYM", "ext/fox16_c/include/swigrubyrun.h", "ext/fox16_c/librb.c", "ext/fox16_c/include/inlinestubs.h", "ext/fox16_c/*_wrap.cpp"]
54
51
  developer("Lyle Johnson", "lyle@lylejohnson.name")
55
52
  developer("Lars Kanis", "kanis@comcard.de")
56
53
  self.extra_rdoc_files = ["rdoc-sources", File.join("rdoc-sources", "README.rdoc")]
@@ -70,7 +67,7 @@ hoe = Hoe.spec "fxruby" do
70
67
  spec_extras[:files] = File.read_utf("Manifest.txt").split(/\r?\n\r?/).reject{|f| f=~/^fox-includes|^web/ }
71
68
  spec_extras[:files] += SWIG_MODULES.values.map{|f| File.join("ext/fox16_c", f) }
72
69
  spec_extras[:files] << 'ext/fox16_c/include/inlinestubs.h'
73
- spec_extras[:files] << 'ext/fox16_c/librb.c'
70
+ spec_extras[:files] << 'ext/fox16_c/swigruby.h'
74
71
  spec_extras[:files] << 'doap.rdf'
75
72
  spec_extras[:files] << 'lib/fox16/kwargs.rb'
76
73
  end
@@ -92,28 +89,40 @@ task :test => [:compile]
92
89
 
93
90
  Rake::ExtensionTask.new("fox16_c", hoe.spec) do |ext|
94
91
  ext.cross_compile = true
95
- ext.cross_platform = CrossLibraries.map &:ruby_platform
96
-
97
- ext.cross_config_options += CrossLibraries.map do |lib|
98
- {
99
- lib.ruby_platform => [
100
- "--with-fox-include=#{lib.static_installdir}/include/fox-1.6",
101
- "--with-fxscintilla-include=#{lib.static_installdir}/include/fxscintilla",
102
- "--with-installed-include=#{lib.static_installdir}/include",
103
- "--with-installed-lib=#{lib.static_installdir}/lib",
104
- "--enable-win32-static-build",
105
- "--with-fxscintilla",
106
- ]
107
- }
92
+ ext.cross_platform = ['x86-mingw32', 'x64-mingw32']
93
+
94
+ ext.cross_config_options += [
95
+ "--enable-win32-cross",
96
+ "--with-fxscintilla",
97
+ ]
98
+
99
+ # Add dependent DLLs to the cross gems
100
+ ext.cross_compiling do |spec|
101
+ plat = spec.platform
102
+ dlls = Dir["tmp/#{plat}/#{ext.name}/*/*.dll"].map{|dll| File.basename(dll) }.uniq
103
+ spec.files += dlls.map{|dll| "lib/#{plat}/#{dll}" }
104
+
105
+ directory "tmp/#{plat}/stage/lib/#{plat}/"
106
+ dlls.each do |dll|
107
+ ENV['RUBY_CC_VERSION'].to_s.split(':').last.tap do |ruby_version|
108
+ file "tmp/#{plat}/stage/lib/#{plat}/#{dll}" => ["tmp/#{plat}/stage/lib/#{plat}/", "tmp/#{plat}/#{ext.name}/#{ruby_version}/#{dll}"] do
109
+ cp "tmp/#{plat}/#{ext.name}/#{ruby_version}/#{dll}", "tmp/#{plat}/stage/lib/#{plat}"
110
+ sh "x86_64-w64-mingw32-strip", "tmp/#{plat}/stage/lib/#{plat}/#{dll}"
111
+ end
112
+ end
113
+ file "lib/#{plat}/#{dll}" => "tmp/#{plat}/stage/lib/#{plat}/#{dll}"
114
+ end
108
115
  end
109
-
110
116
  end
111
117
 
112
- CrossLibraries.each do |lib|
113
- ENV['RUBY_CC_VERSION'].split(":").each do |ruby_version|
114
- task "copy:fox16_c:#{lib.ruby_platform}:#{ruby_version}" do |t|
115
- sh "#{lib.host_platform}-strip -S tmp/#{lib.ruby_platform}/stage/lib/#{ruby_version[0,3]}/fox16_c.so"
116
- end
118
+ # To reduce the gem file size strip mingw32 dlls before packaging
119
+ ENV['RUBY_CC_VERSION'].to_s.split(':').each do |ruby_version|
120
+ task "tmp/x86-mingw32/stage/lib/#{ruby_version[/^\d+\.\d+/]}/fox16_c.so" do |t|
121
+ sh "i686-w64-mingw32-strip -S tmp/x86-mingw32/stage/lib/#{ruby_version[/^\d+\.\d+/]}/fox16_c.so"
122
+ end
123
+
124
+ task "tmp/x64-mingw32/stage/lib/#{ruby_version[/^\d+\.\d+/]}/fox16_c.so" do |t|
125
+ sh "x86_64-w64-mingw32-strip -S tmp/x64-mingw32/stage/lib/#{ruby_version[/^\d+\.\d+/]}/fox16_c.so"
117
126
  end
118
127
  end
119
128
 
@@ -145,20 +154,14 @@ namespace :swig do
145
154
  sed wrapper_src_file_name
146
155
  end
147
156
 
148
- task :swig_librb => ["ext/fox16_c/librb.c"]
149
- file "ext/fox16_c/librb.c" do |task|
157
+ task :swigruby_h => ["ext/fox16_c/swigruby.h"]
158
+ file "ext/fox16_c/swigruby.h" do |task|
150
159
  puts "generate #{task.name}"
151
- File.open(task.name, "w") do |io|
152
- io.puts "#define SWIG_GLOBAL 1"
153
- io.write(IO.read(File.join(SWIG_LIB, "ruby", "precommon.swg")))
154
- io.write(IO.read(File.join(SWIG_LIB, "common.swg")))
155
- io.write(IO.read(File.join(SWIG_LIB, "ruby", "rubyhead.swg")))
156
- io.write(IO.read(File.join(SWIG_LIB, "ruby", "rubydef.swg")))
157
- end
160
+ system "#{SWIG} -ruby -external-runtime #{task.name}"
158
161
  end
159
162
 
160
163
  desc "Run SWIG to generate the wrapper files."
161
- task :swig => [:swig_librb] + SWIG_MODULES.map{|ifile, cppfile| File.join("ext/fox16_c", cppfile) }
164
+ task :swig => [:swigruby_h] + SWIG_MODULES.map{|ifile, cppfile| File.join("ext/fox16_c", cppfile) }
162
165
 
163
166
  # add dependencies for compile *.i to *_wrap.cpp
164
167
  SWIG_MODULES.each do |ifile, cppfile|
@@ -218,12 +221,19 @@ namespace :fxruby do
218
221
  make_impl
219
222
  end
220
223
 
221
- file "ext/fox16_c/extconf.rb" => ['ext/fox16_c/librb.c', 'ext/fox16_c/impl.cpp', 'ext/fox16_c/include/inlinestubs.h'] +
224
+ file "ext/fox16_c/extconf.rb" => ['ext/fox16_c/swigruby.h', 'ext/fox16_c/impl.cpp', 'ext/fox16_c/include/inlinestubs.h'] +
222
225
  SWIG_MODULES.map{|ifile, cppfile| File.join("ext/fox16_c", cppfile) }
223
226
 
227
+ directory "tmp/fxscintilla"
228
+ task "tmp/fxscintilla/fxscintilla-2.28.0/include/Scintilla.iface" => ["tmp/fxscintilla", "ports/archives/fxscintilla-2.28.0.tar.gz"] do
229
+ chdir "tmp/fxscintilla" do
230
+ sh "tar xzf ../../ports/archives/fxscintilla-2.28.0.tar.gz"
231
+ end
232
+ end
233
+
224
234
  task :scintilla => 'lib/fox16/scintilla.rb'
225
- file 'lib/fox16/scintilla.rb' => [FXSCINTILLA_INSTALL_DIR, 'scripts/iface.rb'] do
226
- ruby "scripts/iface.rb -i #{FXSCINTILLA_INSTALL_DIR}/include/Scintilla.iface -o lib/fox16/scintilla.rb"
235
+ file 'lib/fox16/scintilla.rb' => ["tmp/fxscintilla/fxscintilla-2.28.0/include/Scintilla.iface", 'scripts/iface.rb'] do
236
+ ruby "scripts/iface.rb -i tmp/fxscintilla/fxscintilla-2.28.0/include/Scintilla.iface -o lib/fox16/scintilla.rb"
227
237
  end
228
238
 
229
239
  task :generate_kwargs_lib => 'lib/fox16/kwargs.rb'
data/examples/RAA.rb CHANGED
@@ -1,5 +1,11 @@
1
- require 'soap/rpc/driver'
2
- require 'iRAA'
1
+ begin
2
+ require 'soap/rpc/driver'
3
+ require 'iRAA'
4
+ rescue LoadError
5
+ warn("Sorry, at the moment this example is not working.")
6
+ sleep(5)
7
+ exit(false)
8
+ end
3
9
 
4
10
  module RAA
5
11
  extend SOAP
@@ -38,11 +38,11 @@ class WhatAQuietWindow < FXMainWindow
38
38
  super(app, "What a Quiet Stiff", :opts => DECOR_ALL, :width => 850, :height => 600, :padLeft => 0, :padRight => 0)
39
39
 
40
40
  # Icons for list items
41
- File.open("icons/bluebullet14x14.gif", "rb") do |f|
41
+ File.open(File.expand_path("../icons/bluebullet14x14.gif", __FILE__), "rb") do |f|
42
42
  bytes = f.read
43
43
  @itemIcon = FXGIFIcon.new(getApp(), bytes)
44
44
  end
45
- File.open("icons/transpbullet14x14.gif", "rb") do |f|
45
+ File.open(File.expand_path("../icons/transpbullet14x14.gif", __FILE__), "rb") do |f|
46
46
  bytes = f.read
47
47
  @transpIcon = FXGIFIcon.new(getApp(), bytes)
48
48
  end
@@ -1,7 +1,14 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'fox16'
4
- require 'tranexp'
4
+
5
+ begin
6
+ require 'tranexp'
7
+ rescue LoadError
8
+ warn("LoadError: To execute this app you need to have 'tranexp' gem installed.")
9
+ sleep(5)
10
+ exit(false)
11
+ end
5
12
 
6
13
  include Fox
7
14
 
@@ -26,7 +33,7 @@ class Babelfish < FXMainWindow
26
33
  FXLabel.new(controlsFrame, " to:")
27
34
  @toCombo = FXComboBox.new(controlsFrame, 15, :opts => COMBOBOX_STATIC|FRAME_SUNKEN|FRAME_THICK)
28
35
  @toCombo.numVisible = 6
29
- Tranexp::Codes.constants.each do |lang|
36
+ Tranexp::Codes.constants.map(&:to_s).each do |lang|
30
37
  @fromCombo.appendItem(lang)
31
38
  @toCombo.appendItem(lang)
32
39
  end
data/examples/browser.rb CHANGED
@@ -41,7 +41,7 @@ class ClassTree
41
41
 
42
42
  # Get an hash containing class names for Fox
43
43
  classes = {}
44
- @mFox.constants.each do |name|
44
+ @mFox.constants.map(&:to_s).each do |name|
45
45
  c = @mFox.const_get(name)
46
46
  if c.kind_of? Class
47
47
  parentclass = c.superclass.name.sub("Fox::", "")
data/examples/button.rb CHANGED
@@ -134,15 +134,9 @@ class ButtonWindow < FXMainWindow
134
134
 
135
135
  # Load the named icon from a file
136
136
  def loadIcon(filename)
137
- begin
138
- filename = File.join("icons", filename)
139
- icon = nil
140
- File.open(filename, "rb") do |f|
141
- icon = FXPNGIcon.new(getApp(), f.read)
142
- end
143
- icon
144
- rescue
145
- raise RuntimeError, "Couldn't load icon: #{filename}"
137
+ filename = File.expand_path("../icons/#{filename}", __FILE__)
138
+ File.open(filename, "rb") do |f|
139
+ FXPNGIcon.new(getApp(), f.read)
146
140
  end
147
141
  end
148
142
 
@@ -1,5 +1,5 @@
1
1
  require 'fox16'
2
- require '../lib/fox16/canvas'
2
+ require 'fox16/canvas'
3
3
 
4
4
  include Fox
5
5
  include Canvas
@@ -10,7 +10,7 @@ class CanvasDemo < FXMainWindow
10
10
  super(app, "Canvas Demo", nil, nil, DECOR_ALL, 0, 0, 800, 600)
11
11
 
12
12
  # Menu bar
13
- menu_bar = FXMenubar.new(self, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
13
+ menu_bar = FXMenuBar.new(self, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
14
14
 
15
15
  # File menu
16
16
  file_menu = FXMenuPane.new(self)
@@ -53,7 +53,7 @@ class CanvasDemo < FXMainWindow
53
53
  FXMenuTitle.new(menu_bar, "&Help", nil, help_menu)
54
54
 
55
55
  # Status bar
56
- FXStatusbar.new(self,
56
+ FXStatusBar.new(self,
57
57
  LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|STATUSBAR_WITH_DRAGCORNER)
58
58
 
59
59
  # Shapes canvas fills the remainder
data/examples/charts.rb CHANGED
@@ -1,6 +1,13 @@
1
1
  require 'fox16'
2
- require 'google_chart'
3
- require 'open-uri'
2
+
3
+ begin
4
+ require 'google_chart'
5
+ require 'open-uri'
6
+ rescue LoadError
7
+ warn("LoadError: To execute this app you need to have 'google_chart' gem installed.")
8
+ sleep(5)
9
+ exit(false)
10
+ end
4
11
 
5
12
  include Fox
6
13
 
data/examples/dctest.rb CHANGED
@@ -532,7 +532,7 @@ class DCTestWindow < FXMainWindow
532
532
  FXMenuCommand.new(@filemenu, "&Quit\tCtl-Q", nil, getApp(), FXApp::ID_QUIT)
533
533
  FXMenuTitle.new(menubar, "&File", nil, @filemenu)
534
534
 
535
- @birdImage = FXPNGImage.new(getApp(), File.open("icons/dippy.png", "rb").read)
535
+ @birdImage = FXPNGImage.new(getApp(), File.open(File.expand_path("../icons/dippy.png", __FILE__), "rb").read)
536
536
  @bitmap = FXBitmap.new(getApp(), $bitmap_bits, 0, 64, 64)
537
537
 
538
538
  @function = BLT_SRC
@@ -674,15 +674,9 @@ class DCTestWindow < FXMainWindow
674
674
 
675
675
  # Load the named icon from a file
676
676
  def loadIcon(filename, clr = FXRGB(192, 192, 192), opts = 0)
677
- begin
678
- filename = File.join("icons", filename)
679
- icon = nil
680
- File.open(filename, "rb") { |f|
681
- icon = FXPNGIcon.new(getApp(), f.read, clr, opts)
682
- }
683
- icon
684
- rescue
685
- raise RuntimeError, "Couldn't load icon: #{filename}"
677
+ filename = File.expand_path("../icons/#{filename}", __FILE__)
678
+ File.open(filename, "rb") do |f|
679
+ FXPNGIcon.new(getApp(), f.read)
686
680
  end
687
681
  end
688
682
  end
@@ -37,7 +37,7 @@ class GemBrowser
37
37
  # Return an array of the installed specifications.
38
38
  def cache
39
39
  # Gem.cache
40
- Gem::Cache.from_installed_gems
40
+ Gem::SourceIndex.from_installed_gems
41
41
  end
42
42
  end
43
43
 
@@ -53,7 +53,7 @@ class GemInfoPanel < FXVerticalFrame
53
53
 
54
54
  self.backColor = FXRGB(255, 255, 255)
55
55
 
56
- File.open(File.join("icons", "gem_big.png"), "rb") do |f|
56
+ File.open(File.expand_path("../icons/gem_big.png", __FILE__), "rb") do |f|
57
57
  @bigIcon = FXPNGIcon.new(getApp(), f.read)
58
58
  end
59
59
 
@@ -107,10 +107,10 @@ class GemsPanel < FXVerticalFrame
107
107
  # Save a reference to the browser
108
108
  @browser = br
109
109
 
110
- File.open(File.join("icons", "gem_big.png"), "rb") do |f|
110
+ File.open(File.expand_path("../icons/gem_big.png", __FILE__), "rb") do |f|
111
111
  @bigIcon = FXPNGIcon.new(getApp(), f.read)
112
112
  end
113
- File.open(File.join("icons", "gem_small.png"), "rb") do |f|
113
+ File.open(File.expand_path("../icons/gem_small.png", __FILE__), "rb") do |f|
114
114
  @smallIcon = FXPNGIcon.new(getApp(), f.read)
115
115
  end
116
116
 
data/examples/gltest.rb CHANGED
@@ -3,12 +3,12 @@
3
3
  require 'fox16'
4
4
  begin
5
5
  require 'opengl'
6
+ require 'glu'
6
7
  rescue LoadError
7
8
  require 'fox16/missingdep'
8
9
  MSG = <<EOM
9
- Sorry, this example depends on the OpenGL extension. Please
10
- check the Ruby Application Archives for an appropriate
11
- download site.
10
+ Sorry, this example depends on the opengl gems. Please execute:
11
+ gem install opengl glu
12
12
  EOM
13
13
  missingDependency(MSG)
14
14
  end
data/examples/glviewer.rb CHANGED
@@ -152,15 +152,9 @@ class GLViewWindow < FXMainWindow
152
152
 
153
153
  # Load the named PNG icon from a file
154
154
  def loadIcon(filename)
155
- begin
156
- filename = File.join("icons", filename) + ".png"
157
- icon = nil
158
- File.open(filename, "rb") do |f|
159
- icon = FXPNGIcon.new(getApp(), f.read)
160
- end
161
- icon
162
- rescue
163
- raise RuntimeError, "Couldn't load icon: #{filename}"
155
+ filename = File.expand_path("../icons/#{filename}.png", __FILE__)
156
+ File.open(filename, "rb") do |f|
157
+ FXPNGIcon.new(getApp(), f.read)
164
158
  end
165
159
  end
166
160
 
data/examples/groupbox.rb CHANGED
@@ -8,15 +8,9 @@ class GroupWindow < FXMainWindow
8
8
 
9
9
  # Convenience function to load & construct an icon
10
10
  def getIcon(filename)
11
- begin
12
- filename = File.join("icons", filename)
13
- icon = nil
14
- File.open(filename, "rb") { |f|
15
- icon = FXPNGIcon.new(getApp(), f.read)
16
- }
17
- icon
18
- rescue
19
- raise RuntimeError, "Couldn't load icon: #{filename}"
11
+ filename = File.expand_path("../icons/#{filename}", __FILE__)
12
+ File.open(filename, "rb") do |f|
13
+ FXPNGIcon.new(getApp(), f.read)
20
14
  end
21
15
  end
22
16