fxruby 1.6.45-x64-mingw32 → 1.6.47-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (335) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/binary.yml +89 -0
  3. data/.github/workflows/ci.yml +68 -0
  4. data/.yardopts +2 -2
  5. data/Gemfile +1 -1
  6. data/History.md +13 -0
  7. data/{README.rdoc → README.md} +13 -14
  8. data/Rakefile +22 -4
  9. data/appveyor.yml +5 -8
  10. data/doap.rdf +2 -2
  11. data/docs/Fox/Canvas/CanvasError.html +3 -3
  12. data/docs/Fox/Canvas/CircleShape.html +3 -3
  13. data/docs/Fox/Canvas/ImageShape.html +3 -3
  14. data/docs/Fox/Canvas/LineShape.html +3 -3
  15. data/docs/Fox/Canvas/PolygonShape.html +3 -3
  16. data/docs/Fox/Canvas/RectangleShape.html +3 -3
  17. data/docs/Fox/Canvas/SelectionPolicy.html +3 -3
  18. data/docs/Fox/Canvas/Shape.html +5 -5
  19. data/docs/Fox/Canvas/ShapeCanvas.html +6 -6
  20. data/docs/Fox/Canvas/ShapeGroup.html +3 -3
  21. data/docs/Fox/Canvas/SingleSelectionPolicy.html +3 -3
  22. data/docs/Fox/Canvas/TextShape.html +3 -3
  23. data/docs/Fox/Canvas.html +6 -6
  24. data/docs/Fox/FTNonModal.html +3 -3
  25. data/docs/Fox/FX4Splitter.html +3 -3
  26. data/docs/Fox/FX7Segment.html +3 -3
  27. data/docs/Fox/FXAccelTable.html +7 -7
  28. data/docs/Fox/FXApp.html +24 -24
  29. data/docs/Fox/FXArc.html +7 -7
  30. data/docs/Fox/FXArrowButton.html +3 -3
  31. data/docs/Fox/FXBMPIcon.html +3 -3
  32. data/docs/Fox/FXBMPImage.html +3 -3
  33. data/docs/Fox/FXBitmap.html +3 -3
  34. data/docs/Fox/FXBitmapFrame.html +3 -3
  35. data/docs/Fox/FXBitmapView.html +3 -3
  36. data/docs/Fox/FXButton.html +3 -3
  37. data/docs/Fox/FXCURCursor.html +3 -3
  38. data/docs/Fox/FXCalendar.html +3 -3
  39. data/docs/Fox/FXCanvas.html +3 -3
  40. data/docs/Fox/FXCheckButton.html +3 -3
  41. data/docs/Fox/FXChoiceBox.html +4 -4
  42. data/docs/Fox/FXColor.html +3 -3
  43. data/docs/Fox/FXColorBar.html +3 -3
  44. data/docs/Fox/FXColorDialog.html +4 -4
  45. data/docs/Fox/FXColorItem.html +3 -3
  46. data/docs/Fox/FXColorList.html +3 -3
  47. data/docs/Fox/FXColorRing.html +3 -3
  48. data/docs/Fox/FXColorSelector.html +3 -3
  49. data/docs/Fox/FXColorWell.html +5 -5
  50. data/docs/Fox/FXColorWheel.html +3 -3
  51. data/docs/Fox/FXComboBox.html +6 -6
  52. data/docs/Fox/FXComboTableItem.html +3 -3
  53. data/docs/Fox/FXCommand.html +4 -4
  54. data/docs/Fox/FXComposite.html +5 -5
  55. data/docs/Fox/FXCursor.html +3 -3
  56. data/docs/Fox/FXDC.html +9 -9
  57. data/docs/Fox/FXDCPrint.html +3 -3
  58. data/docs/Fox/FXDCWindow.html +3 -3
  59. data/docs/Fox/FXDataTarget.html +10 -10
  60. data/docs/Fox/FXDebugTarget.html +3 -3
  61. data/docs/Fox/FXDelegator.html +3 -3
  62. data/docs/Fox/FXDial.html +8 -8
  63. data/docs/Fox/FXDialogBox.html +4 -4
  64. data/docs/Fox/FXDict.html +3 -3
  65. data/docs/Fox/FXDirBox.html +3 -3
  66. data/docs/Fox/FXDirDialog.html +5 -5
  67. data/docs/Fox/FXDirItem.html +3 -3
  68. data/docs/Fox/FXDirList.html +7 -7
  69. data/docs/Fox/FXDirSelector.html +5 -5
  70. data/docs/Fox/FXDockBar.html +6 -6
  71. data/docs/Fox/FXDockHandler.html +3 -3
  72. data/docs/Fox/FXDockSite.html +6 -6
  73. data/docs/Fox/FXDockTitle.html +3 -3
  74. data/docs/Fox/FXDocument.html +3 -3
  75. data/docs/Fox/FXDragCorner.html +3 -3
  76. data/docs/Fox/FXDrawable.html +3 -3
  77. data/docs/Fox/FXDriveBox.html +3 -3
  78. data/docs/Fox/FXEvent.html +3 -3
  79. data/docs/Fox/FXExtentd.html +5 -5
  80. data/docs/Fox/FXExtentf.html +5 -5
  81. data/docs/Fox/FXFileAssoc.html +3 -3
  82. data/docs/Fox/FXFileDialog.html +8 -8
  83. data/docs/Fox/FXFileDict.html +3 -3
  84. data/docs/Fox/FXFileItem.html +3 -3
  85. data/docs/Fox/FXFileList.html +7 -7
  86. data/docs/Fox/FXFileSelector.html +11 -11
  87. data/docs/Fox/FXFileStream.html +3 -3
  88. data/docs/Fox/FXFoldingItem.html +5 -5
  89. data/docs/Fox/FXFoldingList.html +38 -38
  90. data/docs/Fox/FXFont.html +4 -4
  91. data/docs/Fox/FXFontDesc.html +3 -3
  92. data/docs/Fox/FXFontDialog.html +3 -3
  93. data/docs/Fox/FXFontSelector.html +3 -3
  94. data/docs/Fox/FXFrame.html +3 -3
  95. data/docs/Fox/FXGIFCursor.html +3 -3
  96. data/docs/Fox/FXGIFIcon.html +3 -3
  97. data/docs/Fox/FXGIFImage.html +3 -3
  98. data/docs/Fox/FXGLCanvas.html +5 -5
  99. data/docs/Fox/FXGLCone.html +54 -61
  100. data/docs/Fox/FXGLContext.html +3 -3
  101. data/docs/Fox/FXGLCube.html +73 -79
  102. data/docs/Fox/FXGLCylinder.html +63 -70
  103. data/docs/Fox/FXGLGroup.html +58 -59
  104. data/docs/Fox/FXGLLine.html +45 -51
  105. data/docs/Fox/FXGLObject.html +10 -10
  106. data/docs/Fox/FXGLPoint.html +31 -37
  107. data/docs/Fox/FXGLShape.html +3 -3
  108. data/docs/Fox/FXGLSphere.html +39 -46
  109. data/docs/Fox/FXGLViewer.html +3 -3
  110. data/docs/Fox/FXGLVisual.html +3 -3
  111. data/docs/Fox/FXGradient.html +3 -3
  112. data/docs/Fox/FXGradientBar.html +17 -17
  113. data/docs/Fox/FXGroupBox.html +5 -5
  114. data/docs/Fox/FXHeader.html +17 -17
  115. data/docs/Fox/FXHeaderItem.html +15 -15
  116. data/docs/Fox/FXHiliteStyle.html +3 -3
  117. data/docs/Fox/FXHorizontalFrame.html +4 -4
  118. data/docs/Fox/FXHorizontalSeparator.html +3 -3
  119. data/docs/Fox/FXICOIcon.html +3 -3
  120. data/docs/Fox/FXICOImage.html +3 -3
  121. data/docs/Fox/FXIcon.html +3 -3
  122. data/docs/Fox/FXIconDict.html +3 -3
  123. data/docs/Fox/FXIconItem.html +5 -5
  124. data/docs/Fox/FXIconList.html +19 -19
  125. data/docs/Fox/FXIconSource.html +7 -7
  126. data/docs/Fox/FXId.html +3 -3
  127. data/docs/Fox/FXImage.html +6 -6
  128. data/docs/Fox/FXImageFrame.html +3 -3
  129. data/docs/Fox/FXImageView.html +3 -3
  130. data/docs/Fox/FXInputDialog.html +5 -5
  131. data/docs/Fox/FXIrb.html +6 -6
  132. data/docs/Fox/FXJPGIcon.html +3 -3
  133. data/docs/Fox/FXJPGImage.html +3 -3
  134. data/docs/Fox/FXKnob.html +7 -7
  135. data/docs/Fox/FXLabel.html +5 -5
  136. data/docs/Fox/FXLight.html +3 -3
  137. data/docs/Fox/FXList.html +24 -24
  138. data/docs/Fox/FXListBox.html +7 -7
  139. data/docs/Fox/FXListItem.html +5 -5
  140. data/docs/Fox/FXMDIChild.html +6 -6
  141. data/docs/Fox/FXMDIClient.html +4 -4
  142. data/docs/Fox/FXMDIDeleteButton.html +3 -3
  143. data/docs/Fox/FXMDIMaximizeButton.html +3 -3
  144. data/docs/Fox/FXMDIMenu.html +3 -3
  145. data/docs/Fox/FXMDIMinimizeButton.html +3 -3
  146. data/docs/Fox/FXMDIRestoreButton.html +3 -3
  147. data/docs/Fox/FXMDIWindowButton.html +3 -3
  148. data/docs/Fox/FXMainWindow.html +3 -3
  149. data/docs/Fox/FXMaterial.html +3 -3
  150. data/docs/Fox/FXMatrix.html +3 -3
  151. data/docs/Fox/FXMemoryBuffer.html +3 -3
  152. data/docs/Fox/FXMemoryStream.html +3 -3
  153. data/docs/Fox/FXMenuBar.html +3 -3
  154. data/docs/Fox/FXMenuButton.html +6 -6
  155. data/docs/Fox/FXMenuCaption.html +5 -5
  156. data/docs/Fox/FXMenuCascade.html +3 -3
  157. data/docs/Fox/FXMenuCheck.html +3 -3
  158. data/docs/Fox/FXMenuCommand.html +3 -3
  159. data/docs/Fox/FXMenuPane.html +3 -3
  160. data/docs/Fox/FXMenuRadio.html +3 -3
  161. data/docs/Fox/FXMenuSeparator.html +3 -3
  162. data/docs/Fox/FXMenuTitle.html +3 -3
  163. data/docs/Fox/FXMessageBox.html +5 -5
  164. data/docs/Fox/FXObject.html +4 -4
  165. data/docs/Fox/FXOption.html +3 -3
  166. data/docs/Fox/FXOptionMenu.html +3 -3
  167. data/docs/Fox/FXPCXIcon.html +3 -3
  168. data/docs/Fox/FXPCXImage.html +3 -3
  169. data/docs/Fox/FXPNGIcon.html +3 -3
  170. data/docs/Fox/FXPNGImage.html +3 -3
  171. data/docs/Fox/FXPPMIcon.html +3 -3
  172. data/docs/Fox/FXPPMImage.html +3 -3
  173. data/docs/Fox/FXPSBounds.html +3 -3
  174. data/docs/Fox/FXPacker.html +3 -3
  175. data/docs/Fox/FXPicker.html +3 -3
  176. data/docs/Fox/FXPopup.html +3 -3
  177. data/docs/Fox/FXPrintDialog.html +3 -3
  178. data/docs/Fox/FXPrinter.html +3 -3
  179. data/docs/Fox/FXProgressBar.html +3 -3
  180. data/docs/Fox/FXProgressDialog.html +3 -3
  181. data/docs/Fox/FXPseudoKeyboard.html +3 -3
  182. data/docs/Fox/FXPseudoMouse.html +3 -3
  183. data/docs/Fox/FXPseudoTarget.html +3 -3
  184. data/docs/Fox/FXQuatd.html +3 -3
  185. data/docs/Fox/FXQuatf.html +3 -3
  186. data/docs/Fox/FXRGBIcon.html +3 -3
  187. data/docs/Fox/FXRGBImage.html +3 -3
  188. data/docs/Fox/FXRadioButton.html +3 -3
  189. data/docs/Fox/FXRanged.html +3 -3
  190. data/docs/Fox/FXRangef.html +3 -3
  191. data/docs/Fox/FXRealSlider.html +3 -3
  192. data/docs/Fox/FXRealSpinner.html +16 -16
  193. data/docs/Fox/FXRecentFiles.html +3 -3
  194. data/docs/Fox/FXRectangle.html +11 -11
  195. data/docs/Fox/FXRegion.html +3 -3
  196. data/docs/Fox/FXRegistry.html +5 -5
  197. data/docs/Fox/FXReplaceDialog.html +3 -3
  198. data/docs/Fox/FXRootWindow.html +3 -3
  199. data/docs/Fox/FXRuler.html +3 -3
  200. data/docs/Fox/FXRulerView.html +26 -26
  201. data/docs/Fox/FXScintilla.html +21 -21
  202. data/docs/Fox/FXScrollArea.html +5 -5
  203. data/docs/Fox/FXScrollBar.html +3 -3
  204. data/docs/Fox/FXScrollCorner.html +3 -3
  205. data/docs/Fox/FXScrollPane.html +3 -3
  206. data/docs/Fox/FXScrollWindow.html +4 -4
  207. data/docs/Fox/FXSearchDialog.html +3 -3
  208. data/docs/Fox/FXSegment.html +3 -3
  209. data/docs/Fox/FXSeparator.html +4 -4
  210. data/docs/Fox/FXSettings.html +3 -3
  211. data/docs/Fox/FXShell.html +3 -3
  212. data/docs/Fox/FXShutter.html +4 -4
  213. data/docs/Fox/FXShutterItem.html +3 -3
  214. data/docs/Fox/FXSize.html +3 -3
  215. data/docs/Fox/FXSlider.html +3 -3
  216. data/docs/Fox/FXSphered.html +3 -3
  217. data/docs/Fox/FXSpheref.html +3 -3
  218. data/docs/Fox/FXSpinner.html +16 -16
  219. data/docs/Fox/FXSplashScreen.html +3 -3
  220. data/docs/Fox/FXSplashWindow.html +5 -5
  221. data/docs/Fox/FXSplitter.html +3 -3
  222. data/docs/Fox/FXSpring.html +3 -3
  223. data/docs/Fox/FXStatusBar.html +3 -3
  224. data/docs/Fox/FXStatusLine.html +4 -4
  225. data/docs/Fox/FXStream.html +4 -4
  226. data/docs/Fox/FXStreamAllocError.html +3 -3
  227. data/docs/Fox/FXStreamEndError.html +3 -3
  228. data/docs/Fox/FXStreamError.html +3 -3
  229. data/docs/Fox/FXStreamFailureError.html +3 -3
  230. data/docs/Fox/FXStreamFormatError.html +3 -3
  231. data/docs/Fox/FXStreamFullError.html +4 -4
  232. data/docs/Fox/FXStreamNoReadError.html +3 -3
  233. data/docs/Fox/FXStreamNoWriteError.html +3 -3
  234. data/docs/Fox/FXStreamUnknownError.html +3 -3
  235. data/docs/Fox/FXStringDict.html +4 -4
  236. data/docs/Fox/FXSwitcher.html +8 -8
  237. data/docs/Fox/FXTGAIcon.html +3 -3
  238. data/docs/Fox/FXTGAImage.html +3 -3
  239. data/docs/Fox/FXTIFIcon.html +3 -3
  240. data/docs/Fox/FXTIFImage.html +3 -3
  241. data/docs/Fox/FXTabBar.html +8 -8
  242. data/docs/Fox/FXTabBook.html +4 -4
  243. data/docs/Fox/FXTabItem.html +3 -3
  244. data/docs/Fox/FXTable.html +27 -27
  245. data/docs/Fox/FXTableItem.html +5 -5
  246. data/docs/Fox/FXTablePos.html +3 -3
  247. data/docs/Fox/FXTableRange.html +3 -3
  248. data/docs/Fox/FXText.html +25 -25
  249. data/docs/Fox/FXTextChange.html +3 -3
  250. data/docs/Fox/FXTextField.html +5 -5
  251. data/docs/Fox/FXToggleButton.html +7 -7
  252. data/docs/Fox/FXToolBar.html +3 -3
  253. data/docs/Fox/FXToolBarGrip.html +3 -3
  254. data/docs/Fox/FXToolBarShell.html +3 -3
  255. data/docs/Fox/FXToolBarTab.html +5 -5
  256. data/docs/Fox/FXToolTip.html +5 -5
  257. data/docs/Fox/FXTopWindow.html +4 -4
  258. data/docs/Fox/FXTranslator.html +3 -3
  259. data/docs/Fox/FXTreeItem.html +19 -19
  260. data/docs/Fox/FXTreeList.html +40 -40
  261. data/docs/Fox/FXTreeListBox.html +27 -27
  262. data/docs/Fox/FXTriStateButton.html +9 -9
  263. data/docs/Fox/FXUndoList.html +8 -8
  264. data/docs/Fox/FXVec2d.html +7 -7
  265. data/docs/Fox/FXVec2f.html +7 -7
  266. data/docs/Fox/FXVec3d.html +7 -7
  267. data/docs/Fox/FXVec3f.html +7 -7
  268. data/docs/Fox/FXVec4d.html +7 -7
  269. data/docs/Fox/FXVec4f.html +7 -7
  270. data/docs/Fox/FXVerticalFrame.html +4 -4
  271. data/docs/Fox/FXVerticalSeparator.html +3 -3
  272. data/docs/Fox/FXViewport.html +3 -3
  273. data/docs/Fox/FXVisual.html +3 -3
  274. data/docs/Fox/FXWindow.html +36 -36
  275. data/docs/Fox/FXWizard.html +3 -3
  276. data/docs/Fox/FXXBMIcon.html +3 -3
  277. data/docs/Fox/FXXBMImage.html +3 -3
  278. data/docs/Fox/FXXPMIcon.html +3 -3
  279. data/docs/Fox/FXXPMImage.html +3 -3
  280. data/docs/Fox/NotifyHeader.html +3 -3
  281. data/docs/Fox/SCNotification.html +3 -3
  282. data/docs/Fox/TextRange.html +3 -3
  283. data/docs/Fox.html +7 -7
  284. data/docs/IRB.html +3 -3
  285. data/docs/Responder.html +4 -4
  286. data/docs/Responder2.html +3 -3
  287. data/docs/_index.html +3 -3
  288. data/docs/css/style.css +1 -0
  289. data/docs/file.History.html +75 -52
  290. data/docs/file.README.html +7 -7
  291. data/docs/index.html +487 -501
  292. data/docs/top-level-namespace.html +3 -3
  293. data/examples/gltest.rb +104 -105
  294. data/examples/glviewer.rb +3 -3
  295. data/ext/fox16_c/core_wrap.cpp +1 -1
  296. data/ext/fox16_c/dc_wrap.cpp +1 -1
  297. data/ext/fox16_c/dialogs_wrap.cpp +1 -1
  298. data/ext/fox16_c/extconf.rb +13 -13
  299. data/ext/fox16_c/frames_wrap.cpp +1 -1
  300. data/ext/fox16_c/fx3d_wrap.cpp +1 -1
  301. data/ext/fox16_c/iconlist_wrap.cpp +1 -1
  302. data/ext/fox16_c/icons_wrap.cpp +1 -1
  303. data/ext/fox16_c/image_wrap.cpp +1 -1
  304. data/ext/fox16_c/label_wrap.cpp +1 -1
  305. data/ext/fox16_c/layout_wrap.cpp +1 -1
  306. data/ext/fox16_c/list_wrap.cpp +1 -1
  307. data/ext/fox16_c/mdi_wrap.cpp +1 -1
  308. data/ext/fox16_c/menu_wrap.cpp +1 -1
  309. data/ext/fox16_c/scintilla_wrap.cpp +1 -1
  310. data/ext/fox16_c/swigruby.h +1 -1
  311. data/ext/fox16_c/table_wrap.cpp +1 -1
  312. data/ext/fox16_c/text_wrap.cpp +1 -1
  313. data/ext/fox16_c/treelist_wrap.cpp +1 -1
  314. data/ext/fox16_c/ui_wrap.cpp +1 -1
  315. data/fxruby.gemspec +9 -1
  316. data/lib/2.6/fox16_c.so +0 -0
  317. data/lib/2.7/fox16_c.so +0 -0
  318. data/lib/3.0/fox16_c.so +0 -0
  319. data/lib/fox16/glgroup.rb +3 -4
  320. data/lib/fox16/glshapes.rb +85 -100
  321. data/lib/fox16/kwargs.rb +891 -891
  322. data/lib/fox16/version.rb +1 -1
  323. data/ports/x64-mingw32/bin/libFOX-1.6-0.dll +0 -0
  324. data/ports/x64-mingw32/bin/libfxscintilla-20.dll +0 -0
  325. data/ports/x64-mingw32/bin/libjpeg-62.dll +0 -0
  326. data/ports/x64-mingw32/bin/libpng16-16.dll +0 -0
  327. data/ports/x64-mingw32/bin/libtiff-6.dll +0 -0
  328. data/ports/x64-mingw32/bin/zlib1.dll +0 -0
  329. data/scripts/iface.rb +8 -12
  330. data/test/TC_FXDCPrint.rb +1 -1
  331. metadata +252 -17
  332. data/lib/2.4/fox16_c.so +0 -0
  333. data/lib/2.5/fox16_c.so +0 -0
  334. data/ports/x64-mingw32/bin/libtiff-5.dll +0 -0
  335. data/rdoc-sources/Makefile +0 -23
