fxruby 1.6.22.pre2-x86-mingw32 → 1.6.22.pre3-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.
- data/History.txt +1 -1
- data/README.txt +10 -10
- data/Rakefile +3 -2
- data/doap.rdf +2 -2
- data/examples/babelfish.rb +2 -2
- data/examples/bounce.rb +20 -20
- data/examples/charts.rb +2 -2
- data/examples/custom_table_item.rb +3 -3
- data/examples/datatarget.rb +2 -2
- data/examples/dctest.rb +51 -51
- data/examples/dialog.rb +14 -14
- data/examples/dilbert.rb +4 -4
- data/examples/dirlist.rb +6 -6
- data/examples/dragdrop.rb +7 -7
- data/examples/dragsource.rb +6 -6
- data/examples/dropsite.rb +5 -5
- data/examples/foursplit.rb +6 -6
- data/examples/gltest.rb +40 -40
- data/examples/glviewer.rb +16 -16
- data/examples/groupbox.rb +41 -41
- data/examples/header.rb +6 -6
- data/examples/hello2.rb +2 -2
- data/examples/iconlist.rb +10 -10
- data/examples/image.rb +26 -26
- data/examples/imageviewer.rb +31 -31
- data/examples/inputs.rb +2 -2
- data/examples/mditest.rb +12 -12
- data/examples/pig.rb +8 -8
- data/examples/raabrowser.rb +5 -5
- data/examples/ratio.rb +9 -9
- data/examples/rulerview.rb +2 -2
- data/examples/scintilla-test.rb +6 -6
- data/examples/scribble-orig.rb +3 -3
- data/examples/scribble.rb +3 -3
- data/examples/shutter.rb +6 -6
- data/examples/splitter.rb +15 -15
- data/examples/styledtext.rb +10 -10
- data/examples/tabbook.rb +14 -14
- data/examples/table.rb +21 -21
- data/examples/textedit/helpwindow.rb +6 -6
- data/examples/textedit/textedit.rb +72 -72
- data/ext/fox16/FXRuby.cpp +48 -5
- data/ext/fox16/core_wrap.cpp +1 -1
- data/ext/fox16/iconlist_wrap.cpp +1 -1
- data/ext/fox16/icons_wrap.cpp +1 -1
- data/ext/fox16/include/FXMemoryBuffer.h +3 -3
- data/ext/fox16/include/FXRbApp.h +1 -1
- data/ext/fox16/include/FXRbBitmap.h +1 -1
- data/ext/fox16/include/FXRbBitmapFrame.h +2 -2
- data/ext/fox16/include/FXRbBitmapVirtuals.h +2 -2
- data/ext/fox16/include/FXRbDCPrint.h +1 -1
- data/ext/fox16/include/FXRbDCVirtuals.h +24 -24
- data/ext/fox16/include/FXRbDCWindow.h +1 -1
- data/ext/fox16/include/FXRbDockBar.h +1 -1
- data/ext/fox16/include/FXRbFileDict.h +2 -2
- data/ext/fox16/include/FXRbFoldingList.h +1 -1
- data/ext/fox16/include/FXRbFontVirtuals.h +9 -9
- data/ext/fox16/include/FXRbGLViewerVirtuals.h +2 -2
- data/ext/fox16/include/FXRbIconItemVirtuals.h +8 -8
- data/ext/fox16/include/FXRbIconListVirtuals.h +7 -7
- data/ext/fox16/include/FXRbIconSourceVirtuals.h +1 -1
- data/ext/fox16/include/FXRbImageFrame.h +2 -2
- data/ext/fox16/include/FXRbImageVirtuals.h +1 -1
- data/ext/fox16/include/FXRbListVirtuals.h +4 -4
- data/ext/fox16/include/FXRbMenuBar.h +1 -1
- data/ext/fox16/include/FXRbPopupVirtuals.h +1 -1
- data/ext/fox16/include/FXRbRecentFiles.h +1 -1
- data/ext/fox16/include/FXRbRuler.h +3 -3
- data/ext/fox16/include/FXRbRulerView.h +3 -3
- data/ext/fox16/include/FXRbScintilla.h +1 -1
- data/ext/fox16/include/FXRbSeparator.h +2 -2
- data/ext/fox16/include/FXRbTableItemVirtuals.h +8 -8
- data/ext/fox16/include/FXRbTableVirtuals.h +13 -13
- data/ext/fox16/include/FXRbText.h +2 -2
- data/ext/fox16/include/FXRbTextVirtuals.h +3 -3
- data/ext/fox16/include/FXRbToolBar.h +1 -1
- data/ext/fox16/include/FXRbToolBarGrip.h +1 -1
- data/ext/fox16/include/FXRbToolBarTab.h +1 -1
- data/ext/fox16/include/FXRbTreeList.h +1 -1
- data/ext/fox16/include/FXRbTreeListVirtuals.h +4 -4
- data/ext/fox16/include/FXRbWindow.h +3 -3
- data/ext/fox16/include/FXRbWizard.h +2 -2
- data/ext/fox16/include/FXRuby.h +8 -4
- data/ext/fox16/librb.c +12 -12
- data/ext/fox16/list_wrap.cpp +1 -1
- data/ext/fox16/make_impl.rb +5 -5
- data/ext/fox16/markfuncs.cpp +228 -220
- data/ext/fox16/scintilla_wrap.cpp +1 -1
- data/ext/fox16/treelist_wrap.cpp +4 -4
- data/ext/fox16/ui_wrap.cpp +2 -2
- data/ext/fox16/unregisterOwnedObjects.cpp +3 -3
- data/lib/1.8/fox16.so +0 -0
- data/lib/1.9/fox16.so +0 -0
- data/lib/fox16/accel_table.rb +1 -1
- data/lib/fox16/aliases.rb +3 -3
- data/lib/fox16/calendar.rb +21 -21
- data/lib/fox16/chore.rb +2 -2
- data/lib/fox16/core.rb +70 -70
- data/lib/fox16/dict.rb +1 -1
- data/lib/fox16/execute_nonmodal.rb +1 -1
- data/lib/fox16/glgroup.rb +16 -16
- data/lib/fox16/glshapes.rb +26 -26
- data/lib/fox16/input.rb +4 -4
- data/lib/fox16/irb.rb +2 -2
- data/lib/fox16/iterators.rb +2 -2
- data/lib/fox16/keys.rb +34 -34
- data/lib/fox16/kwargs.rb +927 -927
- data/lib/fox16/pseudokeyboard.rb +1 -1
- data/lib/fox16/pseudomouse.rb +1 -1
- data/lib/fox16/responder2.rb +4 -4
- data/lib/fox16/scintilla.rb +2 -2
- data/lib/fox16/signal.rb +4 -4
- data/lib/fox16/splashscreen.rb +3 -3
- data/lib/fox16/timeout.rb +3 -3
- data/lib/fox16/undolist.rb +9 -9
- data/lib/fox16/version.rb +1 -1
- data/rdoc-sources/FX4Splitter.rb +9 -9
- data/rdoc-sources/FX7Segment.rb +9 -9
- data/rdoc-sources/FXAccelTable.rb +1 -1
- data/rdoc-sources/FXApp.rb +50 -50
- data/rdoc-sources/FXBMPIcon.rb +3 -3
- data/rdoc-sources/FXBMPImage.rb +2 -2
- data/rdoc-sources/FXBitmap.rb +11 -11
- data/rdoc-sources/FXBitmapFrame.rb +5 -5
- data/rdoc-sources/FXBitmapView.rb +2 -2
- data/rdoc-sources/FXButton.rb +2 -2
- data/rdoc-sources/FXCheckButton.rb +5 -5
- data/rdoc-sources/FXColorBar.rb +5 -5
- data/rdoc-sources/FXColorDialog.rb +2 -2
- data/rdoc-sources/FXColorList.rb +2 -2
- data/rdoc-sources/FXColorRing.rb +8 -8
- data/rdoc-sources/FXColorSelector.rb +4 -4
- data/rdoc-sources/FXColorWell.rb +4 -4
- data/rdoc-sources/FXColorWheel.rb +6 -6
- data/rdoc-sources/FXComboBox.rb +17 -17
- data/rdoc-sources/FXComposite.rb +2 -2
- data/rdoc-sources/FXCursor.rb +7 -7
- data/rdoc-sources/FXDC.rb +67 -67
- data/rdoc-sources/FXDCPrint.rb +22 -22
- data/rdoc-sources/FXDCWindow.rb +1 -1
- data/rdoc-sources/FXDataTarget.rb +2 -2
- data/rdoc-sources/FXDebugTarget.rb +1 -1
- data/rdoc-sources/FXDelegator.rb +1 -1
- data/rdoc-sources/FXDial.rb +8 -8
- data/rdoc-sources/FXDict.rb +7 -7
- data/rdoc-sources/FXDirBox.rb +3 -3
- data/rdoc-sources/FXDirDialog.rb +7 -7
- data/rdoc-sources/FXDirList.rb +21 -21
- data/rdoc-sources/FXDirSelector.rb +8 -8
- data/rdoc-sources/FXDockBar.rb +5 -5
- data/rdoc-sources/FXDockHandler.rb +3 -3
- data/rdoc-sources/FXDockSite.rb +2 -2
- data/rdoc-sources/FXDockTitle.rb +3 -3
- data/rdoc-sources/FXDocument.rb +3 -3
- data/rdoc-sources/FXDragCorner.rb +3 -3
- data/rdoc-sources/FXDrawable.rb +3 -3
- data/rdoc-sources/FXDriveBox.rb +4 -4
- data/rdoc-sources/FXExtentd.rb +2 -2
- data/rdoc-sources/FXExtentf.rb +2 -2
- data/rdoc-sources/FXFileDialog.rb +21 -21
- data/rdoc-sources/FXFileDict.rb +17 -17
- data/rdoc-sources/FXFileList.rb +32 -32
- data/rdoc-sources/FXFileSelector.rb +20 -20
- data/rdoc-sources/FXFileStream.rb +1 -1
- data/rdoc-sources/FXFoldingList.rb +53 -53
- data/rdoc-sources/FXFont.rb +38 -38
- data/rdoc-sources/FXFrame.rb +11 -11
- data/rdoc-sources/FXGIFCursor.rb +3 -3
- data/rdoc-sources/FXGLCanvas.rb +2 -2
- data/rdoc-sources/FXGLContext.rb +6 -6
- data/rdoc-sources/FXGLObject.rb +6 -6
- data/rdoc-sources/FXGLShape.rb +3 -3
- data/rdoc-sources/FXGLViewer.rb +54 -54
- data/rdoc-sources/FXGLVisual.rb +13 -13
- data/rdoc-sources/FXGradientBar.rb +15 -15
- data/rdoc-sources/FXGroupBox.rb +4 -4
- data/rdoc-sources/FXHeader.rb +44 -44
- data/rdoc-sources/FXICOIcon.rb +1 -1
- data/rdoc-sources/FXICOImage.rb +1 -1
- data/rdoc-sources/FXIconDict.rb +1 -1
- data/rdoc-sources/FXIconList.rb +69 -69
- data/rdoc-sources/FXIconSource.rb +2 -2
- data/rdoc-sources/FXId.rb +1 -1
- data/rdoc-sources/FXImage.rb +11 -11
- data/rdoc-sources/FXImageFrame.rb +3 -3
- data/rdoc-sources/FXImageView.rb +2 -2
- data/rdoc-sources/FXInputDialog.rb +6 -6
- data/rdoc-sources/FXJPGIcon.rb +3 -3
- data/rdoc-sources/FXJPGImage.rb +2 -2
- data/rdoc-sources/FXKnob.rb +9 -9
- data/rdoc-sources/FXLabel.rb +8 -8
- data/rdoc-sources/FXList.rb +28 -28
- data/rdoc-sources/FXListBox.rb +21 -21
- data/rdoc-sources/FXMDIChild.rb +11 -11
- data/rdoc-sources/FXMDIClient.rb +5 -5
- data/rdoc-sources/FXMatrix.rb +6 -6
- data/rdoc-sources/FXMemoryBuffer.rb +1 -1
- data/rdoc-sources/FXMemoryStream.rb +3 -3
- data/rdoc-sources/FXMenuBar.rb +1 -1
- data/rdoc-sources/FXMenuButton.rb +7 -7
- data/rdoc-sources/FXMenuCaption.rb +10 -10
- data/rdoc-sources/FXMenuCheck.rb +1 -1
- data/rdoc-sources/FXMenuRadio.rb +1 -1
- data/rdoc-sources/FXMenuSeparator.rb +1 -1
- data/rdoc-sources/FXMessageBox.rb +3 -3
- data/rdoc-sources/FXOptionMenu.rb +9 -9
- data/rdoc-sources/FXPCXIcon.rb +2 -2
- data/rdoc-sources/FXPCXImage.rb +1 -1
- data/rdoc-sources/FXPNGIcon.rb +3 -3
- data/rdoc-sources/FXPNGImage.rb +1 -1
- data/rdoc-sources/FXPPMIcon.rb +2 -2
- data/rdoc-sources/FXPPMImage.rb +1 -1
- data/rdoc-sources/FXPacker.rb +13 -13
- data/rdoc-sources/FXPopup.rb +11 -11
- data/rdoc-sources/FXProgressBar.rb +7 -7
- data/rdoc-sources/FXProgressDialog.rb +3 -3
- data/rdoc-sources/FXQuatd.rb +17 -17
- data/rdoc-sources/FXQuatf.rb +18 -18
- data/rdoc-sources/FXRGBIcon.rb +3 -3
- data/rdoc-sources/FXRGBImage.rb +1 -1
- data/rdoc-sources/FXRadioButton.rb +4 -4
- data/rdoc-sources/FXRanged.rb +1 -1
- data/rdoc-sources/FXRangef.rb +1 -1
- data/rdoc-sources/FXRealSlider.rb +7 -7
- data/rdoc-sources/FXRealSpinner.rb +11 -11
- data/rdoc-sources/FXRecentFiles.rb +8 -8
- data/rdoc-sources/FXRectangle.rb +12 -12
- data/rdoc-sources/FXRegion.rb +15 -15
- data/rdoc-sources/FXRegistry.rb +4 -4
- data/rdoc-sources/FXReplaceDialog.rb +3 -3
- data/rdoc-sources/FXRuler.rb +18 -18
- data/rdoc-sources/FXRulerView.rb +38 -38
- data/rdoc-sources/FXScintilla.rb +16 -16
- data/rdoc-sources/FXScrollArea.rb +9 -9
- data/rdoc-sources/FXScrollBar.rb +8 -8
- data/rdoc-sources/FXScrollPane.rb +1 -1
- data/rdoc-sources/FXScrollWindow.rb +5 -5
- data/rdoc-sources/FXSeparator.rb +1 -1
- data/rdoc-sources/FXSettings.rb +1 -1
- data/rdoc-sources/FXShutter.rb +3 -3
- data/rdoc-sources/FXSize.rb +4 -4
- data/rdoc-sources/FXSlider.rb +7 -7
- data/rdoc-sources/FXSphered.rb +21 -21
- data/rdoc-sources/FXSpheref.rb +20 -20
- data/rdoc-sources/FXSpinner.rb +12 -12
- data/rdoc-sources/FXSplashWindow.rb +1 -1
- data/rdoc-sources/FXSplitter.rb +6 -6
- data/rdoc-sources/FXSpring.rb +2 -2
- data/rdoc-sources/FXStatusBar.rb +4 -4
- data/rdoc-sources/FXStatusLine.rb +5 -5
- data/rdoc-sources/FXStream.rb +8 -8
- data/rdoc-sources/FXStringDict.rb +5 -5
- data/rdoc-sources/FXSwitcher.rb +2 -2
- data/rdoc-sources/FXTGAIcon.rb +3 -3
- data/rdoc-sources/FXTGAImage.rb +1 -1
- data/rdoc-sources/FXTIFIcon.rb +2 -2
- data/rdoc-sources/FXTIFImage.rb +2 -2
- data/rdoc-sources/FXTabBar.rb +2 -2
- data/rdoc-sources/FXTable.rb +131 -131
- data/rdoc-sources/FXText.rb +48 -48
- data/rdoc-sources/FXTextField.rb +9 -9
- data/rdoc-sources/FXToolBar.rb +1 -1
- data/rdoc-sources/FXToolBarGrip.rb +1 -1
- data/rdoc-sources/FXToolBarShell.rb +7 -7
- data/rdoc-sources/FXToolBarTab.rb +3 -3
- data/rdoc-sources/FXToolTip.rb +1 -1
- data/rdoc-sources/FXTopWindow.rb +17 -17
- data/rdoc-sources/FXTranslator.rb +5 -5
- data/rdoc-sources/FXTreeList.rb +50 -50
- data/rdoc-sources/FXTreeListBox.rb +16 -16
- data/rdoc-sources/FXVec2d.rb +5 -5
- data/rdoc-sources/FXVec2f.rb +5 -5
- data/rdoc-sources/FXVec3d.rb +8 -8
- data/rdoc-sources/FXVec3f.rb +8 -8
- data/rdoc-sources/FXVec4d.rb +8 -8
- data/rdoc-sources/FXVec4f.rb +8 -8
- data/rdoc-sources/FXVisual.rb +3 -3
- data/rdoc-sources/FXWindow.rb +99 -99
- data/rdoc-sources/FXWizard.rb +8 -8
- data/rdoc-sources/FXXBMIcon.rb +2 -2
- data/rdoc-sources/FXXBMImage.rb +1 -1
- data/rdoc-sources/FXXPMIcon.rb +2 -2
- data/rdoc-sources/FXXPMImage.rb +1 -1
- data/rdoc-sources/fxdefs.rb +17 -17
- data/scripts/generate_kwargs_lib.rb +22 -22
- data/scripts/iface.rb +1 -1
- data/swig-interfaces/FX4Splitter.i +5 -5
- data/swig-interfaces/FX7Segment.i +5 -5
- data/swig-interfaces/FXApp.i +10 -10
- data/swig-interfaces/FXBMPIcon.i +2 -2
- data/swig-interfaces/FXBitmap.i +3 -3
- data/swig-interfaces/FXBitmapFrame.i +1 -1
- data/swig-interfaces/FXBitmapView.i +1 -1
- data/swig-interfaces/FXCanvas.i +1 -1
- data/swig-interfaces/FXCheckButton.i +2 -2
- data/swig-interfaces/FXChoiceBox.i +2 -2
- data/swig-interfaces/FXColorBar.i +7 -7
- data/swig-interfaces/FXColorList.i +5 -5
- data/swig-interfaces/FXColorWell.i +1 -1
- data/swig-interfaces/FXColorWheel.i +6 -6
- data/swig-interfaces/FXComboBox.i +4 -4
- data/swig-interfaces/FXCursor.i +4 -4
- data/swig-interfaces/FXDC.i +23 -23
- data/swig-interfaces/FXDCPrint.i +5 -5
- data/swig-interfaces/FXDCWindow.i +8 -8
- data/swig-interfaces/FXDataTarget.i +5 -5
- data/swig-interfaces/FXDebugTarget.i +1 -1
- data/swig-interfaces/FXDelegator.i +3 -3
- data/swig-interfaces/FXDial.i +8 -8
- data/swig-interfaces/FXDialogBox.i +3 -3
- data/swig-interfaces/FXDict.i +14 -14
- data/swig-interfaces/FXDirBox.i +1 -1
- data/swig-interfaces/FXDirDialog.i +2 -2
- data/swig-interfaces/FXDirList.i +16 -16
- data/swig-interfaces/FXDirSelector.i +2 -2
- data/swig-interfaces/FXDockBar.i +1 -1
- data/swig-interfaces/FXDockHandler.i +1 -1
- data/swig-interfaces/FXDockSite.i +1 -1
- data/swig-interfaces/FXDockTitle.i +1 -1
- data/swig-interfaces/FXDocument.i +1 -1
- data/swig-interfaces/FXDragCorner.i +3 -3
- data/swig-interfaces/FXDriveBox.i +1 -1
- data/swig-interfaces/FXFileDialog.i +8 -8
- data/swig-interfaces/FXFileDict.i +2 -2
- data/swig-interfaces/FXFileList.i +11 -11
- data/swig-interfaces/FXFileSelector.i +4 -4
- data/swig-interfaces/FXFoldingList.i +7 -7
- data/swig-interfaces/FXFont.i +20 -20
- data/swig-interfaces/FXFrame.i +3 -3
- data/swig-interfaces/FXGLCanvas.i +3 -3
- data/swig-interfaces/FXGLContext.i +7 -7
- data/swig-interfaces/FXGLObject.i +1 -1
- data/swig-interfaces/FXGLShape.i +6 -6
- data/swig-interfaces/FXGLViewer.i +40 -40
- data/swig-interfaces/FXGLVisual.i +2 -2
- data/swig-interfaces/FXGradientBar.i +4 -4
- data/swig-interfaces/FXGroupBox.i +3 -3
- data/swig-interfaces/FXHeader.i +7 -7
- data/swig-interfaces/FXIcon.i +4 -4
- data/swig-interfaces/FXIconDict.i +1 -1
- data/swig-interfaces/FXIconList.i +46 -46
- data/swig-interfaces/FXImage.i +2 -2
- data/swig-interfaces/FXImageView.i +1 -1
- data/swig-interfaces/FXInputDialog.i +3 -3
- data/swig-interfaces/FXJPGIcon.i +3 -3
- data/swig-interfaces/FXJPGImage.i +2 -2
- data/swig-interfaces/FXKnob.i +2 -2
- data/swig-interfaces/FXLabel.i +2 -2
- data/swig-interfaces/FXList.i +35 -35
- data/swig-interfaces/FXListBox.i +5 -5
- data/swig-interfaces/FXMDIButton.i +5 -5
- data/swig-interfaces/FXMDIChild.i +12 -12
- data/swig-interfaces/FXMDIClient.i +2 -2
- data/swig-interfaces/FXMat4d.i +2 -2
- data/swig-interfaces/FXMat4f.i +5 -5
- data/swig-interfaces/FXMatrix.i +12 -12
- data/swig-interfaces/FXMemoryBuffer.i +4 -4
- data/swig-interfaces/FXMenuBar.i +3 -3
- data/swig-interfaces/FXMenuButton.i +7 -7
- data/swig-interfaces/FXMenuCaption.i +4 -4
- data/swig-interfaces/FXMenuCommand.i +1 -1
- data/swig-interfaces/FXMenuPane.i +1 -1
- data/swig-interfaces/FXMenuRadio.i +1 -1
- data/swig-interfaces/FXMenuSeparator.i +1 -1
- data/swig-interfaces/FXMessageBox.i +1 -1
- data/swig-interfaces/FXOptionMenu.i +6 -6
- data/swig-interfaces/FXPNGIcon.i +2 -2
- data/swig-interfaces/FXPPMIcon.i +2 -2
- data/swig-interfaces/FXPacker.i +6 -6
- data/swig-interfaces/FXPopup.i +13 -13
- data/swig-interfaces/FXProgressBar.i +12 -12
- data/swig-interfaces/FXProgressDialog.i +5 -5
- data/swig-interfaces/FXQuatd.i +7 -7
- data/swig-interfaces/FXQuatf.i +1 -1
- data/swig-interfaces/FXRadioButton.i +4 -4
- data/swig-interfaces/FXRanged.i +4 -4
- data/swig-interfaces/FXRangef.i +5 -5
- data/swig-interfaces/FXRealSlider.i +10 -10
- data/swig-interfaces/FXRealSpinner.i +17 -17
- data/swig-interfaces/FXRecentFiles.i +1 -1
- data/swig-interfaces/FXRegion.i +4 -4
- data/swig-interfaces/FXRegistry.i +3 -3
- data/swig-interfaces/FXReplaceDialog.i +1 -1
- data/swig-interfaces/FXScintilla.i +3 -3
- data/swig-interfaces/FXScrollArea.i +7 -7
- data/swig-interfaces/FXScrollBar.i +3 -3
- data/swig-interfaces/FXScrollWindow.i +6 -6
- data/swig-interfaces/FXSearchDialog.i +1 -1
- data/swig-interfaces/FXSeparator.i +3 -3
- data/swig-interfaces/FXSettings.i +3 -3
- data/swig-interfaces/FXShell.i +1 -1
- data/swig-interfaces/FXSlider.i +11 -11
- data/swig-interfaces/FXSphered.i +1 -1
- data/swig-interfaces/FXSpheref.i +1 -1
- data/swig-interfaces/FXSpinner.i +15 -15
- data/swig-interfaces/FXSplitter.i +6 -6
- data/swig-interfaces/FXStatusBar.i +4 -4
- data/swig-interfaces/FXStatusLine.i +5 -5
- data/swig-interfaces/FXStream.i +1 -1
- data/swig-interfaces/FXSwitcher.i +5 -5
- data/swig-interfaces/FXTabBar.i +2 -2
- data/swig-interfaces/FXTabBook.i +1 -1
- data/swig-interfaces/FXTabItem.i +4 -4
- data/swig-interfaces/FXTable.i +37 -37
- data/swig-interfaces/FXText.i +13 -13
- data/swig-interfaces/FXTextField.i +1 -1
- data/swig-interfaces/FXToggleButton.i +6 -6
- data/swig-interfaces/FXToolBar.i +4 -4
- data/swig-interfaces/FXToolBarGrip.i +3 -3
- data/swig-interfaces/FXToolBarShell.i +3 -3
- data/swig-interfaces/FXToolBarTab.i +5 -5
- data/swig-interfaces/FXToolTip.i +1 -1
- data/swig-interfaces/FXTopWindow.i +10 -10
- data/swig-interfaces/FXTreeList.i +28 -28
- data/swig-interfaces/FXTreeListBox.i +36 -36
- data/swig-interfaces/FXVec3d.i +2 -2
- data/swig-interfaces/FXVec3f.i +2 -2
- data/swig-interfaces/FXVec4d.i +1 -1
- data/swig-interfaces/FXVec4f.i +9 -9
- data/swig-interfaces/FXVerticalFrame.i +1 -1
- data/swig-interfaces/FXVisual.i +1 -1
- data/swig-interfaces/FXWindow.i +46 -46
- data/swig-interfaces/FXXPMIcon.i +1 -1
- data/swig-interfaces/FXXPMImage.i +1 -1
- data/swig-interfaces/exceptions.i +1 -1
- data/swig-interfaces/freefuncs.i +1 -1
- data/swig-interfaces/fxdefs.i +13 -13
- data/swig-interfaces/macros.i +79 -79
- data/test/TC_FXAccelTable.rb +3 -3
- data/test/TC_FXButton.rb +9 -9
- data/test/TC_FXCheckButton.rb +4 -4
- data/test/TC_FXComboBox.rb +1 -1
- data/test/TC_FXDC.rb +42 -42
- data/test/TC_FXDialogBox.rb +1 -1
- data/test/TC_FXExtentd.rb +2 -2
- data/test/TC_FXExtentf.rb +2 -2
- data/test/TC_FXFileAssoc.rb +5 -5
- data/test/TC_FXFileStream.rb +5 -5
- data/test/TC_FXFoldingList.rb +3 -3
- data/test/TC_FXFont.rb +3 -3
- data/test/TC_FXGLGroup.rb +1 -1
- data/test/TC_FXHeader.rb +3 -3
- data/test/TC_FXIconDict.rb +5 -5
- data/test/TC_FXIconList.rb +12 -12
- data/test/TC_FXImage.rb +16 -16
- data/test/TC_FXList.rb +5 -5
- data/test/TC_FXListBox.rb +1 -1
- data/test/TC_FXMainWindow.rb +2 -2
- data/test/TC_FXMat4f.rb +33 -33
- data/test/TC_FXMaterial.rb +5 -5
- data/test/TC_FXMemoryStream.rb +2 -2
- data/test/TC_FXMenuCheck.rb +5 -5
- data/test/TC_FXMessageBox.rb +3 -3
- data/test/TC_FXPoint.rb +1 -1
- data/test/TC_FXRadioButton.rb +4 -4
- data/test/TC_FXRanged.rb +3 -3
- data/test/TC_FXRangef.rb +3 -3
- data/test/TC_FXRegion.rb +1 -1
- data/test/TC_FXScrollArea.rb +1 -1
- data/test/TC_FXScrollWindow.rb +1 -1
- data/test/TC_FXSettings.rb +2 -2
- data/test/TC_FXShell.rb +2 -2
- data/test/TC_FXTopWindow.rb +2 -2
- data/test/TC_FXTreeList.rb +4 -4
- data/test/TC_FXTreeListBox.rb +3 -3
- data/test/TC_FXVec2d.rb +3 -3
- data/test/TC_FXVec2f.rb +3 -3
- data/test/TC_FXVec3d.rb +5 -5
- data/test/TC_FXVec3f.rb +5 -5
- data/test/TC_FXVec4f.rb +6 -6
- data/test/TC_Misc.rb +6 -2
- data/test/TS_All.rb +1 -17
- data/test/stress1.rb +5 -5
- data/test/stress2.rb +3 -3
- data/test/stress3.rb +12 -12
- data/test/testcase.rb +4 -4
- metadata +76 -76
data/examples/dialog.rb
CHANGED
@@ -19,29 +19,29 @@ class FXTestDialog < FXDialogBox
|
|
19
19
|
# Separator
|
20
20
|
FXHorizontalSeparator.new(self,
|
21
21
|
LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|SEPARATOR_GROOVE)
|
22
|
-
|
22
|
+
|
23
23
|
# Contents
|
24
24
|
contents = FXHorizontalFrame.new(self,
|
25
25
|
LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y|PACK_UNIFORM_WIDTH)
|
26
|
-
|
26
|
+
|
27
27
|
submenu = FXMenuPane.new(self)
|
28
28
|
FXMenuCommand.new(submenu, "One")
|
29
29
|
FXMenuCommand.new(submenu, "Two")
|
30
30
|
FXMenuCommand.new(submenu, "Three")
|
31
|
-
|
31
|
+
|
32
32
|
# Menu
|
33
33
|
menu = FXMenuPane.new(self)
|
34
34
|
FXMenuCommand.new(menu, "&Accept", nil, self, ID_ACCEPT)
|
35
35
|
FXMenuCommand.new(menu, "&Cancel", nil, self, ID_CANCEL)
|
36
36
|
FXMenuCascade.new(menu, "Submenu", nil, submenu)
|
37
37
|
FXMenuCommand.new(menu, "&Quit\tCtl-Q", nil, getApp(), FXApp::ID_QUIT)
|
38
|
-
|
38
|
+
|
39
39
|
# Popup menu
|
40
40
|
pane = FXPopup.new(self)
|
41
41
|
%w{One Two Three Four Five Six Seven Eight Nine Ten}.each do |s|
|
42
42
|
FXOption.new(pane, s, :opts => JUSTIFY_HZ_APART|ICON_AFTER_TEXT)
|
43
43
|
end
|
44
|
-
|
44
|
+
|
45
45
|
# Option menu
|
46
46
|
FXOptionMenu.new(contents, pane, (FRAME_RAISED|FRAME_THICK|
|
47
47
|
JUSTIFY_HZ_APART|ICON_AFTER_TEXT|LAYOUT_CENTER_X|LAYOUT_CENTER_Y))
|
@@ -54,15 +54,15 @@ class FXTestDialog < FXDialogBox
|
|
54
54
|
# Accept
|
55
55
|
accept = FXButton.new(buttons, "&Accept", nil, self, ID_ACCEPT,
|
56
56
|
FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y)
|
57
|
-
|
57
|
+
|
58
58
|
# Cancel
|
59
59
|
FXButton.new(buttons, "&Cancel", nil, self, ID_CANCEL,
|
60
60
|
FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y)
|
61
|
-
|
62
|
-
accept.setDefault
|
61
|
+
|
62
|
+
accept.setDefault
|
63
63
|
accept.setFocus
|
64
64
|
end
|
65
|
-
|
65
|
+
|
66
66
|
end
|
67
67
|
|
68
68
|
# Subclassed main window
|
@@ -74,10 +74,10 @@ class DialogTester < FXMainWindow
|
|
74
74
|
|
75
75
|
# Tooltip
|
76
76
|
FXToolTip.new(getApp())
|
77
|
-
|
77
|
+
|
78
78
|
# Menubar
|
79
79
|
menubar = FXMenuBar.new(self, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
|
80
|
-
|
80
|
+
|
81
81
|
# Separator
|
82
82
|
FXHorizontalSeparator.new(self,
|
83
83
|
LAYOUT_SIDE_TOP|LAYOUT_FILL_X|SEPARATOR_GROOVE)
|
@@ -86,7 +86,7 @@ class DialogTester < FXMainWindow
|
|
86
86
|
filemenu = FXMenuPane.new(self)
|
87
87
|
FXMenuCommand.new(filemenu, "&Quit", nil, getApp(), FXApp::ID_QUIT, 0)
|
88
88
|
FXMenuTitle.new(menubar, "&File", nil, filemenu)
|
89
|
-
|
89
|
+
|
90
90
|
# Contents
|
91
91
|
contents = FXHorizontalFrame.new(self,
|
92
92
|
LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y|PACK_UNIFORM_WIDTH)
|
@@ -96,13 +96,13 @@ class DialogTester < FXMainWindow
|
|
96
96
|
"&Non-Modal Dialog...\tDisplay normal dialog",
|
97
97
|
:opts => FRAME_RAISED|FRAME_THICK|LAYOUT_CENTER_X|LAYOUT_CENTER_Y)
|
98
98
|
nonModalButton.connect(SEL_COMMAND, method(:onCmdShowDialog))
|
99
|
-
|
99
|
+
|
100
100
|
# Button to pop modal dialog
|
101
101
|
modalButton = FXButton.new(contents,
|
102
102
|
"&Modal Dialog...\tDisplay modal dialog",
|
103
103
|
:opts => FRAME_RAISED|FRAME_THICK|LAYOUT_CENTER_X|LAYOUT_CENTER_Y)
|
104
104
|
modalButton.connect(SEL_COMMAND, method(:onCmdShowDialogModal))
|
105
|
-
|
105
|
+
|
106
106
|
# Build a dialog box
|
107
107
|
@dialog = FXTestDialog.new(self)
|
108
108
|
|
data/examples/dilbert.rb
CHANGED
@@ -27,24 +27,24 @@ class DailyDilbert < FXMainWindow
|
|
27
27
|
# Sunken border for image widget
|
28
28
|
imagebox = FXHorizontalFrame.new(self,
|
29
29
|
FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
30
|
-
|
30
|
+
|
31
31
|
# Make image widget
|
32
32
|
@imageview = FXImageView.new(imagebox,
|
33
33
|
:opts => LAYOUT_FILL_X|LAYOUT_FILL_Y|HSCROLLER_NEVER|VSCROLLER_NEVER)
|
34
|
-
|
34
|
+
|
35
35
|
# Construct a GIF image and store it in the image viewer
|
36
36
|
@imageview.image = FXGIFImage.new(getApp(), image_data)
|
37
37
|
|
38
38
|
# Resize main window client area to fit image size
|
39
39
|
resize(@imageview.contentWidth, @imageview.contentHeight)
|
40
40
|
end
|
41
|
-
|
41
|
+
|
42
42
|
def image_data
|
43
43
|
doc = Hpricot(open("http://www.dilbert.com/"))
|
44
44
|
url = doc.search("img").find { |e| e['src'] =~ /\/dyn\/str_strip\/.*\.gif/ }
|
45
45
|
open("http://www.dilbert.com" + url['src'], "rb").read
|
46
46
|
end
|
47
|
-
|
47
|
+
|
48
48
|
def create
|
49
49
|
super
|
50
50
|
show(PLACEMENT_SCREEN)
|
data/examples/dirlist.rb
CHANGED
@@ -26,12 +26,12 @@ class DirListWindow < FXMainWindow
|
|
26
26
|
# Text field at bottom
|
27
27
|
text = FXTextField.new(self, 10,
|
28
28
|
:opts => LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|FRAME_SUNKEN|FRAME_THICK)
|
29
|
-
|
29
|
+
|
30
30
|
# Make contents
|
31
31
|
dirlist = FXDirList.new(self, :opts => (HSCROLLING_OFF|
|
32
32
|
TREELIST_SHOWS_LINES|TREELIST_SHOWS_BOXES|FRAME_SUNKEN|FRAME_THICK|
|
33
33
|
LAYOUT_FILL_X|LAYOUT_FILL_Y))
|
34
|
-
|
34
|
+
|
35
35
|
# Now make the directory list widget (dirlist) the message target
|
36
36
|
# for the text field. If you type a new directory name in the text
|
37
37
|
# field the directory list should navigate to that directory.
|
@@ -49,13 +49,13 @@ end
|
|
49
49
|
def run
|
50
50
|
# Make application
|
51
51
|
application = FXApp.new("DirList", "FoxTest")
|
52
|
-
|
52
|
+
|
53
53
|
# Make window
|
54
54
|
DirListWindow.new(application)
|
55
|
-
|
56
|
-
# Create app
|
55
|
+
|
56
|
+
# Create app
|
57
57
|
application.create
|
58
|
-
|
58
|
+
|
59
59
|
# Run
|
60
60
|
application.run
|
61
61
|
end
|
data/examples/dragdrop.rb
CHANGED
@@ -3,18 +3,18 @@ require 'fox16'
|
|
3
3
|
include Fox
|
4
4
|
|
5
5
|
class DragDropWindow < FXMainWindow
|
6
|
-
|
6
|
+
|
7
7
|
def initialize(anApp)
|
8
8
|
# Initialize base class
|
9
9
|
super(anApp, "Drag and Drop", :opts => DECOR_ALL, :width => 400, :height => 300)
|
10
|
-
|
10
|
+
|
11
11
|
# Fill main window with canvas
|
12
12
|
@canvas = FXCanvas.new(self, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
13
13
|
@canvas.backColor = "red"
|
14
|
-
|
14
|
+
|
15
15
|
# Enable canvas for drag-and-drop messages
|
16
16
|
@canvas.dropEnable
|
17
|
-
|
17
|
+
|
18
18
|
# Handle expose events on the canvas
|
19
19
|
@canvas.connect(SEL_PAINT) do |sender, sel, event|
|
20
20
|
FXDCWindow.new(@canvas, event) do |dc|
|
@@ -36,7 +36,7 @@ class DragDropWindow < FXMainWindow
|
|
36
36
|
dragTypes = [FXWindow.colorType]
|
37
37
|
@canvas.beginDrag(dragTypes)
|
38
38
|
end
|
39
|
-
|
39
|
+
|
40
40
|
# Handle mouse motion events
|
41
41
|
@canvas.connect(SEL_MOTION) do |sender, sel, event|
|
42
42
|
if @canvas.dragging?
|
@@ -59,7 +59,7 @@ class DragDropWindow < FXMainWindow
|
|
59
59
|
@canvas.ungrab
|
60
60
|
@canvas.endDrag
|
61
61
|
end
|
62
|
-
|
62
|
+
|
63
63
|
# Handle SEL_DND_DROP message from the canvas
|
64
64
|
@canvas.connect(SEL_DND_DROP) do
|
65
65
|
# Try to obtain the data as color values first
|
@@ -78,7 +78,7 @@ class DragDropWindow < FXMainWindow
|
|
78
78
|
def create
|
79
79
|
# Create the main window and canvas
|
80
80
|
super
|
81
|
-
|
81
|
+
|
82
82
|
# Register the drag type for colors
|
83
83
|
FXWindow.colorType = getApp().registerDragType(FXWindow.colorTypeName)
|
84
84
|
|
data/examples/dragsource.rb
CHANGED
@@ -3,15 +3,15 @@ require 'fox16'
|
|
3
3
|
include Fox
|
4
4
|
|
5
5
|
class DragSource < FXMainWindow
|
6
|
-
|
6
|
+
|
7
7
|
def initialize(anApp)
|
8
8
|
# Initialize base class
|
9
9
|
super(anApp, "Drag Source", :opts => DECOR_ALL, :width => 400, :height => 300)
|
10
|
-
|
10
|
+
|
11
11
|
# Fill main window with canvas
|
12
12
|
@canvas = FXCanvas.new(self, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
13
13
|
@canvas.backColor = "red"
|
14
|
-
|
14
|
+
|
15
15
|
# Handle expose events on the canvas
|
16
16
|
@canvas.connect(SEL_PAINT) do |sender, sel, event|
|
17
17
|
FXDCWindow.new(@canvas, event) do |dc|
|
@@ -33,7 +33,7 @@ class DragSource < FXMainWindow
|
|
33
33
|
dragTypes = [FXWindow.colorType]
|
34
34
|
@canvas.beginDrag(dragTypes)
|
35
35
|
end
|
36
|
-
|
36
|
+
|
37
37
|
# Handle mouse motion events
|
38
38
|
@canvas.connect(SEL_MOTION) do |sender, sel, event|
|
39
39
|
if @canvas.dragging?
|
@@ -51,7 +51,7 @@ class DragSource < FXMainWindow
|
|
51
51
|
@canvas.ungrab
|
52
52
|
@canvas.endDrag
|
53
53
|
end
|
54
|
-
|
54
|
+
|
55
55
|
# Handle request for DND data
|
56
56
|
@canvas.connect(SEL_DND_REQUEST) do |sender, sel, event|
|
57
57
|
@canvas.setDNDData(FROM_DRAGNDROP, FXWindow.colorType, Fox.fxencodeColorData(@canvas.backColor)) if event.target == FXWindow.colorType
|
@@ -61,7 +61,7 @@ class DragSource < FXMainWindow
|
|
61
61
|
def create
|
62
62
|
# Create the main window and canvas
|
63
63
|
super
|
64
|
-
|
64
|
+
|
65
65
|
# Register the drag type for colors
|
66
66
|
FXWindow.colorType = getApp().registerDragType(FXWindow.colorTypeName)
|
67
67
|
|
data/examples/dropsite.rb
CHANGED
@@ -3,14 +3,14 @@ require 'fox16'
|
|
3
3
|
include Fox
|
4
4
|
|
5
5
|
class DropSite < FXMainWindow
|
6
|
-
|
6
|
+
|
7
7
|
def initialize(anApp)
|
8
8
|
# Initialize base class
|
9
9
|
super(anApp, "Drop Site", :opts => DECOR_ALL, :width => 400, :height => 300)
|
10
|
-
|
10
|
+
|
11
11
|
# Fill main window with canvas
|
12
12
|
@canvas = FXCanvas.new(self, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
13
|
-
|
13
|
+
|
14
14
|
# Handle expose events on the canvas
|
15
15
|
@canvas.connect(SEL_PAINT) do |sender, sel, event|
|
16
16
|
FXDCWindow.new(@canvas, event) do |dc|
|
@@ -21,7 +21,7 @@ class DropSite < FXMainWindow
|
|
21
21
|
|
22
22
|
# Enable canvas for drag-and-drop messages
|
23
23
|
@canvas.dropEnable
|
24
|
-
|
24
|
+
|
25
25
|
# Handle SEL_DND_MOTION messages from the canvas
|
26
26
|
@canvas.connect(SEL_DND_MOTION) do
|
27
27
|
@canvas.acceptDrop if @canvas.offeredDNDType?(FROM_DRAGNDROP, FXWindow.colorType)
|
@@ -40,7 +40,7 @@ class DropSite < FXMainWindow
|
|
40
40
|
def create
|
41
41
|
# Create the main window and canvas
|
42
42
|
super
|
43
|
-
|
43
|
+
|
44
44
|
# Register the drag type for colors
|
45
45
|
FXWindow.colorType = getApp().registerDragType(FXWindow.colorTypeName)
|
46
46
|
|
data/examples/foursplit.rb
CHANGED
@@ -11,21 +11,21 @@ class FourSplitWindow < FXMainWindow
|
|
11
11
|
|
12
12
|
# Menu bar, along the top
|
13
13
|
menubar = FXMenuBar.new(self, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
|
14
|
-
|
14
|
+
|
15
15
|
# Status bar, along the bottom
|
16
16
|
FXStatusBar.new(self,
|
17
17
|
LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|STATUSBAR_WITH_DRAGCORNER)
|
18
|
-
|
18
|
+
|
19
19
|
# The top-level splitter takes up the rest of the space
|
20
20
|
splitter = FX4Splitter.new(self,
|
21
21
|
LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y|FOURSPLITTER_TRACKING)
|
22
|
-
|
22
|
+
|
23
23
|
# File menu
|
24
24
|
filemenu = FXMenuPane.new(self)
|
25
25
|
FXMenuCommand.new(filemenu, "&Quit\tCtl-Q\tQuit the application.", nil,
|
26
26
|
getApp(), FXApp::ID_QUIT)
|
27
27
|
FXMenuTitle.new(menubar, "&File", nil, filemenu)
|
28
|
-
|
28
|
+
|
29
29
|
# Expand menu
|
30
30
|
expandmenu = FXMenuPane.new(self)
|
31
31
|
FXMenuCommand.new(expandmenu, "All four", nil,
|
@@ -39,7 +39,7 @@ class FourSplitWindow < FXMainWindow
|
|
39
39
|
FXMenuCommand.new(expandmenu, "Bottom/right", nil,
|
40
40
|
splitter, FX4Splitter::ID_EXPAND_BOTTOMRIGHT)
|
41
41
|
FXMenuTitle.new(menubar, "&Expand", nil, expandmenu)
|
42
|
-
|
42
|
+
|
43
43
|
# The 4-splitter accepts exactly four child widgets, and the
|
44
44
|
# order in which they are added matters (top left, top right,
|
45
45
|
# bottom left and bottom right, in that order). For our case,
|
@@ -76,7 +76,7 @@ class FourSplitWindow < FXMainWindow
|
|
76
76
|
"&arbitrarily!\tThis splitter does NOT track", :opts => FRAME_SUNKEN|FRAME_THICK)
|
77
77
|
button.backColor = FXRGB(128, 128, 0)
|
78
78
|
button.textColor = FXRGB(255, 255, 255)
|
79
|
-
|
79
|
+
|
80
80
|
# Finally, create the tool tip object
|
81
81
|
FXToolTip.new(getApp())
|
82
82
|
end
|
data/examples/gltest.rb
CHANGED
@@ -30,7 +30,7 @@ class GLTestWindow < FXMainWindow
|
|
30
30
|
GL.Vertex(xmax, ymin, zmin)
|
31
31
|
GL.Vertex(xmax, ymax, zmin)
|
32
32
|
GL.End()
|
33
|
-
|
33
|
+
|
34
34
|
GL.Begin(GL::TRIANGLE_STRIP)
|
35
35
|
GL.Normal(1.0, 0.0, 0.0)
|
36
36
|
GL.Vertex(xmax, ymin, zmin)
|
@@ -38,7 +38,7 @@ class GLTestWindow < FXMainWindow
|
|
38
38
|
GL.Vertex(xmax, ymin, zmax)
|
39
39
|
GL.Vertex(xmax, ymax, zmax)
|
40
40
|
GL.End()
|
41
|
-
|
41
|
+
|
42
42
|
GL.Begin(GL::TRIANGLE_STRIP)
|
43
43
|
GL.Normal(0.0, 0.0, 1.0)
|
44
44
|
GL.Vertex(xmax, ymin, zmax)
|
@@ -46,7 +46,7 @@ class GLTestWindow < FXMainWindow
|
|
46
46
|
GL.Vertex(xmin, ymin, zmax)
|
47
47
|
GL.Vertex(xmin, ymax, zmax)
|
48
48
|
GL.End()
|
49
|
-
|
49
|
+
|
50
50
|
GL.Begin(GL::TRIANGLE_STRIP)
|
51
51
|
GL.Normal(-1.0, 0.0, 0.0)
|
52
52
|
GL.Vertex(xmin, ymin, zmax)
|
@@ -54,7 +54,7 @@ class GLTestWindow < FXMainWindow
|
|
54
54
|
GL.Vertex(xmin, ymin, zmin)
|
55
55
|
GL.Vertex(xmin, ymax, zmin)
|
56
56
|
GL.End()
|
57
|
-
|
57
|
+
|
58
58
|
GL.Begin(GL::TRIANGLE_STRIP)
|
59
59
|
GL.Normal(0.0, 1.0, 0.0)
|
60
60
|
GL.Vertex(xmin, ymax, zmin)
|
@@ -62,7 +62,7 @@ class GLTestWindow < FXMainWindow
|
|
62
62
|
GL.Vertex(xmax, ymax, zmin)
|
63
63
|
GL.Vertex(xmax, ymax, zmax)
|
64
64
|
GL.End()
|
65
|
-
|
65
|
+
|
66
66
|
GL.Begin(GL::TRIANGLE_STRIP)
|
67
67
|
GL.Normal(0.0, -1.0, 0.0)
|
68
68
|
GL.Vertex(xmax, ymin, zmax)
|
@@ -79,94 +79,94 @@ class GLTestWindow < FXMainWindow
|
|
79
79
|
lightDiffuse = [ 0.9, 0.9, 0.9, 1.0]
|
80
80
|
redMaterial = [ 1.0, 0.0, 0.0, 1.0]
|
81
81
|
blueMaterial = [ 0.0, 0.0, 1.0, 1.0]
|
82
|
-
|
82
|
+
|
83
83
|
width = @glcanvas.width.to_f
|
84
84
|
height = @glcanvas.height.to_f
|
85
85
|
aspect = width/height
|
86
|
-
|
86
|
+
|
87
87
|
# Make context current
|
88
88
|
@glcanvas.makeCurrent()
|
89
|
-
|
89
|
+
|
90
90
|
GL.Viewport(0, 0, @glcanvas.width, @glcanvas.height)
|
91
|
-
|
91
|
+
|
92
92
|
GL.ClearColor(1.0, 1.0, 1.0, 1.0)
|
93
93
|
GL.Clear(GL::COLOR_BUFFER_BIT|GL::DEPTH_BUFFER_BIT)
|
94
94
|
GL.Enable(GL::DEPTH_TEST)
|
95
|
-
|
95
|
+
|
96
96
|
GL.Disable(GL::DITHER)
|
97
|
-
|
97
|
+
|
98
98
|
GL.MatrixMode(GL::PROJECTION)
|
99
99
|
GL.LoadIdentity()
|
100
100
|
GLU.Perspective(30.0, aspect, 1.0, 100.0)
|
101
|
-
|
101
|
+
|
102
102
|
GL.MatrixMode(GL::MODELVIEW)
|
103
103
|
GL.LoadIdentity()
|
104
104
|
GLU.LookAt(5.0, 10.0, 15.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0)
|
105
|
-
|
105
|
+
|
106
106
|
GL.ShadeModel(GL::SMOOTH)
|
107
107
|
GL.Light(GL::LIGHT0, GL::POSITION, lightPosition)
|
108
108
|
GL.Light(GL::LIGHT0, GL::AMBIENT, lightAmbient)
|
109
109
|
GL.Light(GL::LIGHT0, GL::DIFFUSE, lightDiffuse)
|
110
110
|
GL.Enable(GL::LIGHT0)
|
111
111
|
GL.Enable(GL::LIGHTING)
|
112
|
-
|
112
|
+
|
113
113
|
GL.Material(GL::FRONT, GL::AMBIENT, blueMaterial)
|
114
114
|
GL.Material(GL::FRONT, GL::DIFFUSE, blueMaterial)
|
115
|
-
|
115
|
+
|
116
116
|
GL.PushMatrix()
|
117
117
|
GL.Rotated(@angle, 0.0, 1.0, 0.0)
|
118
118
|
drawBox(-1, -1, -1, 1, 1, 1)
|
119
|
-
|
119
|
+
|
120
120
|
GL.Material(GL::FRONT, GL::AMBIENT, redMaterial)
|
121
121
|
GL.Material(GL::FRONT, GL::DIFFUSE, redMaterial)
|
122
|
-
|
122
|
+
|
123
123
|
GL.PushMatrix()
|
124
124
|
GL.Translated(0.0, 1.75, 0.0)
|
125
125
|
GL.Rotated(@angle, 0.0, 1.0, 0.0)
|
126
126
|
drawBox(-0.5, -0.5, -0.5, 0.5, 0.5, 0.5)
|
127
127
|
GL.PopMatrix()
|
128
|
-
|
128
|
+
|
129
129
|
GL.PushMatrix()
|
130
130
|
GL.Translated(0.0, -1.75, 0.0)
|
131
131
|
GL.Rotated(@angle, 0.0, 1.0, 0.0)
|
132
132
|
drawBox(-0.5, -0.5, -0.5, 0.5, 0.5, 0.5)
|
133
133
|
GL.PopMatrix()
|
134
|
-
|
134
|
+
|
135
135
|
GL.PushMatrix()
|
136
136
|
GL.Rotated(90.0, 1.0, 0.0, 0.0)
|
137
137
|
GL.Translated(0.0, 1.75, 0.0)
|
138
138
|
GL.Rotated(@angle, 0.0, 1.0, 0.0)
|
139
139
|
drawBox(-0.5,-0.5,-0.5,0.5,0.5,0.5)
|
140
140
|
GL.PopMatrix()
|
141
|
-
|
141
|
+
|
142
142
|
GL.PushMatrix()
|
143
143
|
GL.Rotated(90.0, -1.0, 0.0, 0.0)
|
144
144
|
GL.Translated(0.0,1.75,0.0)
|
145
145
|
GL.Rotated(@angle, 0.0, 1.0, 0.0)
|
146
146
|
drawBox(-0.5,-0.5,-0.5,0.5,0.5,0.5)
|
147
147
|
GL.PopMatrix()
|
148
|
-
|
148
|
+
|
149
149
|
GL.PushMatrix()
|
150
150
|
GL.Rotated(90.0, 0.0, 0.0, 1.0)
|
151
151
|
GL.Translated(0.0,1.75,0.0)
|
152
152
|
GL.Rotated(@angle, 0.0, 1.0, 0.0)
|
153
153
|
drawBox(-0.5,-0.5,-0.5,0.5,0.5,0.5)
|
154
154
|
GL.PopMatrix()
|
155
|
-
|
155
|
+
|
156
156
|
GL.PushMatrix()
|
157
157
|
GL.Rotated(90.0, 0.0, 0.0, -1.0)
|
158
158
|
GL.Translated(0.0,1.75,0.0)
|
159
159
|
GL.Rotated(@angle, 0.0, 1.0, 0.0)
|
160
160
|
drawBox(-0.5,-0.5,-0.5,0.5,0.5,0.5)
|
161
161
|
GL.PopMatrix()
|
162
|
-
|
162
|
+
|
163
163
|
GL.PopMatrix()
|
164
|
-
|
164
|
+
|
165
165
|
# Swap if it is double-buffered
|
166
166
|
if @glvisual.isDoubleBuffer
|
167
167
|
@glcanvas.swapBuffers
|
168
168
|
end
|
169
|
-
|
169
|
+
|
170
170
|
# Make context non-current
|
171
171
|
@glcanvas.makeNonCurrent
|
172
172
|
end
|
@@ -185,23 +185,23 @@ class GLTestWindow < FXMainWindow
|
|
185
185
|
LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_TOP|LAYOUT_LEFT)
|
186
186
|
glcanvasFrame.padLeft, glcanvasFrame.padRight = 10, 10
|
187
187
|
glcanvasFrame.padTop, glcanvasFrame.padBottom = 10, 10
|
188
|
-
|
188
|
+
|
189
189
|
# Label above the glcanvas
|
190
190
|
FXLabel.new(glcanvasFrame, "OpenGL Canvas Frame", nil,
|
191
191
|
JUSTIFY_CENTER_X|LAYOUT_FILL_X)
|
192
|
-
|
192
|
+
|
193
193
|
# Horizontal divider line
|
194
194
|
FXHorizontalSeparator.new(glcanvasFrame, SEPARATOR_GROOVE|LAYOUT_FILL_X)
|
195
|
-
|
195
|
+
|
196
196
|
# Drawing glcanvas
|
197
197
|
glpanel = FXVerticalFrame.new(glcanvasFrame, (FRAME_SUNKEN|FRAME_THICK|
|
198
198
|
LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_TOP|LAYOUT_LEFT))
|
199
199
|
glpanel.padLeft, glpanel.padRight = 0, 0
|
200
200
|
glpanel.padTop, glpanel.padBottom = 0, 0
|
201
|
-
|
201
|
+
|
202
202
|
# A visual to draw OpenGL
|
203
203
|
@glvisual = FXGLVisual.new(getApp(), VISUAL_DOUBLEBUFFER)
|
204
|
-
|
204
|
+
|
205
205
|
# Drawing glcanvas
|
206
206
|
@glcanvas = FXGLCanvas.new(glpanel, @glvisual, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_TOP|LAYOUT_LEFT)
|
207
207
|
@glcanvas.connect(SEL_PAINT) { drawScene }
|
@@ -211,19 +211,19 @@ class GLTestWindow < FXMainWindow
|
|
211
211
|
@glcanvas.makeNonCurrent
|
212
212
|
end
|
213
213
|
end
|
214
|
-
|
214
|
+
|
215
215
|
# Right pane for the buttons
|
216
216
|
buttonFrame = FXVerticalFrame.new(frame, LAYOUT_FILL_Y|LAYOUT_TOP|LAYOUT_LEFT)
|
217
217
|
buttonFrame.padLeft, buttonFrame.padRight = 10, 10
|
218
218
|
buttonFrame.padTop, buttonFrame.padBottom = 10, 10
|
219
|
-
|
219
|
+
|
220
220
|
# Label above the buttons
|
221
221
|
FXLabel.new(buttonFrame, "Button Frame", nil,
|
222
222
|
JUSTIFY_CENTER_X|LAYOUT_FILL_X)
|
223
|
-
|
223
|
+
|
224
224
|
# Horizontal divider line
|
225
225
|
FXHorizontalSeparator.new(buttonFrame, SEPARATOR_RIDGE|LAYOUT_FILL_X)
|
226
|
-
|
226
|
+
|
227
227
|
# Spin according to timer
|
228
228
|
spinTimerBtn = FXButton.new(buttonFrame, "Spin &Timer\tSpin using interval timers\nNote the app blocks until the interal has elapsed...",nil,nil,0,FRAME_THICK|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT)
|
229
229
|
spinTimerBtn.padLeft, spinTimerBtn.padRight = 10, 10
|
@@ -262,7 +262,7 @@ class GLTestWindow < FXMainWindow
|
|
262
262
|
spinChoreBtn.connect(SEL_UPDATE) do |sender, sel, ptr|
|
263
263
|
@spinning ? sender.disable : sender.enable
|
264
264
|
end
|
265
|
-
|
265
|
+
|
266
266
|
# Stop spinning
|
267
267
|
stopBtn = FXButton.new(buttonFrame,
|
268
268
|
"&Stop Spin\tStop this mad spinning, I'm getting dizzy",
|
@@ -283,17 +283,17 @@ class GLTestWindow < FXMainWindow
|
|
283
283
|
stopBtn.connect(SEL_UPDATE) do |sender, sel, ptr|
|
284
284
|
@spinning ? sender.enable : sender.disable
|
285
285
|
end
|
286
|
-
|
286
|
+
|
287
287
|
# Exit button
|
288
288
|
exitBtn = FXButton.new(buttonFrame, "&Exit\tExit the application", nil,
|
289
289
|
getApp(), FXApp::ID_QUIT,
|
290
290
|
FRAME_THICK|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT)
|
291
291
|
exitBtn.padLeft, exitBtn.padRight = 10, 10
|
292
292
|
exitBtn.padTop, exitBtn.padBottom = 5, 5
|
293
|
-
|
293
|
+
|
294
294
|
# Make a tooltip
|
295
295
|
FXToolTip.new(getApp())
|
296
|
-
|
296
|
+
|
297
297
|
# Initialize private variables
|
298
298
|
@spinning = false
|
299
299
|
@chore = nil
|
@@ -311,12 +311,12 @@ end
|
|
311
311
|
if __FILE__ == $0
|
312
312
|
# Construct the application
|
313
313
|
application = FXApp.new("GLTest", "FoxTest")
|
314
|
-
|
314
|
+
|
315
315
|
# To ensure that the chores-based spin will run as fast as possible,
|
316
316
|
# we can disable the chore in FXRuby's event loop that tries to schedule
|
317
317
|
# other threads. This is OK for this program because there aren't any
|
318
318
|
# other Ruby threads running.
|
319
|
-
|
319
|
+
|
320
320
|
application.disableThreads
|
321
321
|
|
322
322
|
# Construct the main window
|