fxruby 1.6.22.pre2-x86-mingw32 → 1.6.22.pre3-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- 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
|