data/docs/index.html CHANGED
@@ -64,9 +64,9 @@
64
64
  </li><li>
65
65
  <p>Full API-description: <a href="http://rubydoc.info/gems/fxruby/frames">rubydoc.info/gems/fxruby/frames</a> or <a href="https://larskanis.github.io/fxruby">larskanis.github.io/fxruby</a>/</p>
66
66
  </li><li>
67
- <p>Latest fxruby <a href="http://badge.fury.io/rb/fxruby"><img src="https://badge.fury.io/rb/fxruby.svg" alt="Gem Version" /></a></p>
67
+ <p>Latest fxruby <a href="http://badge.fury.io/rb/fxruby"><img src="https://badge.fury.io/rb/fxruby.svg"></a></p>
68
68
  </li><li>
69
- <p>Status on Linux: <a href="https://travis-ci.com/larskanis/fxruby"><img src="https://travis-ci.com/larskanis/fxruby.svg?branch=1.6" alt="Build Status on Linux" /></a> on Windows: <a href="https://ci.appveyor.com/project/larskanis/fxruby/branch/1.6"><img src="https://ci.appveyor.com/api/projects/status/too7sj4gq643ts8w/branch/1.6?svg=true" alt="Build Status on Windows" /></a></p>
69
+ <p>CI-Status: <a href="https://github.com/larskanis/fxruby/actions/workflows/ci.yml"><img src="https://github.com/larskanis/fxruby/actions/workflows/ci.yml/badge.svg?branch=1.6"></a> and on Windows: <a href="https://ci.appveyor.com/project/larskanis/fxruby/branch/1.6"><img src="https://ci.appveyor.com/api/projects/status/too7sj4gq643ts8w/branch/1.6?svg=true"></a></p>
70
70
  </li></ul>
71
71
 
72
72
  <h2 id="label-DESCRIPTION-3A">DESCRIPTION:</h2>
@@ -75,538 +75,524 @@
75
75
 
76
76
  <h2 id="label-FEATURES-3A">FEATURES:</h2>
77
77
 
78
- <p>FXRuby supportes everything of FOX, that is useful in Ruby:</p>
79
- <ul><li>
80
- <p>MDI/SDI application window layouts, floating toolbars</p>
81
- </li><li>
82
- <p>Rich set of controls (tables, imagelists, menus, canvas, …)</p>
83
- </li><li>
84
- <p>Flexible layout management</p>
85
- </li><li>
86
- <p>Image read/write support in many formats</p>
87
- </li><li>
88
- <p>Embedded OpenGL graphics through the <a href="https://github.com/vaiorabbit/ruby-opengl">opengl-bindings</a> gem</p>
89
- </li><li>
90
- <p>Thread support</p>
91
- </li></ul>
78
+ <p>FXRuby supportes everything of FOX, that is useful in Ruby: * MDI/SDI application window layouts, floating toolbars * Rich set of controls (tables, imagelists, menus, canvas, …) * Flexible layout management * Image read/write support in many formats * Embedded OpenGL graphics through the <a href="https://github.com/vaiorabbit/ruby-opengl">opengl-bindings2</a> gem * Thread support</p>
92
79
 
93
80
  <h2 id="label-INSTALL-3A">INSTALL:</h2>
94
81
 
95
- <p>FXRuby runs on Linux, Windows and OS-X with Ruby-2.2 or newer. Installation on Unix requires FOX development headers and libraries installed:</p>
96
- <ul><li>
97
- <p>on Debian/Ubuntu: <code>sudo apt-get install g++ libxrandr-dev libfox-1.6-dev</code></p>
98
- </li><li>
99
- <p>see also detailed installation instructions in the <a href="https://github.com/lylejohnson/fxruby/wiki">Wiki</a></p>
100
- </li><li>
101
- <p>on Windows: the binary fxruby gems already contain all required libararies</p>
102
- </li></ul>
82
+ <p>FXRuby runs on Linux, Windows and OS-X with Ruby-2.2 or newer. Installation on Unix requires FOX development headers and libraries installed: * on Debian/Ubuntu: <code>sudo apt-get install g++ libxrandr-dev libfox-1.6-dev</code> * on Mac: <code>sudo port install rb-fxruby</code> OR <code>brew install fox &amp;&amp; brew install xquartz</code> * on Windows: the binary fxruby gems already contain all required libraries * see also detailed installation instructions in the <a href="https://github.com/lylejohnson/fxruby/wiki">Wiki</a></p>
103
83
 
104
- <p>Then, install the gem:</p>
105
- <ul><li>
106
- <p>gem install fxruby</p>
107
- </li></ul>
84
+ <p>Then, install the gem: * gem install fxruby</p>
85
+
86
+ <p>On Mac, before running applications, you must also run: <code>open -a /Applications/Utilities/XQuartz.app</code></p>
87
+
88
+ <p>(otherwise, you end up getting this message when running applications on Mac: <code>FXRbApp::openDisplay: unable to open display :0.0</code>)</p>
108
89
 
109
90
  <h2 id="label-DIRECTORIES">DIRECTORIES</h2>
110
91
 
111
92
  <p>The directory structure is:</p>
112
93
  <ul><li>
113
94
  <p>examples/</p>
95
+ </li></ul>
114
96
 
115
- <p>Contains example programs demonstrating how to use FXRuby and its many wonderful features.</p>
116
- </li><li>
97
+ <p>Contains example programs demonstrating how to use FXRuby and its many wonderful features.</p>
98
+ <ul><li>
117
99
  <p>ext/fox16_c</p>
100
+ </li></ul>
118
101
 
119
- <p>Contains the C++ source code for the shared library part of FXRuby. These files are required to build FXRuby from the source code.</p>
120
- </li><li>
102
+ <p>Contains the C++ source code for the shared library part of FXRuby. These files are required to build FXRuby from the source code.</p>
103
+ <ul><li>
121
104
  <p>lib/fox16</p>
105
+ </li></ul>
122
106
 
123
- <p>Contains the Ruby source code for the rest of FXRuby. These files are not required to “build” FXRuby, but they are a part of the standard FXRuby runtime environment and must be installed along with the shared library part.</p>
124
- </li><li>
107
+ <p>Contains the Ruby source code for the rest of FXRuby. These files are not required to “build” FXRuby, but they are a part of the standard FXRuby runtime environment and must be installed along with the shared library part.</p>
108
+ <ul><li>
125
109
  <p>tests/</p>
110
+ </li></ul>
126
111
 
127
112
  <p>Contains a test battery for FXRuby.</p>
128
- </li></ul>
129
113
 
130
- <p>If you&#39;re looking at a checkout of the source code from its GIT repository, you might see some additional directories of interest:</p>
114
+ <p>If youre looking at a checkout of the source code from its GIT repository, you might see some additional directories of interest:</p>
131
115
  <ul><li>
132
116
  <p>fox-includes/</p>
117
+ </li></ul>
133
118
 
134
- <p>An archive of the FOX library header files corresponding to this release of FXRuby.</p>
135
- </li><li>
119
+ <p>An archive of the FOX library header files corresponding to this release of FXRuby.</p>
120
+ <ul><li>
136
121
  <p>rdoc-sources/</p>
122
+ </li></ul>
137
123
 
138
- <p>A set of “fake” Ruby source files for the various FXRuby classes, which are used to generate RDoc-style documentation.</p>
139
- </li><li>
124
+ <p>A set of “fake” Ruby source files for the various FXRuby classes, which are used to generate RDoc-style documentation.</p>
125
+ <ul><li>
140
126
  <p>swig-interfaces/</p>
141
-
142
- <p>The SWIG interface files used to generate the C++ wrapper code (i.e. the code found in the ext/fox directory).</p>
143
127
  </li></ul>
144
128
 
129
+ <p>The SWIG interface files used to generate the C++ wrapper code (i.e. the code found in the ext/fox directory).</p>
130
+
145
131
  <h2 id="label-LICENSE">LICENSE</h2>
146
132
 
147
- <pre class="code ruby"><code class="ruby"> GNU LESSER GENERAL PUBLIC LICENSE
148
- Version 2.1, February 1999
149
-
150
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
151
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
152
- Everyone is permitted to copy and distribute verbatim copies
153
- of this license document, but changing it is not allowed.
154
-
155
- [This is the first released version of the Lesser GPL. It also counts
156
- as the successor of the GNU Library Public License, version 2, hence
157
- the version number 2.1.]
158
-
159
- Preamble
160
-
161
- The licenses for most software are designed to take away your
162
- freedom to share and change it. By contrast, the GNU General Public
163
- Licenses are intended to guarantee your freedom to share and change
164
- free software--to make sure the software is free for all its users.
165
-
166
- This license, the Lesser General Public License, applies to some
167
- specially designated software packages--typically libraries--of the
168
- Free Software Foundation and other authors who decide to use it. You
169
- can use it too, but we suggest you first think carefully about whether
170
- this license or the ordinary General Public License is the better
171
- strategy to use in any particular case, based on the explanations below.
172
-
173
- When we speak of free software, we are referring to freedom of use,
174
- not price. Our General Public Licenses are designed to make sure that
175
- you have the freedom to distribute copies of free software (and charge
176
- for this service if you wish); that you receive source code or can get
177
- it if you want it; that you can change the software and use pieces of
178
- it in new free programs; and that you are informed that you can do
179
- these things.
180
-
181
- To protect your rights, we need to make restrictions that forbid
182
- distributors to deny you these rights or to ask you to surrender these
183
- rights. These restrictions translate to certain responsibilities for
184
- you if you distribute copies of the library or if you modify it.
185
-
186
- For example, if you distribute copies of the library, whether gratis
187
- or for a fee, you must give the recipients all the rights that we gave
188
- you. You must make sure that they, too, receive or can get the source
189
- code. If you link other code with the library, you must provide
190
- complete object files to the recipients, so that they can relink them
191
- with the library after making changes to the library and recompiling
192
- it. And you must show them these terms so they know their rights.
193
-
194
- We protect your rights with a two-step method: (1) we copyright the
195
- library, and (2) we offer you this license, which gives you legal
196
- permission to copy, distribute and/or modify the library.
197
-
198
- To protect each distributor, we want to make it very clear that
199
- there is no warranty for the free library. Also, if the library is
200
- modified by someone else and passed on, the recipients should know
201
- that what they have is not the original version, so that the original
202
- author&#39;s reputation will not be affected by problems that might be
203
- introduced by others.
204
-
205
- Finally, software patents pose a constant threat to the existence of
206
- any free program. We wish to make sure that a company cannot
207
- effectively restrict the users of a free program by obtaining a
208
- restrictive license from a patent holder. Therefore, we insist that
209
- any patent license obtained for a version of the library must be
210
- consistent with the full freedom of use specified in this license.
211
-
212
- Most GNU software, including some libraries, is covered by the
213
- ordinary GNU General Public License. This license, the GNU Lesser
214
- General Public License, applies to certain designated libraries, and
215
- is quite different from the ordinary General Public License. We use
216
- this license for certain libraries in order to permit linking those
217
- libraries into non-free programs.
218
-
219
- When a program is linked with a library, whether statically or using
220
- a shared library, the combination of the two is legally speaking a
221
- combined work, a derivative of the original library. The ordinary
222
- General Public License therefore permits such linking only if the
223
- entire combination fits its criteria of freedom. The Lesser General
224
- Public License permits more lax criteria for linking other code with
225
- the library.
226
-
227
- We call this license the &quot;Lesser&quot; General Public License because it
228
- does Less to protect the user&#39;s freedom than the ordinary General
229
- Public License. It also provides other free software developers Less
230
- of an advantage over competing non-free programs. These disadvantages
231
- are the reason we use the ordinary General Public License for many
232
- libraries. However, the Lesser license provides advantages in certain
233
- special circumstances.
234
-
235
- For example, on rare occasions, there may be a special need to
236
- encourage the widest possible use of a certain library, so that it becomes
237
- a de-facto standard. To achieve this, non-free programs must be
238
- allowed to use the library. A more frequent case is that a free
239
- library does the same job as widely used non-free libraries. In this
240
- case, there is little to gain by limiting the free library to free
241
- software only, so we use the Lesser General Public License.
242
-
243
- In other cases, permission to use a particular library in non-free
244
- programs enables a greater number of people to use a large body of
245
- free software. For example, permission to use the GNU C Library in
246
- non-free programs enables many more people to use the whole GNU
247
- operating system, as well as its variant, the GNU/Linux operating
248
- system.
249
-
250
- Although the Lesser General Public License is Less protective of the
251
- users&#39; freedom, it does ensure that the user of a program that is
252
- linked with the Library has the freedom and the wherewithal to run
253
- that program using a modified version of the Library.
254
-
255
- The precise terms and conditions for copying, distribution and
256
- modification follow. Pay close attention to the difference between a
257
- &quot;work based on the library&quot; and a &quot;work that uses the library&quot;. The
258
- former contains code derived from the library, whereas the latter must
259
- be combined with the library in order to run.
260
-
261
- GNU LESSER GENERAL PUBLIC LICENSE
262
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
263
-
264
- 0. This License Agreement applies to any software library or other
265
- program which contains a notice placed by the copyright holder or
266
- other authorized party saying it may be distributed under the terms of
267
- this Lesser General Public License (also called &quot;this License&quot;).
268
- Each licensee is addressed as &quot;you&quot;.
269
-
270
- A &quot;library&quot; means a collection of software functions and/or data
271
- prepared so as to be conveniently linked with application programs
272
- (which use some of those functions and data) to form executables.
273
-
274
- The &quot;Library&quot;, below, refers to any such software library or work
275
- which has been distributed under these terms. A &quot;work based on the
276
- Library&quot; means either the Library or any derivative work under
277
- copyright law: that is to say, a work containing the Library or a
278
- portion of it, either verbatim or with modifications and/or translated
279
- straightforwardly into another language. (Hereinafter, translation is
280
- included without limitation in the term &quot;modification&quot;.)
281
-
282
- &quot;Source code&quot; for a work means the preferred form of the work for
283
- making modifications to it. For a library, complete source code means
284
- all the source code for all modules it contains, plus any associated
285
- interface definition files, plus the scripts used to control compilation
286
- and installation of the library.
287
-
288
- Activities other than copying, distribution and modification are not
289
- covered by this License; they are outside its scope. The act of
290
- running a program using the Library is not restricted, and output from
291
- such a program is covered only if its contents constitute a work based
292
- on the Library (independent of the use of the Library in a tool for
293
- writing it). Whether that is true depends on what the Library does
294
- and what the program that uses the Library does.
295
-
296
- 1. You may copy and distribute verbatim copies of the Library&#39;s
297
- complete source code as you receive it, in any medium, provided that
298
- you conspicuously and appropriately publish on each copy an
299
- appropriate copyright notice and disclaimer of warranty; keep intact
300
- all the notices that refer to this License and to the absence of any
301
- warranty; and distribute a copy of this License along with the
302
- Library.
303
-
304
- You may charge a fee for the physical act of transferring a copy,
305
- and you may at your option offer warranty protection in exchange for a
306
- fee.
307
-
308
- 2. You may modify your copy or copies of the Library or any portion
309
- of it, thus forming a work based on the Library, and copy and
310
- distribute such modifications or work under the terms of Section 1
311
- above, provided that you also meet all of these conditions:
312
-
313
- a) The modified work must itself be a software library.
314
-
315
- b) You must cause the files modified to carry prominent notices
316
- stating that you changed the files and the date of any change.
317
-
318
- c) You must cause the whole of the work to be licensed at no
319
- charge to all third parties under the terms of this License.
320
-
321
- d) If a facility in the modified Library refers to a function or a
322
- table of data to be supplied by an application program that uses
323
- the facility, other than as an argument passed when the facility
324
- is invoked, then you must make a good faith effort to ensure that,
325
- in the event an application does not supply such function or
326
- table, the facility still operates, and performs whatever part of
327
- its purpose remains meaningful.
328
-
329
- (For example, a function in a library to compute square roots has
330
- a purpose that is entirely well-defined independent of the
331
- application. Therefore, Subsection 2d requires that any
332
- application-supplied function or table used by this function must
333
- be optional: if the application does not supply it, the square
334
- root function must still compute square roots.)
335
-
336
- These requirements apply to the modified work as a whole. If
337
- identifiable sections of that work are not derived from the Library,
338
- and can be reasonably considered independent and separate works in
339
- themselves, then this License, and its terms, do not apply to those
340
- sections when you distribute them as separate works. But when you
341
- distribute the same sections as part of a whole which is a work based
342
- on the Library, the distribution of the whole must be on the terms of
343
- this License, whose permissions for other licensees extend to the
344
- entire whole, and thus to each and every part regardless of who wrote
345
- it.
346
-
347
- Thus, it is not the intent of this section to claim rights or contest
348
- your rights to work written entirely by you; rather, the intent is to
349
- exercise the right to control the distribution of derivative or
350
- collective works based on the Library.
351
-
352
- In addition, mere aggregation of another work not based on the Library
353
- with the Library (or with a work based on the Library) on a volume of
354
- a storage or distribution medium does not bring the other work under
355
- the scope of this License.
356
-
357
- 3. You may opt to apply the terms of the ordinary GNU General Public
358
- License instead of this License to a given copy of the Library. To do
359
- this, you must alter all the notices that refer to this License, so
360
- that they refer to the ordinary GNU General Public License, version 2,
361
- instead of to this License. (If a newer version than version 2 of the
362
- ordinary GNU General Public License has appeared, then you can specify
363
- that version instead if you wish.) Do not make any other change in
364
- these notices.
365
-
366
- Once this change is made in a given copy, it is irreversible for
367
- that copy, so the ordinary GNU General Public License applies to all
368
- subsequent copies and derivative works made from that copy.
369
-
370
- This option is useful when you wish to copy part of the code of
371
- the Library into a program that is not a library.
372
-
373
- 4. You may copy and distribute the Library (or a portion or
374
- derivative of it, under Section 2) in object code or executable form
375
- under the terms of Sections 1 and 2 above provided that you accompany
376
- it with the complete corresponding machine-readable source code, which
377
- must be distributed under the terms of Sections 1 and 2 above on a
378
- medium customarily used for software interchange.
379
-
380
- If distribution of object code is made by offering access to copy
381
- from a designated place, then offering equivalent access to copy the
382
- source code from the same place satisfies the requirement to
383
- distribute the source code, even though third parties are not
384
- compelled to copy the source along with the object code.
385
-
386
- 5. A program that contains no derivative of any portion of the
387
- Library, but is designed to work with the Library by being compiled or
388
- linked with it, is called a &quot;work that uses the Library&quot;. Such a
389
- work, in isolation, is not a derivative work of the Library, and
390
- therefore falls outside the scope of this License.
391
-
392
- However, linking a &quot;work that uses the Library&quot; with the Library
393
- creates an executable that is a derivative of the Library (because it
394
- contains portions of the Library), rather than a &quot;work that uses the
395
- library&quot;. The executable is therefore covered by this License.
396
- Section 6 states terms for distribution of such executables.
397
-
398
- When a &quot;work that uses the Library&quot; uses material from a header file
399
- that is part of the Library, the object code for the work may be a
400
- derivative work of the Library even though the source code is not.
401
- Whether this is true is especially significant if the work can be
402
- linked without the Library, or if the work is itself a library. The
403
- threshold for this to be true is not precisely defined by law.
404
-
405
- If such an object file uses only numerical parameters, data
406
- structure layouts and accessors, and small macros and small inline
407
- functions (ten lines or less in length), then the use of the object
408
- file is unrestricted, regardless of whether it is legally a derivative
409
- work. (Executables containing this object code plus portions of the
410
- Library will still fall under Section 6.)
411
-
412
- Otherwise, if the work is a derivative of the Library, you may
413
- distribute the object code for the work under the terms of Section 6.
414
- Any executables containing that work also fall under Section 6,
415
- whether or not they are linked directly with the Library itself.
416
-
417
- 6. As an exception to the Sections above, you may also combine or
418
- link a &quot;work that uses the Library&quot; with the Library to produce a
419
- work containing portions of the Library, and distribute that work
420
- under terms of your choice, provided that the terms permit
421
- modification of the work for the customer&#39;s own use and reverse
422
- engineering for debugging such modifications.
423
-
424
- You must give prominent notice with each copy of the work that the
425
- Library is used in it and that the Library and its use are covered by
426
- this License. You must supply a copy of this License. If the work
427
- during execution displays copyright notices, you must include the
428
- copyright notice for the Library among them, as well as a reference
429
- directing the user to the copy of this License. Also, you must do one
430
- of these things:
431
-
432
- a) Accompany the work with the complete corresponding
433
- machine-readable source code for the Library including whatever
434
- changes were used in the work (which must be distributed under
435
- Sections 1 and 2 above); and, if the work is an executable linked
436
- with the Library, with the complete machine-readable &quot;work that
437
- uses the Library&quot;, as object code and/or source code, so that the
438
- user can modify the Library and then relink to produce a modified
439
- executable containing the modified Library. (It is understood
440
- that the user who changes the contents of definitions files in the
441
- Library will not necessarily be able to recompile the application
442
- to use the modified definitions.)
443
-
444
- b) Use a suitable shared library mechanism for linking with the
445
- Library. A suitable mechanism is one that (1) uses at run time a
446
- copy of the library already present on the user&#39;s computer system,
447
- rather than copying library functions into the executable, and (2)
448
- will operate properly with a modified version of the library, if
449
- the user installs one, as long as the modified version is
450
- interface-compatible with the version that the work was made with.
451
-
452
- c) Accompany the work with a written offer, valid for at
453
- least three years, to give the same user the materials
454
- specified in Subsection 6a, above, for a charge no more
455
- than the cost of performing this distribution.
456
-
457
- d) If distribution of the work is made by offering access to copy
458
- from a designated place, offer equivalent access to copy the above
459
- specified materials from the same place.
460
-
461
- e) Verify that the user has already received a copy of these
462
- materials or that you have already sent this user a copy.
463
-
464
- For an executable, the required form of the &quot;work that uses the
465
- Library&quot; must include any data and utility programs needed for
466
- reproducing the executable from it. However, as a special exception,
467
- the materials to be distributed need not include anything that is
468
- normally distributed (in either source or binary form) with the major
469
- components (compiler, kernel, and so on) of the operating system on
470
- which the executable runs, unless that component itself accompanies
471
- the executable.
472
-
473
- It may happen that this requirement contradicts the license
474
- restrictions of other proprietary libraries that do not normally
475
- accompany the operating system. Such a contradiction means you cannot
476
- use both them and the Library together in an executable that you
477
- distribute.
478
-
479
- 7. You may place library facilities that are a work based on the
480
- Library side-by-side in a single library together with other library
481
- facilities not covered by this License, and distribute such a combined
482
- library, provided that the separate distribution of the work based on
483
- the Library and of the other library facilities is otherwise
484
- permitted, and provided that you do these two things:
485
-
486
- a) Accompany the combined library with a copy of the same work
487
- based on the Library, uncombined with any other library
488
- facilities. This must be distributed under the terms of the
489
- Sections above.
490
-
491
- b) Give prominent notice with the combined library of the fact
492
- that part of it is a work based on the Library, and explaining
493
- where to find the accompanying uncombined form of the same work.
494
-
495
- 8. You may not copy, modify, sublicense, link with, or distribute
496
- the Library except as expressly provided under this License. Any
497
- attempt otherwise to copy, modify, sublicense, link with, or
498
- distribute the Library is void, and will automatically terminate your
499
- rights under this License. However, parties who have received copies,
500
- or rights, from you under this License will not have their licenses
501
- terminated so long as such parties remain in full compliance.
502
-
503
- 9. You are not required to accept this License, since you have not
504
- signed it. However, nothing else grants you permission to modify or
505
- distribute the Library or its derivative works. These actions are
506
- prohibited by law if you do not accept this License. Therefore, by
507
- modifying or distributing the Library (or any work based on the
508
- Library), you indicate your acceptance of this License to do so, and
509
- all its terms and conditions for copying, distributing or modifying
510
- the Library or works based on it.
511
-
512
- 10. Each time you redistribute the Library (or any work based on the
513
- Library), the recipient automatically receives a license from the
514
- original licensor to copy, distribute, link with or modify the Library
515
- subject to these terms and conditions. You may not impose any further
516
- restrictions on the recipients&#39; exercise of the rights granted herein.
517
- You are not responsible for enforcing compliance by third parties with
518
- this License.
519
-
520
- 11. If, as a consequence of a court judgment or allegation of patent
521
- infringement or for any other reason (not limited to patent issues),
522
- conditions are imposed on you (whether by court order, agreement or
523
- otherwise) that contradict the conditions of this License, they do not
524
- excuse you from the conditions of this License. If you cannot
525
- distribute so as to satisfy simultaneously your obligations under this
526
- License and any other pertinent obligations, then as a consequence you
527
- may not distribute the Library at all. For example, if a patent
528
- license would not permit royalty-free redistribution of the Library by
529
- all those who receive copies directly or indirectly through you, then
530
- the only way you could satisfy both it and this License would be to
531
- refrain entirely from distribution of the Library.
532
-
533
- If any portion of this section is held invalid or unenforceable under any
534
- particular circumstance, the balance of the section is intended to apply,
535
- and the section as a whole is intended to apply in other circumstances.
536
-
537
- It is not the purpose of this section to induce you to infringe any
538
- patents or other property right claims or to contest validity of any
539
- such claims; this section has the sole purpose of protecting the
540
- integrity of the free software distribution system which is
541
- implemented by public license practices. Many people have made
542
- generous contributions to the wide range of software distributed
543
- through that system in reliance on consistent application of that
544
- system; it is up to the author/donor to decide if he or she is willing
545
- to distribute software through any other system and a licensee cannot
546
- impose that choice.
547
-
548
- This section is intended to make thoroughly clear what is believed to
549
- be a consequence of the rest of this License.
550
-
551
- 12. If the distribution and/or use of the Library is restricted in
552
- certain countries either by patents or by copyrighted interfaces, the
553
- original copyright holder who places the Library under this License may add
554
- an explicit geographical distribution limitation excluding those countries,
555
- so that distribution is permitted only in or among countries not thus
556
- excluded. In such case, this License incorporates the limitation as if
557
- written in the body of this License.
558
-
559
- 13. The Free Software Foundation may publish revised and/or new
560
- versions of the Lesser General Public License from time to time.
561
- Such new versions will be similar in spirit to the present version,
562
- but may differ in detail to address new problems or concerns.
563
-
564
- Each version is given a distinguishing version number. If the Library
565
- specifies a version number of this License which applies to it and
566
- &quot;any later version&quot;, you have the option of following the terms and
567
- conditions either of that version or of any later version published by
568
- the Free Software Foundation. If the Library does not specify a
569
- license version number, you may choose any version ever published by
570
- the Free Software Foundation.
571
-
572
- 14. If you wish to incorporate parts of the Library into other free
573
- programs whose distribution conditions are incompatible with these,
574
- write to the author to ask for permission. For software which is
575
- copyrighted by the Free Software Foundation, write to the Free
576
- Software Foundation; we sometimes make exceptions for this. Our
577
- decision will be guided by the two goals of preserving the free status
578
- of all derivatives of our free software and of promoting the sharing
579
- and reuse of software generally.
580
-
581
- NO WARRANTY
582
-
583
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
584
- WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
585
- EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
586
- OTHER PARTIES PROVIDE THE LIBRARY &quot;AS IS&quot; WITHOUT WARRANTY OF ANY
587
- KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
588
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
589
- PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
590
- LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
591
- THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
592
-
593
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
594
- WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
595
- AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
596
- FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
597
- CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
598
- LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
599
- RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
600
- FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
601
- SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
602
- DAMAGES.
133
+ <pre class="code ruby"><code class="ruby">GNU LESSER GENERAL PUBLIC LICENSE
134
+ Version 2.1, February 1999
135
+
136
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
137
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
138
+ Everyone is permitted to copy and distribute verbatim copies
139
+ of this license document, but changing it is not allowed.
140
+
141
+ [This is the first released version of the Lesser GPL. It also counts
142
+ as the successor of the GNU Library Public License, version 2, hence
143
+ the version number 2.1.]
144
+
145
+ Preamble
146
+
147
+ The licenses for most software are designed to take away your
148
+ freedom to share and change it. By contrast, the GNU General Public
149
+ Licenses are intended to guarantee your freedom to share and change
150
+ free software--to make sure the software is free for all its users.
151
+
152
+ This license, the Lesser General Public License, applies to some
153
+ specially designated software packages--typically libraries--of the
154
+ Free Software Foundation and other authors who decide to use it. You
155
+ can use it too, but we suggest you first think carefully about whether
156
+ this license or the ordinary General Public License is the better
157
+ strategy to use in any particular case, based on the explanations below.
158
+
159
+ When we speak of free software, we are referring to freedom of use,
160
+ not price. Our General Public Licenses are designed to make sure that
161
+ you have the freedom to distribute copies of free software (and charge
162
+ for this service if you wish); that you receive source code or can get
163
+ it if you want it; that you can change the software and use pieces of
164
+ it in new free programs; and that you are informed that you can do
165
+ these things.
166
+
167
+ To protect your rights, we need to make restrictions that forbid
168
+ distributors to deny you these rights or to ask you to surrender these
169
+ rights. These restrictions translate to certain responsibilities for
170
+ you if you distribute copies of the library or if you modify it.
171
+
172
+ For example, if you distribute copies of the library, whether gratis
173
+ or for a fee, you must give the recipients all the rights that we gave
174
+ you. You must make sure that they, too, receive or can get the source
175
+ code. If you link other code with the library, you must provide
176
+ complete object files to the recipients, so that they can relink them
177
+ with the library after making changes to the library and recompiling
178
+ it. And you must show them these terms so they know their rights.
179
+
180
+ We protect your rights with a two-step method: (1) we copyright the
181
+ library, and (2) we offer you this license, which gives you legal
182
+ permission to copy, distribute and/or modify the library.
183
+
184
+ To protect each distributor, we want to make it very clear that
185
+ there is no warranty for the free library. Also, if the library is
186
+ modified by someone else and passed on, the recipients should know
187
+ that what they have is not the original version, so that the original
188
+ author&#39;s reputation will not be affected by problems that might be
189
+ introduced by others.
190
+
191
+ Finally, software patents pose a constant threat to the existence of
192
+ any free program. We wish to make sure that a company cannot
193
+ effectively restrict the users of a free program by obtaining a
194
+ restrictive license from a patent holder. Therefore, we insist that
195
+ any patent license obtained for a version of the library must be
196
+ consistent with the full freedom of use specified in this license.
197
+
198
+ Most GNU software, including some libraries, is covered by the
199
+ ordinary GNU General Public License. This license, the GNU Lesser
200
+ General Public License, applies to certain designated libraries, and
201
+ is quite different from the ordinary General Public License. We use
202
+ this license for certain libraries in order to permit linking those
203
+ libraries into non-free programs.
204
+
205
+ When a program is linked with a library, whether statically or using
206
+ a shared library, the combination of the two is legally speaking a
207
+ combined work, a derivative of the original library. The ordinary
208
+ General Public License therefore permits such linking only if the
209
+ entire combination fits its criteria of freedom. The Lesser General
210
+ Public License permits more lax criteria for linking other code with
211
+ the library.
212
+
213
+ We call this license the &quot;Lesser&quot; General Public License because it
214
+ does Less to protect the user&#39;s freedom than the ordinary General
215
+ Public License. It also provides other free software developers Less
216
+ of an advantage over competing non-free programs. These disadvantages
217
+ are the reason we use the ordinary General Public License for many
218
+ libraries. However, the Lesser license provides advantages in certain
219
+ special circumstances.
220
+
221
+ For example, on rare occasions, there may be a special need to
222
+ encourage the widest possible use of a certain library, so that it becomes
223
+ a de-facto standard. To achieve this, non-free programs must be
224
+ allowed to use the library. A more frequent case is that a free
225
+ library does the same job as widely used non-free libraries. In this
226
+ case, there is little to gain by limiting the free library to free
227
+ software only, so we use the Lesser General Public License.
228
+
229
+ In other cases, permission to use a particular library in non-free
230
+ programs enables a greater number of people to use a large body of
231
+ free software. For example, permission to use the GNU C Library in
232
+ non-free programs enables many more people to use the whole GNU
233
+ operating system, as well as its variant, the GNU/Linux operating
234
+ system.
235
+
236
+ Although the Lesser General Public License is Less protective of the
237
+ users&#39; freedom, it does ensure that the user of a program that is
238
+ linked with the Library has the freedom and the wherewithal to run
239
+ that program using a modified version of the Library.
240
+
241
+ The precise terms and conditions for copying, distribution and
242
+ modification follow. Pay close attention to the difference between a
243
+ &quot;work based on the library&quot; and a &quot;work that uses the library&quot;. The
244
+ former contains code derived from the library, whereas the latter must
245
+ be combined with the library in order to run.
246
+
247
+ GNU LESSER GENERAL PUBLIC LICENSE
248
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
249
+
250
+ 0. This License Agreement applies to any software library or other
251
+ program which contains a notice placed by the copyright holder or
252
+ other authorized party saying it may be distributed under the terms of
253
+ this Lesser General Public License (also called &quot;this License&quot;).
254
+ Each licensee is addressed as &quot;you&quot;.
255
+
256
+ A &quot;library&quot; means a collection of software functions and/or data
257
+ prepared so as to be conveniently linked with application programs
258
+ (which use some of those functions and data) to form executables.
259
+
260
+ The &quot;Library&quot;, below, refers to any such software library or work
261
+ which has been distributed under these terms. A &quot;work based on the
262
+ Library&quot; means either the Library or any derivative work under
263
+ copyright law: that is to say, a work containing the Library or a
264
+ portion of it, either verbatim or with modifications and/or translated
265
+ straightforwardly into another language. (Hereinafter, translation is
266
+ included without limitation in the term &quot;modification&quot;.)
267
+
268
+ &quot;Source code&quot; for a work means the preferred form of the work for
269
+ making modifications to it. For a library, complete source code means
270
+ all the source code for all modules it contains, plus any associated
271
+ interface definition files, plus the scripts used to control compilation
272
+ and installation of the library.
273
+
274
+ Activities other than copying, distribution and modification are not
275
+ covered by this License; they are outside its scope. The act of
276
+ running a program using the Library is not restricted, and output from
277
+ such a program is covered only if its contents constitute a work based
278
+ on the Library (independent of the use of the Library in a tool for
279
+ writing it). Whether that is true depends on what the Library does
280
+ and what the program that uses the Library does.
281
+
282
+ 1. You may copy and distribute verbatim copies of the Library&#39;s
283
+ complete source code as you receive it, in any medium, provided that
284
+ you conspicuously and appropriately publish on each copy an
285
+ appropriate copyright notice and disclaimer of warranty; keep intact
286
+ all the notices that refer to this License and to the absence of any
287
+ warranty; and distribute a copy of this License along with the
288
+ Library.
289
+
290
+ You may charge a fee for the physical act of transferring a copy,
291
+ and you may at your option offer warranty protection in exchange for a
292
+ fee.
293
+
294
+ 2. You may modify your copy or copies of the Library or any portion
295
+ of it, thus forming a work based on the Library, and copy and
296
+ distribute such modifications or work under the terms of Section 1
297
+ above, provided that you also meet all of these conditions:
298
+
299
+ a) The modified work must itself be a software library.
300
+
301
+ b) You must cause the files modified to carry prominent notices
302
+ stating that you changed the files and the date of any change.
303
+
304
+ c) You must cause the whole of the work to be licensed at no
305
+ charge to all third parties under the terms of this License.
306
+
307
+ d) If a facility in the modified Library refers to a function or a
308
+ table of data to be supplied by an application program that uses
309
+ the facility, other than as an argument passed when the facility
310
+ is invoked, then you must make a good faith effort to ensure that,
311
+ in the event an application does not supply such function or
312
+ table, the facility still operates, and performs whatever part of
313
+ its purpose remains meaningful.
314
+
315
+ (For example, a function in a library to compute square roots has
316
+ a purpose that is entirely well-defined independent of the
317
+ application. Therefore, Subsection 2d requires that any
318
+ application-supplied function or table used by this function must
319
+ be optional: if the application does not supply it, the square
320
+ root function must still compute square roots.)
321
+
322
+ These requirements apply to the modified work as a whole. If
323
+ identifiable sections of that work are not derived from the Library,
324
+ and can be reasonably considered independent and separate works in
325
+ themselves, then this License, and its terms, do not apply to those
326
+ sections when you distribute them as separate works. But when you
327
+ distribute the same sections as part of a whole which is a work based
328
+ on the Library, the distribution of the whole must be on the terms of
329
+ this License, whose permissions for other licensees extend to the
330
+ entire whole, and thus to each and every part regardless of who wrote
331
+ it.
332
+
333
+ Thus, it is not the intent of this section to claim rights or contest
334
+ your rights to work written entirely by you; rather, the intent is to
335
+ exercise the right to control the distribution of derivative or
336
+ collective works based on the Library.
337
+
338
+ In addition, mere aggregation of another work not based on the Library
339
+ with the Library (or with a work based on the Library) on a volume of
340
+ a storage or distribution medium does not bring the other work under
341
+ the scope of this License.
342
+
343
+ 3. You may opt to apply the terms of the ordinary GNU General Public
344
+ License instead of this License to a given copy of the Library. To do
345
+ this, you must alter all the notices that refer to this License, so
346
+ that they refer to the ordinary GNU General Public License, version 2,
347
+ instead of to this License. (If a newer version than version 2 of the
348
+ ordinary GNU General Public License has appeared, then you can specify
349
+ that version instead if you wish.) Do not make any other change in
350
+ these notices.
351
+
352
+ Once this change is made in a given copy, it is irreversible for
353
+ that copy, so the ordinary GNU General Public License applies to all
354
+ subsequent copies and derivative works made from that copy.
355
+
356
+ This option is useful when you wish to copy part of the code of
357
+ the Library into a program that is not a library.
358
+
359
+ 4. You may copy and distribute the Library (or a portion or
360
+ derivative of it, under Section 2) in object code or executable form
361
+ under the terms of Sections 1 and 2 above provided that you accompany
362
+ it with the complete corresponding machine-readable source code, which
363
+ must be distributed under the terms of Sections 1 and 2 above on a
364
+ medium customarily used for software interchange.
365
+
366
+ If distribution of object code is made by offering access to copy
367
+ from a designated place, then offering equivalent access to copy the
368
+ source code from the same place satisfies the requirement to
369
+ distribute the source code, even though third parties are not
370
+ compelled to copy the source along with the object code.
371
+
372
+ 5. A program that contains no derivative of any portion of the
373
+ Library, but is designed to work with the Library by being compiled or
374
+ linked with it, is called a &quot;work that uses the Library&quot;. Such a
375
+ work, in isolation, is not a derivative work of the Library, and
376
+ therefore falls outside the scope of this License.
377
+
378
+ However, linking a &quot;work that uses the Library&quot; with the Library
379
+ creates an executable that is a derivative of the Library (because it
380
+ contains portions of the Library), rather than a &quot;work that uses the
381
+ library&quot;. The executable is therefore covered by this License.
382
+ Section 6 states terms for distribution of such executables.
383
+
384
+ When a &quot;work that uses the Library&quot; uses material from a header file
385
+ that is part of the Library, the object code for the work may be a
386
+ derivative work of the Library even though the source code is not.
387
+ Whether this is true is especially significant if the work can be
388
+ linked without the Library, or if the work is itself a library. The
389
+ threshold for this to be true is not precisely defined by law.
390
+
391
+ If such an object file uses only numerical parameters, data
392
+ structure layouts and accessors, and small macros and small inline
393
+ functions (ten lines or less in length), then the use of the object
394
+ file is unrestricted, regardless of whether it is legally a derivative
395
+ work. (Executables containing this object code plus portions of the
396
+ Library will still fall under Section 6.)
397
+
398
+ Otherwise, if the work is a derivative of the Library, you may
399
+ distribute the object code for the work under the terms of Section 6.
400
+ Any executables containing that work also fall under Section 6,
401
+ whether or not they are linked directly with the Library itself.
402
+
403
+ 6. As an exception to the Sections above, you may also combine or
404
+ link a &quot;work that uses the Library&quot; with the Library to produce a
405
+ work containing portions of the Library, and distribute that work
406
+ under terms of your choice, provided that the terms permit
407
+ modification of the work for the customer&#39;s own use and reverse
408
+ engineering for debugging such modifications.
409
+
410
+ You must give prominent notice with each copy of the work that the
411
+ Library is used in it and that the Library and its use are covered by
412
+ this License. You must supply a copy of this License. If the work
413
+ during execution displays copyright notices, you must include the
414
+ copyright notice for the Library among them, as well as a reference
415
+ directing the user to the copy of this License. Also, you must do one
416
+ of these things:
417
+
418
+ a) Accompany the work with the complete corresponding
419
+ machine-readable source code for the Library including whatever
420
+ changes were used in the work (which must be distributed under
421
+ Sections 1 and 2 above); and, if the work is an executable linked
422
+ with the Library, with the complete machine-readable &quot;work that
423
+ uses the Library&quot;, as object code and/or source code, so that the
424
+ user can modify the Library and then relink to produce a modified
425
+ executable containing the modified Library. (It is understood
426
+ that the user who changes the contents of definitions files in the
427
+ Library will not necessarily be able to recompile the application
428
+ to use the modified definitions.)
429
+
430
+ b) Use a suitable shared library mechanism for linking with the
431
+ Library. A suitable mechanism is one that (1) uses at run time a
432
+ copy of the library already present on the user&#39;s computer system,
433
+ rather than copying library functions into the executable, and (2)
434
+ will operate properly with a modified version of the library, if
435
+ the user installs one, as long as the modified version is
436
+ interface-compatible with the version that the work was made with.
437
+
438
+ c) Accompany the work with a written offer, valid for at
439
+ least three years, to give the same user the materials
440
+ specified in Subsection 6a, above, for a charge no more
441
+ than the cost of performing this distribution.
442
+
443
+ d) If distribution of the work is made by offering access to copy
444
+ from a designated place, offer equivalent access to copy the above
445
+ specified materials from the same place.
446
+
447
+ e) Verify that the user has already received a copy of these
448
+ materials or that you have already sent this user a copy.
449
+
450
+ For an executable, the required form of the &quot;work that uses the
451
+ Library&quot; must include any data and utility programs needed for
452
+ reproducing the executable from it. However, as a special exception,
453
+ the materials to be distributed need not include anything that is
454
+ normally distributed (in either source or binary form) with the major
455
+ components (compiler, kernel, and so on) of the operating system on
456
+ which the executable runs, unless that component itself accompanies
457
+ the executable.
458
+
459
+ It may happen that this requirement contradicts the license
460
+ restrictions of other proprietary libraries that do not normally
461
+ accompany the operating system. Such a contradiction means you cannot
462
+ use both them and the Library together in an executable that you
463
+ distribute.
464
+
465
+ 7. You may place library facilities that are a work based on the
466
+ Library side-by-side in a single library together with other library
467
+ facilities not covered by this License, and distribute such a combined
468
+ library, provided that the separate distribution of the work based on
469
+ the Library and of the other library facilities is otherwise
470
+ permitted, and provided that you do these two things:
471
+
472
+ a) Accompany the combined library with a copy of the same work
473
+ based on the Library, uncombined with any other library
474
+ facilities. This must be distributed under the terms of the
475
+ Sections above.
476
+
477
+ b) Give prominent notice with the combined library of the fact
478
+ that part of it is a work based on the Library, and explaining
479
+ where to find the accompanying uncombined form of the same work.
480
+
481
+ 8. You may not copy, modify, sublicense, link with, or distribute
482
+ the Library except as expressly provided under this License. Any
483
+ attempt otherwise to copy, modify, sublicense, link with, or
484
+ distribute the Library is void, and will automatically terminate your
485
+ rights under this License. However, parties who have received copies,
486
+ or rights, from you under this License will not have their licenses
487
+ terminated so long as such parties remain in full compliance.
488
+
489
+ 9. You are not required to accept this License, since you have not
490
+ signed it. However, nothing else grants you permission to modify or
491
+ distribute the Library or its derivative works. These actions are
492
+ prohibited by law if you do not accept this License. Therefore, by
493
+ modifying or distributing the Library (or any work based on the
494
+ Library), you indicate your acceptance of this License to do so, and
495
+ all its terms and conditions for copying, distributing or modifying
496
+ the Library or works based on it.
497
+
498
+ 10. Each time you redistribute the Library (or any work based on the
499
+ Library), the recipient automatically receives a license from the
500
+ original licensor to copy, distribute, link with or modify the Library
501
+ subject to these terms and conditions. You may not impose any further
502
+ restrictions on the recipients&#39; exercise of the rights granted herein.
503
+ You are not responsible for enforcing compliance by third parties with
504
+ this License.
505
+
506
+ 11. If, as a consequence of a court judgment or allegation of patent
507
+ infringement or for any other reason (not limited to patent issues),
508
+ conditions are imposed on you (whether by court order, agreement or
509
+ otherwise) that contradict the conditions of this License, they do not
510
+ excuse you from the conditions of this License. If you cannot
511
+ distribute so as to satisfy simultaneously your obligations under this
512
+ License and any other pertinent obligations, then as a consequence you
513
+ may not distribute the Library at all. For example, if a patent
514
+ license would not permit royalty-free redistribution of the Library by
515
+ all those who receive copies directly or indirectly through you, then
516
+ the only way you could satisfy both it and this License would be to
517
+ refrain entirely from distribution of the Library.
518
+
519
+ If any portion of this section is held invalid or unenforceable under any
520
+ particular circumstance, the balance of the section is intended to apply,
521
+ and the section as a whole is intended to apply in other circumstances.
522
+
523
+ It is not the purpose of this section to induce you to infringe any
524
+ patents or other property right claims or to contest validity of any
525
+ such claims; this section has the sole purpose of protecting the
526
+ integrity of the free software distribution system which is
527
+ implemented by public license practices. Many people have made
528
+ generous contributions to the wide range of software distributed
529
+ through that system in reliance on consistent application of that
530
+ system; it is up to the author/donor to decide if he or she is willing
531
+ to distribute software through any other system and a licensee cannot
532
+ impose that choice.
533
+
534
+ This section is intended to make thoroughly clear what is believed to
535
+ be a consequence of the rest of this License.
536
+
537
+ 12. If the distribution and/or use of the Library is restricted in
538
+ certain countries either by patents or by copyrighted interfaces, the
539
+ original copyright holder who places the Library under this License may add
540
+ an explicit geographical distribution limitation excluding those countries,
541
+ so that distribution is permitted only in or among countries not thus
542
+ excluded. In such case, this License incorporates the limitation as if
543
+ written in the body of this License.
544
+
545
+ 13. The Free Software Foundation may publish revised and/or new
546
+ versions of the Lesser General Public License from time to time.
547
+ Such new versions will be similar in spirit to the present version,
548
+ but may differ in detail to address new problems or concerns.
549
+
550
+ Each version is given a distinguishing version number. If the Library
551
+ specifies a version number of this License which applies to it and
552
+ &quot;any later version&quot;, you have the option of following the terms and
553
+ conditions either of that version or of any later version published by
554
+ the Free Software Foundation. If the Library does not specify a
555
+ license version number, you may choose any version ever published by
556
+ the Free Software Foundation.
557
+
558
+ 14. If you wish to incorporate parts of the Library into other free
559
+ programs whose distribution conditions are incompatible with these,
560
+ write to the author to ask for permission. For software which is
561
+ copyrighted by the Free Software Foundation, write to the Free
562
+ Software Foundation; we sometimes make exceptions for this. Our
563
+ decision will be guided by the two goals of preserving the free status
564
+ of all derivatives of our free software and of promoting the sharing
565
+ and reuse of software generally.
566
+
567
+ NO WARRANTY
568
+
569
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
570
+ WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
571
+ EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
572
+ OTHER PARTIES PROVIDE THE LIBRARY &quot;AS IS&quot; WITHOUT WARRANTY OF ANY
573
+ KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
574
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
575
+ PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
576
+ LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
577
+ THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
578
+
579
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
580
+ WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
581
+ AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
582
+ FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
583
+ CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
584
+ LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
585
+ RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
586
+ FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
587
+ SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
588
+ DAMAGES.
603
589
  </code></pre>
604
590
  </div></div>
605
591
 
606
592
  <div id="footer">
607
- Generated on Fri Nov 27 21:10:27 2020 by
608
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
609
- 0.9.24 (ruby-2.7.2).
593
+ Generated on Sun May 14 21:55:12 2023 by
594
+ <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
595
+ 0.9.34 (ruby-3.2.0).
610
596
  </div>
611
597
 
612
598
  </div>