fxruby 1.2.2
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/ANNOUNCE +25 -0
- data/ChangeLog +10606 -0
- data/INSTALL +50 -0
- data/LICENSE +456 -0
- data/README +39 -0
- data/doc/apes02.html +21 -0
- data/doc/apes03.html +39 -0
- data/doc/book.html +3 -0
- data/doc/build.html +144 -0
- data/doc/ch03s02.html +24 -0
- data/doc/ch03s03.html +53 -0
- data/doc/ch03s04.html +37 -0
- data/doc/ch03s05.html +61 -0
- data/doc/ch04s02.html +72 -0
- data/doc/ch04s03.html +37 -0
- data/doc/ch04s04.html +72 -0
- data/doc/ch05s02.html +262 -0
- data/doc/ch05s03.html +128 -0
- data/doc/changes.html +75 -0
- data/doc/clipboardtut.html +68 -0
- data/doc/cvs.html +35 -0
- data/doc/differences.html +11 -0
- data/doc/dragdroptut.html +266 -0
- data/doc/events.html +36 -0
- data/doc/examples.html +104 -0
- data/doc/gems.html +73 -0
- data/doc/goals.html +39 -0
- data/doc/images/babelfish.png +0 -0
- data/doc/images/browser.png +0 -0
- data/doc/images/button.png +0 -0
- data/doc/images/call-chain-example.png +0 -0
- data/doc/images/colordialog.png +0 -0
- data/doc/images/datatarget.png +0 -0
- data/doc/images/dialog.png +0 -0
- data/doc/images/dilbert.png +0 -0
- data/doc/images/dirlist.png +0 -0
- data/doc/images/dropsite-droprejected.png +0 -0
- data/doc/images/foursplit.png +0 -0
- data/doc/images/gltest.png +0 -0
- data/doc/images/glviewer.png +0 -0
- data/doc/images/groupbox.png +0 -0
- data/doc/images/header.png +0 -0
- data/doc/images/hello-with-button.png +0 -0
- data/doc/images/hello-with-icon-1.png +0 -0
- data/doc/images/hello-with-icon-2.png +0 -0
- data/doc/images/hello-with-icon-3.png +0 -0
- data/doc/images/hello-with-tooltip.png +0 -0
- data/doc/images/hello-without-button.png +0 -0
- data/doc/images/hello.png +0 -0
- data/doc/images/hello2.png +0 -0
- data/doc/images/iconlist-bigicons.png +0 -0
- data/doc/images/iconlist-details.png +0 -0
- data/doc/images/image.png +0 -0
- data/doc/images/imageviewer.png +0 -0
- data/doc/images/inheritance.png +0 -0
- data/doc/images/mditest.png +0 -0
- data/doc/images/raabrowser.png +0 -0
- data/doc/images/scribble.png +0 -0
- data/doc/images/shutter.png +0 -0
- data/doc/images/splitter.png +0 -0
- data/doc/images/tabbook.png +0 -0
- data/doc/images/table.png +0 -0
- data/doc/images/tutorial1.png +0 -0
- data/doc/implementation.html +16 -0
- data/doc/infosources.html +33 -0
- data/doc/library.html +30 -0
- data/doc/opengl.html +73 -0
- data/doc/pt01.html +3 -0
- data/doc/pt02.html +3 -0
- data/doc/scintilla.html +36 -0
- data/doc/todo.html +40 -0
- data/doc/tutorial1.html +97 -0
- data/examples/RAA.rb +25 -0
- data/examples/README +53 -0
- data/examples/babelfish.rb +107 -0
- data/examples/bounce.rb +159 -0
- data/examples/browser.rb +191 -0
- data/examples/button.rb +160 -0
- data/examples/datatarget.rb +223 -0
- data/examples/dctest.rb +702 -0
- data/examples/dialog.rb +148 -0
- data/examples/dilbert.rb +105 -0
- data/examples/dirlist.rb +63 -0
- data/examples/dragdrop.rb +101 -0
- data/examples/dragsource.rb +81 -0
- data/examples/dropsite.rb +61 -0
- data/examples/foursplit.rb +103 -0
- data/examples/gltest.rb +342 -0
- data/examples/glviewer.rb +579 -0
- data/examples/groupbox.rb +422 -0
- data/examples/header.rb +150 -0
- data/examples/hello.rb +12 -0
- data/examples/hello2.rb +51 -0
- data/examples/iRAA.rb +153 -0
- data/examples/iconlist.rb +104 -0
- data/examples/icons/AngryGuyInBunnySuit.ico +0 -0
- data/examples/icons/FatBot.ico +0 -0
- data/examples/icons/FlippedySwitch.ico +0 -0
- data/examples/icons/LeGoon.ico +0 -0
- data/examples/icons/Net.ico +0 -0
- data/examples/icons/RedMacOS.ico +0 -0
- data/examples/icons/SawBlade.ico +0 -0
- data/examples/icons/backview.png +0 -0
- data/examples/icons/big.png +0 -0
- data/examples/icons/bigfolder.png +0 -0
- data/examples/icons/bigpenguin.png +0 -0
- data/examples/icons/bottomview.png +0 -0
- data/examples/icons/camera.png +0 -0
- data/examples/icons/capbutt.png +0 -0
- data/examples/icons/capnotlast.png +0 -0
- data/examples/icons/capproj.png +0 -0
- data/examples/icons/capround.png +0 -0
- data/examples/icons/colorpal.png +0 -0
- data/examples/icons/copy.png +0 -0
- data/examples/icons/cut.png +0 -0
- data/examples/icons/delimit.png +0 -0
- data/examples/icons/dippy.png +0 -0
- data/examples/icons/double_dash.png +0 -0
- data/examples/icons/filenew.png +0 -0
- data/examples/icons/fileopen.png +0 -0
- data/examples/icons/filesave.png +0 -0
- data/examples/icons/filesaveas.png +0 -0
- data/examples/icons/fonts.png +0 -0
- data/examples/icons/fox.png +0 -0
- data/examples/icons/foxicon.png +0 -0
- data/examples/icons/frontview.png +0 -0
- data/examples/icons/gem_big.png +0 -0
- data/examples/icons/gem_small.png +0 -0
- data/examples/icons/hello2.png +0 -0
- data/examples/icons/help.png +0 -0
- data/examples/icons/indent.png +0 -0
- data/examples/icons/jbevel.png +0 -0
- data/examples/icons/jmiter.png +0 -0
- data/examples/icons/jround.png +0 -0
- data/examples/icons/kill.png +0 -0
- data/examples/icons/leftview.png +0 -0
- data/examples/icons/light.png +0 -0
- data/examples/icons/minidoc.png +0 -0
- data/examples/icons/minifolder.png +0 -0
- data/examples/icons/minifolderopen.png +0 -0
- data/examples/icons/newfolder.png +0 -0
- data/examples/icons/nolight.png +0 -0
- data/examples/icons/onoff_dash.png +0 -0
- data/examples/icons/palette.png +0 -0
- data/examples/icons/parallel.png +0 -0
- data/examples/icons/paste.png +0 -0
- data/examples/icons/pattern.png +0 -0
- data/examples/icons/penguin.png +0 -0
- data/examples/icons/perspective.png +0 -0
- data/examples/icons/printicon.png +0 -0
- data/examples/icons/prop.png +0 -0
- data/examples/icons/redo.png +0 -0
- data/examples/icons/rightview.png +0 -0
- data/examples/icons/saveas.png +0 -0
- data/examples/icons/shutter1.png +0 -0
- data/examples/icons/shutter2.png +0 -0
- data/examples/icons/small.png +0 -0
- data/examples/icons/smoothlight.png +0 -0
- data/examples/icons/solid_line.png +0 -0
- data/examples/icons/tbuplevel.png +0 -0
- data/examples/icons/topview.png +0 -0
- data/examples/icons/undo.png +0 -0
- data/examples/icons/winapp.png +0 -0
- data/examples/icons/zoom.png +0 -0
- data/examples/image.rb +281 -0
- data/examples/imageviewer.rb +513 -0
- data/examples/inputs.rb +84 -0
- data/examples/mditest.rb +180 -0
- data/examples/pig.rb +77 -0
- data/examples/raabrowser.rb +132 -0
- data/examples/scintilla-test.rb +81 -0
- data/examples/scribble-orig.rb +186 -0
- data/examples/scribble.rb +166 -0
- data/examples/shutter.rb +158 -0
- data/examples/splitter.rb +211 -0
- data/examples/styledtext.rb +92 -0
- data/examples/tabbook.rb +124 -0
- data/examples/table.rb +187 -0
- data/examples/textedit/commands.rb +117 -0
- data/examples/textedit/helpwindow.rb +295 -0
- data/examples/textedit/prefdialog.rb +235 -0
- data/examples/textedit/textedit.rb +1767 -0
- data/ext/fox12/FXRbApp.cpp +127 -0
- data/ext/fox12/FXRbDataTarget.cpp +106 -0
- data/ext/fox12/FXRbGLViewer.cpp +89 -0
- data/ext/fox12/FXRuby.cpp +1818 -0
- data/ext/fox12/MANIFEST +189 -0
- data/ext/fox12/core_wrap.cpp +10119 -0
- data/ext/fox12/dc_wrap.cpp +2638 -0
- data/ext/fox12/dialogs_wrap.cpp +6244 -0
- data/ext/fox12/extconf.rb +176 -0
- data/ext/fox12/frames_wrap.cpp +8274 -0
- data/ext/fox12/fx3d_wrap.cpp +9315 -0
- data/ext/fox12/iconlist_wrap.cpp +3742 -0
- data/ext/fox12/icons_wrap.cpp +4040 -0
- data/ext/fox12/image_wrap.cpp +4026 -0
- data/ext/fox12/impl.cpp +1064 -0
- data/ext/fox12/include/FXMemoryBuffer.h +52 -0
- data/ext/fox12/include/FXRb4Splitter.h +54 -0
- data/ext/fox12/include/FXRbAccelTable.h +46 -0
- data/ext/fox12/include/FXRbApp.h +137 -0
- data/ext/fox12/include/FXRbAppVirtuals.h +15 -0
- data/ext/fox12/include/FXRbArrowButton.h +51 -0
- data/ext/fox12/include/FXRbBMPIcon.h +54 -0
- data/ext/fox12/include/FXRbBMPImage.h +54 -0
- data/ext/fox12/include/FXRbBitmap.h +115 -0
- data/ext/fox12/include/FXRbBitmapFrame.h +56 -0
- data/ext/fox12/include/FXRbBitmapView.h +52 -0
- data/ext/fox12/include/FXRbBitmapVirtuals.h +27 -0
- data/ext/fox12/include/FXRbButton.h +51 -0
- data/ext/fox12/include/FXRbCURCursor.h +60 -0
- data/ext/fox12/include/FXRbCanvas.h +51 -0
- data/ext/fox12/include/FXRbCheckButton.h +51 -0
- data/ext/fox12/include/FXRbColorBar.h +51 -0
- data/ext/fox12/include/FXRbColorDialog.h +53 -0
- data/ext/fox12/include/FXRbColorSelector.h +51 -0
- data/ext/fox12/include/FXRbColorWell.h +51 -0
- data/ext/fox12/include/FXRbColorWheel.h +51 -0
- data/ext/fox12/include/FXRbComboBox.h +56 -0
- data/ext/fox12/include/FXRbCommon.h +86 -0
- data/ext/fox12/include/FXRbComposite.h +51 -0
- data/ext/fox12/include/FXRbCursor.h +87 -0
- data/ext/fox12/include/FXRbCursorVirtuals.h +6 -0
- data/ext/fox12/include/FXRbDC.h +385 -0
- data/ext/fox12/include/FXRbDCPrint.h +49 -0
- data/ext/fox12/include/FXRbDCVirtuals.h +166 -0
- data/ext/fox12/include/FXRbDCWindow.h +64 -0
- data/ext/fox12/include/FXRbDataTarget.h +65 -0
- data/ext/fox12/include/FXRbDebugTarget.h +46 -0
- data/ext/fox12/include/FXRbDelegator.h +46 -0
- data/ext/fox12/include/FXRbDial.h +51 -0
- data/ext/fox12/include/FXRbDialogBox.h +68 -0
- data/ext/fox12/include/FXRbDialogBoxVirtuals.h +3 -0
- data/ext/fox12/include/FXRbDict.h +46 -0
- data/ext/fox12/include/FXRbDirBox.h +51 -0
- data/ext/fox12/include/FXRbDirDialog.h +53 -0
- data/ext/fox12/include/FXRbDirList.h +79 -0
- data/ext/fox12/include/FXRbDirSelector.h +51 -0
- data/ext/fox12/include/FXRbDocument.h +46 -0
- data/ext/fox12/include/FXRbDragCorner.h +51 -0
- data/ext/fox12/include/FXRbDrawable.h +64 -0
- data/ext/fox12/include/FXRbDrawableVirtuals.h +3 -0
- data/ext/fox12/include/FXRbDriveBox.h +51 -0
- data/ext/fox12/include/FXRbFileDialog.h +56 -0
- data/ext/fox12/include/FXRbFileDict.h +104 -0
- data/ext/fox12/include/FXRbFileDictVirtuals.h +9 -0
- data/ext/fox12/include/FXRbFileList.h +81 -0
- data/ext/fox12/include/FXRbFileSelector.h +51 -0
- data/ext/fox12/include/FXRbFoldingItemVirtuals.h +45 -0
- data/ext/fox12/include/FXRbFoldingList.h +183 -0
- data/ext/fox12/include/FXRbFont.h +70 -0
- data/ext/fox12/include/FXRbFontDialog.h +53 -0
- data/ext/fox12/include/FXRbFontSelector.h +51 -0
- data/ext/fox12/include/FXRbFrame.h +51 -0
- data/ext/fox12/include/FXRbGIFCursor.h +60 -0
- data/ext/fox12/include/FXRbGIFIcon.h +54 -0
- data/ext/fox12/include/FXRbGIFImage.h +54 -0
- data/ext/fox12/include/FXRbGLCanvas.h +92 -0
- data/ext/fox12/include/FXRbGLCanvasVirtuals.h +13 -0
- data/ext/fox12/include/FXRbGLContext.h +58 -0
- data/ext/fox12/include/FXRbGLObject.h +103 -0
- data/ext/fox12/include/FXRbGLObjectVirtuals.h +22 -0
- data/ext/fox12/include/FXRbGLShape.h +81 -0
- data/ext/fox12/include/FXRbGLShapeVirtuals.h +8 -0
- data/ext/fox12/include/FXRbGLViewer.h +83 -0
- data/ext/fox12/include/FXRbGLViewerVirtuals.h +6 -0
- data/ext/fox12/include/FXRbGLVisual.h +56 -0
- data/ext/fox12/include/FXRbGradientBar.h +55 -0
- data/ext/fox12/include/FXRbGroupBox.h +51 -0
- data/ext/fox12/include/FXRbHeader.h +125 -0
- data/ext/fox12/include/FXRbHeaderItemVirtuals.h +22 -0
- data/ext/fox12/include/FXRbHorizontalFrame.h +51 -0
- data/ext/fox12/include/FXRbICOIcon.h +54 -0
- data/ext/fox12/include/FXRbICOImage.h +54 -0
- data/ext/fox12/include/FXRbIcon.h +57 -0
- data/ext/fox12/include/FXRbIconItemVirtuals.h +71 -0
- data/ext/fox12/include/FXRbIconList.h +266 -0
- data/ext/fox12/include/FXRbIconListVirtuals.h +21 -0
- data/ext/fox12/include/FXRbId.h +74 -0
- data/ext/fox12/include/FXRbIdVirtuals.h +9 -0
- data/ext/fox12/include/FXRbImage.h +162 -0
- data/ext/fox12/include/FXRbImageFrame.h +56 -0
- data/ext/fox12/include/FXRbImageView.h +52 -0
- data/ext/fox12/include/FXRbImageVirtuals.h +51 -0
- data/ext/fox12/include/FXRbInputDialog.h +53 -0
- data/ext/fox12/include/FXRbJPGIcon.h +54 -0
- data/ext/fox12/include/FXRbJPGImage.h +54 -0
- data/ext/fox12/include/FXRbLabel.h +51 -0
- data/ext/fox12/include/FXRbList.h +204 -0
- data/ext/fox12/include/FXRbListBox.h +56 -0
- data/ext/fox12/include/FXRbListItemVirtuals.h +36 -0
- data/ext/fox12/include/FXRbListVirtuals.h +18 -0
- data/ext/fox12/include/FXRbMDIButton.h +162 -0
- data/ext/fox12/include/FXRbMDIChild.h +82 -0
- data/ext/fox12/include/FXRbMDIChildVirtuals.h +12 -0
- data/ext/fox12/include/FXRbMDIClient.h +80 -0
- data/ext/fox12/include/FXRbMDIClientVirtuals.h +12 -0
- data/ext/fox12/include/FXRbMainWindow.h +54 -0
- data/ext/fox12/include/FXRbMatrix.h +51 -0
- data/ext/fox12/include/FXRbMenuBar.h +63 -0
- data/ext/fox12/include/FXRbMenuButton.h +51 -0
- data/ext/fox12/include/FXRbMenuCaption.h +51 -0
- data/ext/fox12/include/FXRbMenuCascade.h +51 -0
- data/ext/fox12/include/FXRbMenuCheck.h +49 -0
- data/ext/fox12/include/FXRbMenuCommand.h +49 -0
- data/ext/fox12/include/FXRbMenuPane.h +52 -0
- data/ext/fox12/include/FXRbMenuRadio.h +49 -0
- data/ext/fox12/include/FXRbMenuSeparator.h +51 -0
- data/ext/fox12/include/FXRbMenuTitle.h +51 -0
- data/ext/fox12/include/FXRbMessageBox.h +56 -0
- data/ext/fox12/include/FXRbObject.h +67 -0
- data/ext/fox12/include/FXRbObjectVirtuals.h +9 -0
- data/ext/fox12/include/FXRbOptionMenu.h +73 -0
- data/ext/fox12/include/FXRbPCXIcon.h +54 -0
- data/ext/fox12/include/FXRbPCXImage.h +54 -0
- data/ext/fox12/include/FXRbPNGIcon.h +54 -0
- data/ext/fox12/include/FXRbPNGImage.h +54 -0
- data/ext/fox12/include/FXRbPPMIcon.h +54 -0
- data/ext/fox12/include/FXRbPPMImage.h +54 -0
- data/ext/fox12/include/FXRbPacker.h +51 -0
- data/ext/fox12/include/FXRbPicker.h +51 -0
- data/ext/fox12/include/FXRbPopup.h +70 -0
- data/ext/fox12/include/FXRbPopupVirtuals.h +6 -0
- data/ext/fox12/include/FXRbPrintDialog.h +53 -0
- data/ext/fox12/include/FXRbProgressBar.h +51 -0
- data/ext/fox12/include/FXRbProgressDialog.h +53 -0
- data/ext/fox12/include/FXRbRGBIcon.h +54 -0
- data/ext/fox12/include/FXRbRGBImage.h +54 -0
- data/ext/fox12/include/FXRbRadioButton.h +51 -0
- data/ext/fox12/include/FXRbRealSlider.h +51 -0
- data/ext/fox12/include/FXRbRealSpinner.h +64 -0
- data/ext/fox12/include/FXRbRealSpinnerVirtuals.h +3 -0
- data/ext/fox12/include/FXRbRecentFiles.h +49 -0
- data/ext/fox12/include/FXRbRegistry.h +46 -0
- data/ext/fox12/include/FXRbReplaceDialog.h +53 -0
- data/ext/fox12/include/FXRbRootWindow.h +51 -0
- data/ext/fox12/include/FXRbRuler.h +56 -0
- data/ext/fox12/include/FXRbScintilla.h +52 -0
- data/ext/fox12/include/FXRbScrollArea.h +82 -0
- data/ext/fox12/include/FXRbScrollAreaVirtuals.h +13 -0
- data/ext/fox12/include/FXRbScrollBar.h +73 -0
- data/ext/fox12/include/FXRbScrollPane.h +52 -0
- data/ext/fox12/include/FXRbScrollWindow.h +52 -0
- data/ext/fox12/include/FXRbSearchDialog.h +53 -0
- data/ext/fox12/include/FXRbSeparator.h +95 -0
- data/ext/fox12/include/FXRbSettings.h +46 -0
- data/ext/fox12/include/FXRbShell.h +56 -0
- data/ext/fox12/include/FXRbShutter.h +86 -0
- data/ext/fox12/include/FXRbShutterVirtuals.h +3 -0
- data/ext/fox12/include/FXRbSlider.h +51 -0
- data/ext/fox12/include/FXRbSpinner.h +64 -0
- data/ext/fox12/include/FXRbSpinnerVirtuals.h +3 -0
- data/ext/fox12/include/FXRbSplitter.h +54 -0
- data/ext/fox12/include/FXRbSpring.h +51 -0
- data/ext/fox12/include/FXRbStatusBar.h +51 -0
- data/ext/fox12/include/FXRbStatusLine.h +51 -0
- data/ext/fox12/include/FXRbStream.h +101 -0
- data/ext/fox12/include/FXRbStreamVirtuals.h +9 -0
- data/ext/fox12/include/FXRbStringDict.h +46 -0
- data/ext/fox12/include/FXRbSwitcher.h +51 -0
- data/ext/fox12/include/FXRbTGAIcon.h +54 -0
- data/ext/fox12/include/FXRbTGAImage.h +54 -0
- data/ext/fox12/include/FXRbTIFIcon.h +54 -0
- data/ext/fox12/include/FXRbTIFImage.h +54 -0
- data/ext/fox12/include/FXRbTabBar.h +64 -0
- data/ext/fox12/include/FXRbTabBarVirtuals.h +3 -0
- data/ext/fox12/include/FXRbTabBook.h +52 -0
- data/ext/fox12/include/FXRbTabItem.h +51 -0
- data/ext/fox12/include/FXRbTable.h +416 -0
- data/ext/fox12/include/FXRbTableItemVirtuals.h +68 -0
- data/ext/fox12/include/FXRbTableVirtuals.h +73 -0
- data/ext/fox12/include/FXRbText.h +89 -0
- data/ext/fox12/include/FXRbTextField.h +51 -0
- data/ext/fox12/include/FXRbTextVirtuals.h +9 -0
- data/ext/fox12/include/FXRbToggleButton.h +51 -0
- data/ext/fox12/include/FXRbToolBar.h +80 -0
- data/ext/fox12/include/FXRbToolBarGrip.h +51 -0
- data/ext/fox12/include/FXRbToolBarShell.h +52 -0
- data/ext/fox12/include/FXRbToolBarTab.h +51 -0
- data/ext/fox12/include/FXRbToolBarVirtuals.h +6 -0
- data/ext/fox12/include/FXRbToolTip.h +51 -0
- data/ext/fox12/include/FXRbTopWindow.h +91 -0
- data/ext/fox12/include/FXRbTopWindowVirtuals.h +15 -0
- data/ext/fox12/include/FXRbTreeItemVirtuals.h +42 -0
- data/ext/fox12/include/FXRbTreeList.h +249 -0
- data/ext/fox12/include/FXRbTreeListBox.h +53 -0
- data/ext/fox12/include/FXRbTreeListVirtuals.h +30 -0
- data/ext/fox12/include/FXRbTriStateButton.h +51 -0
- data/ext/fox12/include/FXRbVerticalFrame.h +51 -0
- data/ext/fox12/include/FXRbVisual.h +56 -0
- data/ext/fox12/include/FXRbWindow.h +200 -0
- data/ext/fox12/include/FXRbWindowVirtuals.h +69 -0
- data/ext/fox12/include/FXRbWizard.h +60 -0
- data/ext/fox12/include/FXRbXBMIcon.h +54 -0
- data/ext/fox12/include/FXRbXBMImage.h +54 -0
- data/ext/fox12/include/FXRbXPMIcon.h +54 -0
- data/ext/fox12/include/FXRbXPMImage.h +54 -0
- data/ext/fox12/include/FXRuby.h +728 -0
- data/ext/fox12/include/impl.h +201 -0
- data/ext/fox12/include/inlinestubs.h +1063 -0
- data/ext/fox12/label_wrap.cpp +4945 -0
- data/ext/fox12/layout_wrap.cpp +5061 -0
- data/ext/fox12/librb.c +636 -0
- data/ext/fox12/list_wrap.cpp +2212 -0
- data/ext/fox12/markfuncs.cpp +1568 -0
- data/ext/fox12/mdi_wrap.cpp +4521 -0
- data/ext/fox12/menu_wrap.cpp +4673 -0
- data/ext/fox12/scintilla_wrap.cpp +2245 -0
- data/ext/fox12/table_wrap.cpp +3581 -0
- data/ext/fox12/text_wrap.cpp +3539 -0
- data/ext/fox12/treelist_wrap.cpp +5609 -0
- data/ext/fox12/ui_wrap.cpp +10017 -0
- data/index.html +14 -0
- data/lib/fox12/aliases.rb +5211 -0
- data/lib/fox12/calendar.rb +218 -0
- data/lib/fox12/chore.rb +51 -0
- data/lib/fox12/colors.rb +282 -0
- data/lib/fox12/core.rb +249 -0
- data/lib/fox12/dict.rb +35 -0
- data/lib/fox12/glgroup.rb +165 -0
- data/lib/fox12/glshapes.rb +457 -0
- data/lib/fox12/input.rb +56 -0
- data/lib/fox12/irb.rb +179 -0
- data/lib/fox12/iterators.rb +331 -0
- data/lib/fox12/keys.rb +1376 -0
- data/lib/fox12/missingdep.rb +16 -0
- data/lib/fox12/pseudokeyboard.rb +36 -0
- data/lib/fox12/pseudomouse.rb +84 -0
- data/lib/fox12/responder.rb +72 -0
- data/lib/fox12/responder2.rb +122 -0
- data/lib/fox12/scintilla.rb +2629 -0
- data/lib/fox12/settings.rb +18 -0
- data/lib/fox12/signal.rb +68 -0
- data/lib/fox12/timeout.rb +58 -0
- data/lib/fox12/undolist.rb +456 -0
- data/lib/fox12/version.rb +11 -0
- data/rdoc-sources/FX4Splitter.rb +138 -0
- data/rdoc-sources/FXAccelTable.rb +67 -0
- data/rdoc-sources/FXApp.rb +557 -0
- data/rdoc-sources/FXArrowButton.rb +69 -0
- data/rdoc-sources/FXBMPIcon.rb +45 -0
- data/rdoc-sources/FXBMPImage.rb +20 -0
- data/rdoc-sources/FXBitmap.rb +78 -0
- data/rdoc-sources/FXBitmapFrame.rb +29 -0
- data/rdoc-sources/FXBitmapView.rb +41 -0
- data/rdoc-sources/FXButton.rb +43 -0
- data/rdoc-sources/FXCURCursor.rb +13 -0
- data/rdoc-sources/FXCanvas.rb +18 -0
- data/rdoc-sources/FXCheckButton.rb +57 -0
- data/rdoc-sources/FXColorBar.rb +43 -0
- data/rdoc-sources/FXColorDialog.rb +36 -0
- data/rdoc-sources/FXColorSelector.rb +65 -0
- data/rdoc-sources/FXColorWell.rb +57 -0
- data/rdoc-sources/FXColorWheel.rb +35 -0
- data/rdoc-sources/FXComboBox.rb +153 -0
- data/rdoc-sources/FXComposite.rb +34 -0
- data/rdoc-sources/FXCursor.rb +67 -0
- data/rdoc-sources/FXDC.rb +667 -0
- data/rdoc-sources/FXDCPrint.rb +127 -0
- data/rdoc-sources/FXDCWindow.rb +37 -0
- data/rdoc-sources/FXDataTarget.rb +41 -0
- data/rdoc-sources/FXDebugTarget.rb +25 -0
- data/rdoc-sources/FXDelegator.rb +23 -0
- data/rdoc-sources/FXDial.rb +68 -0
- data/rdoc-sources/FXDialogBox.rb +36 -0
- data/rdoc-sources/FXDict.rb +79 -0
- data/rdoc-sources/FXDirBox.rb +49 -0
- data/rdoc-sources/FXDirDialog.rb +18 -0
- data/rdoc-sources/FXDirList.rb +143 -0
- data/rdoc-sources/FXDirSelector.rb +30 -0
- data/rdoc-sources/FXDocument.rb +29 -0
- data/rdoc-sources/FXDragCorner.rb +19 -0
- data/rdoc-sources/FXDrawable.rb +27 -0
- data/rdoc-sources/FXDriveBox.rb +46 -0
- data/rdoc-sources/FXFileDialog.rb +132 -0
- data/rdoc-sources/FXFileDict.rb +168 -0
- data/rdoc-sources/FXFileList.rb +163 -0
- data/rdoc-sources/FXFileSelector.rb +148 -0
- data/rdoc-sources/FXFileStream.rb +24 -0
- data/rdoc-sources/FXFoldingList.rb +453 -0
- data/rdoc-sources/FXFont.rb +345 -0
- data/rdoc-sources/FXFontDialog.rb +14 -0
- data/rdoc-sources/FXFontSelector.rb +37 -0
- data/rdoc-sources/FXFrame.rb +47 -0
- data/rdoc-sources/FXGIFCursor.rb +38 -0
- data/rdoc-sources/FXGIFIcon.rb +21 -0
- data/rdoc-sources/FXGIFImage.rb +19 -0
- data/rdoc-sources/FXGLCanvas.rb +45 -0
- data/rdoc-sources/FXGLContext.rb +41 -0
- data/rdoc-sources/FXGLObject.rb +75 -0
- data/rdoc-sources/FXGLShape.rb +75 -0
- data/rdoc-sources/FXGLViewer.rb +309 -0
- data/rdoc-sources/FXGLVisual.rb +94 -0
- data/rdoc-sources/FXGradientBar.rb +291 -0
- data/rdoc-sources/FXGroupBox.rb +33 -0
- data/rdoc-sources/FXHeader.rb +377 -0
- data/rdoc-sources/FXHorizontalFrame.rb +29 -0
- data/rdoc-sources/FXICOIcon.rb +50 -0
- data/rdoc-sources/FXICOImage.rb +21 -0
- data/rdoc-sources/FXIcon.rb +38 -0
- data/rdoc-sources/FXIconList.rb +418 -0
- data/rdoc-sources/FXId.rb +34 -0
- data/rdoc-sources/FXImage.rb +198 -0
- data/rdoc-sources/FXImageFrame.rb +22 -0
- data/rdoc-sources/FXImageView.rb +35 -0
- data/rdoc-sources/FXInputDialog.rb +62 -0
- data/rdoc-sources/FXJPGIcon.rb +52 -0
- data/rdoc-sources/FXJPGImage.rb +25 -0
- data/rdoc-sources/FXLabel.rb +66 -0
- data/rdoc-sources/FXList.rb +412 -0
- data/rdoc-sources/FXListBox.rb +158 -0
- data/rdoc-sources/FXMDIButton.rb +67 -0
- data/rdoc-sources/FXMDIChild.rb +145 -0
- data/rdoc-sources/FXMDIClient.rb +67 -0
- data/rdoc-sources/FXMainWindow.rb +20 -0
- data/rdoc-sources/FXMat4.rb +171 -0
- data/rdoc-sources/FXMatrix.rb +57 -0
- data/rdoc-sources/FXMemoryBuffer.rb +19 -0
- data/rdoc-sources/FXMemoryStream.rb +45 -0
- data/rdoc-sources/FXMenuBar.rb +23 -0
- data/rdoc-sources/FXMenuButton.rb +84 -0
- data/rdoc-sources/FXMenuCaption.rb +47 -0
- data/rdoc-sources/FXMenuCascade.rb +18 -0
- data/rdoc-sources/FXMenuCheck.rb +30 -0
- data/rdoc-sources/FXMenuCommand.rb +27 -0
- data/rdoc-sources/FXMenuPane.rb +13 -0
- data/rdoc-sources/FXMenuRadio.rb +30 -0
- data/rdoc-sources/FXMenuSeparator.rb +21 -0
- data/rdoc-sources/FXMenuTitle.rb +27 -0
- data/rdoc-sources/FXMessageBox.rb +77 -0
- data/rdoc-sources/FXObject.rb +22 -0
- data/rdoc-sources/FXOptionMenu.rb +76 -0
- data/rdoc-sources/FXPCXIcon.rb +48 -0
- data/rdoc-sources/FXPCXImage.rb +21 -0
- data/rdoc-sources/FXPNGIcon.rb +48 -0
- data/rdoc-sources/FXPNGImage.rb +21 -0
- data/rdoc-sources/FXPPMIcon.rb +21 -0
- data/rdoc-sources/FXPPMImage.rb +21 -0
- data/rdoc-sources/FXPacker.rb +62 -0
- data/rdoc-sources/FXPicker.rb +27 -0
- data/rdoc-sources/FXPopup.rb +53 -0
- data/rdoc-sources/FXPrintDialog.rb +36 -0
- data/rdoc-sources/FXProgressBar.rb +57 -0
- data/rdoc-sources/FXProgressDialog.rb +36 -0
- data/rdoc-sources/FXQuatd.rb +1 -0
- data/rdoc-sources/FXQuatf.rb +1 -0
- data/rdoc-sources/FXRGBIcon.rb +49 -0
- data/rdoc-sources/FXRGBImage.rb +21 -0
- data/rdoc-sources/FXRadioButton.rb +64 -0
- data/rdoc-sources/FXRanged.rb +97 -0
- data/rdoc-sources/FXRangef.rb +97 -0
- data/rdoc-sources/FXRealSlider.rb +99 -0
- data/rdoc-sources/FXRealSpinner.rb +133 -0
- data/rdoc-sources/FXRecentFiles.rb +73 -0
- data/rdoc-sources/FXRectangle.rb +137 -0
- data/rdoc-sources/FXRegion.rb +64 -0
- data/rdoc-sources/FXRegistry.rb +39 -0
- data/rdoc-sources/FXReplaceDialog.rb +56 -0
- data/rdoc-sources/FXRootWindow.rb +17 -0
- data/rdoc-sources/FXRuler.rb +60 -0
- data/rdoc-sources/FXScintilla.rb +121 -0
- data/rdoc-sources/FXScrollArea.rb +86 -0
- data/rdoc-sources/FXScrollBar.rb +101 -0
- data/rdoc-sources/FXScrollPane.rb +23 -0
- data/rdoc-sources/FXScrollWindow.rb +38 -0
- data/rdoc-sources/FXSearchDialog.rb +24 -0
- data/rdoc-sources/FXSeparator.rb +64 -0
- data/rdoc-sources/FXSettings.rb +222 -0
- data/rdoc-sources/FXShell.rb +7 -0
- data/rdoc-sources/FXShutter.rb +97 -0
- data/rdoc-sources/FXSize.rb +30 -0
- data/rdoc-sources/FXSlider.rb +96 -0
- data/rdoc-sources/FXSphered.rb +65 -0
- data/rdoc-sources/FXSpheref.rb +65 -0
- data/rdoc-sources/FXSpinner.rb +132 -0
- data/rdoc-sources/FXSplitter.rb +88 -0
- data/rdoc-sources/FXSpring.rb +61 -0
- data/rdoc-sources/FXStatusBar.rb +42 -0
- data/rdoc-sources/FXStatusLine.rb +60 -0
- data/rdoc-sources/FXStream.rb +115 -0
- data/rdoc-sources/FXStringDict.rb +38 -0
- data/rdoc-sources/FXSwitcher.rb +78 -0
- data/rdoc-sources/FXTGAIcon.rb +48 -0
- data/rdoc-sources/FXTGAImage.rb +21 -0
- data/rdoc-sources/FXTIFIcon.rb +52 -0
- data/rdoc-sources/FXTIFImage.rb +24 -0
- data/rdoc-sources/FXTabBar.rb +76 -0
- data/rdoc-sources/FXTabBook.rb +38 -0
- data/rdoc-sources/FXTabItem.rb +51 -0
- data/rdoc-sources/FXTable.rb +654 -0
- data/rdoc-sources/FXText.rb +533 -0
- data/rdoc-sources/FXTextField.rb +141 -0
- data/rdoc-sources/FXToggleButton.rb +69 -0
- data/rdoc-sources/FXToolBar.rb +121 -0
- data/rdoc-sources/FXToolBarGrip.rb +55 -0
- data/rdoc-sources/FXToolBarShell.rb +44 -0
- data/rdoc-sources/FXToolTip.rb +36 -0
- data/rdoc-sources/FXTopWindow.rb +92 -0
- data/rdoc-sources/FXTreeList.rb +503 -0
- data/rdoc-sources/FXTreeListBox.rb +182 -0
- data/rdoc-sources/FXTriStateButton.rb +49 -0
- data/rdoc-sources/FXVec.rb +97 -0
- data/rdoc-sources/FXVec4.rb +91 -0
- data/rdoc-sources/FXVerticalFrame.rb +29 -0
- data/rdoc-sources/FXVisual.rb +79 -0
- data/rdoc-sources/FXWindow.rb +633 -0
- data/rdoc-sources/FXWizard.rb +63 -0
- data/rdoc-sources/FXXBMIcon.rb +22 -0
- data/rdoc-sources/FXXBMImage.rb +22 -0
- data/rdoc-sources/FXXPMIcon.rb +50 -0
- data/rdoc-sources/FXXPMImage.rb +21 -0
- data/rdoc-sources/README.rdoc +53 -0
- data/rdoc-sources/fxdefs.rb +90 -0
- data/tests/README +19 -0
- data/tests/TC_FXAccelTable.rb +43 -0
- data/tests/TC_FXApp.rb +15 -0
- data/tests/TC_FXArc.rb +26 -0
- data/tests/TC_FXButton.rb +72 -0
- data/tests/TC_FXCheckButton.rb +57 -0
- data/tests/TC_FXComboBox.rb +36 -0
- data/tests/TC_FXDC.rb +372 -0
- data/tests/TC_FXDCPrint.rb +102 -0
- data/tests/TC_FXDCWindow.rb +23 -0
- data/tests/TC_FXDataTarget.rb +24 -0
- data/tests/TC_FXDirList.rb +30 -0
- data/tests/TC_FXFileAssoc.rb +62 -0
- data/tests/TC_FXFileStream.rb +90 -0
- data/tests/TC_FXFont.rb +59 -0
- data/tests/TC_FXFontDesc.rb +62 -0
- data/tests/TC_FXGLGroup.rb +32 -0
- data/tests/TC_FXGLShape.rb +28 -0
- data/tests/TC_FXGLViewer.rb +18 -0
- data/tests/TC_FXGradientBar.rb +89 -0
- data/tests/TC_FXHeader.rb +82 -0
- data/tests/TC_FXIconDict.rb +52 -0
- data/tests/TC_FXIconList.rb +192 -0
- data/tests/TC_FXId.rb +19 -0
- data/tests/TC_FXImage.rb +144 -0
- data/tests/TC_FXLight.rb +33 -0
- data/tests/TC_FXList.rb +116 -0
- data/tests/TC_FXListBox.rb +49 -0
- data/tests/TC_FXMat4f.rb +228 -0
- data/tests/TC_FXMaterial.rb +75 -0
- data/tests/TC_FXMemoryStream.rb +87 -0
- data/tests/TC_FXMenuCommand.rb +26 -0
- data/tests/TC_FXPoint.rb +57 -0
- data/tests/TC_FXQuatf.rb +77 -0
- data/tests/TC_FXRadioButton.rb +57 -0
- data/tests/TC_FXRangef.rb +48 -0
- data/tests/TC_FXRectangle.rb +88 -0
- data/tests/TC_FXRegion.rb +54 -0
- data/tests/TC_FXRegistry.rb +27 -0
- data/tests/TC_FXScrollArea.rb +28 -0
- data/tests/TC_FXScrollWindow.rb +28 -0
- data/tests/TC_FXSegment.rb +22 -0
- data/tests/TC_FXShell.rb +26 -0
- data/tests/TC_FXSize.rb +54 -0
- data/tests/TC_FXStream.rb +11 -0
- data/tests/TC_FXTable.rb +468 -0
- data/tests/TC_FXTableItem.rb +48 -0
- data/tests/TC_FXText.rb +81 -0
- data/tests/TC_FXTopWindow.rb +32 -0
- data/tests/TC_FXTreeList.rb +83 -0
- data/tests/TC_FXTreeListBox.rb +23 -0
- data/tests/TC_FXUndoList.rb +43 -0
- data/tests/TC_FXVec2d.rb +142 -0
- data/tests/TC_FXVec2f.rb +137 -0
- data/tests/TC_FXVec3d.rb +150 -0
- data/tests/TC_FXVec3f.rb +150 -0
- data/tests/TC_FXVec4f.rb +158 -0
- data/tests/TC_FXViewport.rb +30 -0
- data/tests/TC_Misc.rb +157 -0
- data/tests/TC_downcast.rb +15 -0
- data/tests/TS_All.rb +25 -0
- data/tests/blankpage.ps +166 -0
- data/tests/doit.rb +5 -0
- data/tests/howdypage.ps +181 -0
- data/tests/stress1.rb +94 -0
- data/tests/stress2.rb +51 -0
- data/tests/stress3.rb +117 -0
- data/tests/testcase.rb +38 -0
- data/web/art/fxrubylogo.png +0 -0
- data/web/art/fxrubylogo_small.png +0 -0
- data/web/art/line.gif +0 -0
- data/web/art/oul_grey.gif +0 -0
- data/web/art/our.gif +0 -0
- data/web/downloads.html +91 -0
- data/web/home.html +109 -0
- data/web/menu.html +50 -0
- data/web/styles.css +167 -0
- data/web/top.html +15 -0
- metadata +737 -0
data/lib/fox12/core.rb
ADDED
@@ -0,0 +1,249 @@
|
|
1
|
+
module Fox
|
2
|
+
|
3
|
+
class FXIconItem
|
4
|
+
def <=>(otherItem)
|
5
|
+
text <=> otherItem.text
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class FXListItem
|
10
|
+
def <=>(otherItem)
|
11
|
+
text <=> otherItem.text
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class FXTreeItem
|
16
|
+
def <=>(otherItem)
|
17
|
+
text <=> otherItem.text
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
class FXDataTarget
|
22
|
+
#
|
23
|
+
# Returns the stringified representation of this
|
24
|
+
# data target's value.
|
25
|
+
#
|
26
|
+
def to_s
|
27
|
+
value.to_s
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
class FXHeader
|
32
|
+
#
|
33
|
+
# Returns true if the specified header item's arrow points
|
34
|
+
# up. Raises IndexError if _index_ is out of bounds.
|
35
|
+
#
|
36
|
+
def arrowUp?(index)
|
37
|
+
if index < 0 || index >= numItems
|
38
|
+
raise IndexError, "header item index out of bounds"
|
39
|
+
else
|
40
|
+
getArrowDir(index) == Fox::TRUE
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
#
|
45
|
+
# Returns true if the specified header item's arrow points
|
46
|
+
# down. Raises IndexError if _index_ is out of bounds.
|
47
|
+
#
|
48
|
+
def arrowDown?(index)
|
49
|
+
if index < 0 || index >= numItems
|
50
|
+
raise IndexError, "header item index out of bounds"
|
51
|
+
else
|
52
|
+
getArrowDir(index) == Fox::FALSE
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
#
|
57
|
+
# Returns true if the specified header item does not display
|
58
|
+
# any arrow. Raises IndexError if _index_ is out of bounds.
|
59
|
+
#
|
60
|
+
def arrowMaybe?(index)
|
61
|
+
if index < 0 || index >= numItems
|
62
|
+
raise IndexError, "header item index out of bounds"
|
63
|
+
else
|
64
|
+
getArrowDir(index) == Fox::MAYBE
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
class FXSettings
|
70
|
+
#
|
71
|
+
# Read a boolean registry entry from the specified _section_ and _key_.
|
72
|
+
# If no value is found, the _default_ value is returned.
|
73
|
+
#
|
74
|
+
def readBoolEntry(section, key, default=false)
|
75
|
+
default = default ? 1 : 0
|
76
|
+
readIntEntry(section, key, default) != 0
|
77
|
+
end
|
78
|
+
|
79
|
+
#
|
80
|
+
# Write a boolean registry _value_ to the specified _section_ and _key_.
|
81
|
+
#
|
82
|
+
def writeBoolEntry(section, key, value)
|
83
|
+
writeIntEntry(section, key, value ? 1 : 0)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
class FXWindow
|
88
|
+
#
|
89
|
+
# Iterate over the child windows for this window.
|
90
|
+
#
|
91
|
+
def each_child
|
92
|
+
child = self.first
|
93
|
+
while child
|
94
|
+
yield child
|
95
|
+
child = child.next
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
#
|
101
|
+
# The drag-and-drop data used for colors is a sequence of unsigned short
|
102
|
+
# integers, in native byte ordering. Here, we use the 'S' directive for
|
103
|
+
# String#unpack (which treats two successive characters as an unsigned short
|
104
|
+
# in native byte order) to decode the R, G, B and A values.
|
105
|
+
#
|
106
|
+
def Fox.fxdecodeColorData(data)
|
107
|
+
clr = data.unpack('S4')
|
108
|
+
Fox.FXRGBA((clr[0]+128)/257, (clr[1]+128)/257, (clr[2]+128)/257, (clr[3]+128)/257)
|
109
|
+
end
|
110
|
+
|
111
|
+
#
|
112
|
+
# The drag-and-drop data used for colors is a sequence of unsigned short
|
113
|
+
# integers, in native byte ordering. Here, we use the 'S' directive for
|
114
|
+
# Array#pack (which treats two successive characters as an unsigned short
|
115
|
+
# in native byte order) to encode the R, G, B and A values.
|
116
|
+
#
|
117
|
+
def Fox.fxencodeColorData(rgba)
|
118
|
+
clr = [ 257*Fox.FXREDVAL(rgba), 257*Fox.FXGREENVAL(rgba), 257*Fox.FXBLUEVAL(rgba), 257*Fox.FXALPHAVAL(rgba) ]
|
119
|
+
clr.pack('S4')
|
120
|
+
end
|
121
|
+
|
122
|
+
#
|
123
|
+
# The drag-and-drop data used for clipboard strings (i.e. when the
|
124
|
+
# drag type is FXWindow.stringType) is either a null-terminated
|
125
|
+
# string (for Microsoft Windows) or a non-null terminated string
|
126
|
+
# (for X11). Use this method to convert string data from the
|
127
|
+
# clipboard back into a Ruby string.
|
128
|
+
#
|
129
|
+
def Fox.fxdecodeStringData(data)
|
130
|
+
if /mswin/ =~ PLATFORM
|
131
|
+
data.chop
|
132
|
+
else
|
133
|
+
data
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
#
|
138
|
+
# The drag-and-drop data used for clipboard strings (i.e. when the
|
139
|
+
# drag type is FXWindow.stringType) is either a null-terminated
|
140
|
+
# string (for Microsoft Windows) or a non-null terminated string
|
141
|
+
# (for X11). Use this method to convert Ruby strings into a format
|
142
|
+
# appropriate for the current platform.
|
143
|
+
#
|
144
|
+
def Fox.fxencodeStringData(str)
|
145
|
+
if /mswin/ =~ PLATFORM
|
146
|
+
str + "\0"
|
147
|
+
else
|
148
|
+
str
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
#
|
153
|
+
# FXStreamError is the base class for exceptions which can occur when
|
154
|
+
# working with FXStream and its subclasses.
|
155
|
+
#
|
156
|
+
class FXStreamError < StandardError
|
157
|
+
#
|
158
|
+
# This is a factory method that takes an FXStreamStatus code
|
159
|
+
# as its input and returns the appropriate exception class.
|
160
|
+
#
|
161
|
+
def FXStreamError.makeStreamError(status)
|
162
|
+
case status
|
163
|
+
when FXStreamEnd
|
164
|
+
FXStreamEndError
|
165
|
+
when FXStreamFull
|
166
|
+
FXStreamFullError
|
167
|
+
when FXStreamNoWrite
|
168
|
+
FXStreamNoWriteError
|
169
|
+
when FXStreamNoRead
|
170
|
+
FXStreamNoReadError
|
171
|
+
when FXStreamFormat
|
172
|
+
FXStreamFormatError
|
173
|
+
when FXStreamUnknown
|
174
|
+
FXStreamUnknownError
|
175
|
+
when FXStreamAlloc
|
176
|
+
FXStreamAllocError
|
177
|
+
when FXStreamFailure
|
178
|
+
FXStreamFailureError
|
179
|
+
else
|
180
|
+
FXStreamError
|
181
|
+
end
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
185
|
+
# Tried to read past the end of a stream
|
186
|
+
class FXStreamEndError < FXStreamError ; end
|
187
|
+
|
188
|
+
# Filled up a stream's internal buffer, or the disk is full
|
189
|
+
class FXStreamFullError < FXStreamError ; end
|
190
|
+
|
191
|
+
# Unable to open for write
|
192
|
+
class FXStreamNoWriteError < FXStreamError ; end
|
193
|
+
|
194
|
+
# Unable to open for read
|
195
|
+
class FXStreamNoReadError < FXStreamError ; end
|
196
|
+
|
197
|
+
# Stream format error
|
198
|
+
class FXStreamFormatError < FXStreamError ; end
|
199
|
+
|
200
|
+
# Trying to read unknown class
|
201
|
+
class FXStreamUnknownError < FXStreamError ; end
|
202
|
+
|
203
|
+
# Alloc failed
|
204
|
+
class FXStreamAllocError < FXStreamError ; end
|
205
|
+
|
206
|
+
# General failure
|
207
|
+
class FXStreamFailureError < FXStreamError ; end
|
208
|
+
|
209
|
+
class FXDC
|
210
|
+
#
|
211
|
+
# Draw a circle centered at (_x_, _y_), with specified radius.
|
212
|
+
#
|
213
|
+
# === Parameters:
|
214
|
+
#
|
215
|
+
# +x+:: x-coordinate of the circle's center [Integer]
|
216
|
+
# +y+:: y-coordinate of the circle's center [Integer]
|
217
|
+
# +r+:: radius of the circle, in pixels [Integer]
|
218
|
+
#
|
219
|
+
# See also #fillCircle.
|
220
|
+
#
|
221
|
+
def drawCircle(x, y, r)
|
222
|
+
drawArc(x-r, y-r, 2*r, 2*r, 0, 360*64)
|
223
|
+
end
|
224
|
+
|
225
|
+
#
|
226
|
+
# Draw a filled circle centered at (_x_, _y_), with specified radius.
|
227
|
+
#
|
228
|
+
# === Parameters:
|
229
|
+
#
|
230
|
+
# +x+:: x-coordinate of the circle's center [Integer]
|
231
|
+
# +y+:: y-coordinate of the circle's center [Integer]
|
232
|
+
# +r+:: radius of the circle, in pixels [Integer]
|
233
|
+
#
|
234
|
+
# See also #drawCircle.
|
235
|
+
#
|
236
|
+
def fillCircle(x, y, r)
|
237
|
+
fillArc(x-r, y-r, 2*r, 2*r, 0, 360*64)
|
238
|
+
end
|
239
|
+
end
|
240
|
+
|
241
|
+
class FXHVec
|
242
|
+
def normalize!
|
243
|
+
normalized = self.normalize
|
244
|
+
0.upto(3) { |idx| self[idx] = normalized[idx] }
|
245
|
+
self
|
246
|
+
end
|
247
|
+
end
|
248
|
+
end
|
249
|
+
|
data/lib/fox12/dict.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
#
|
2
|
+
# Adds some methods similar to those for Ruby's Hash class
|
3
|
+
# to FOX's FXDict class.
|
4
|
+
#
|
5
|
+
module Fox
|
6
|
+
class FXDict
|
7
|
+
#
|
8
|
+
# Returns a new array populated with the keys from this dictionary.
|
9
|
+
#
|
10
|
+
def keys
|
11
|
+
ary = []
|
12
|
+
each_key { |k| ary << k }
|
13
|
+
ary
|
14
|
+
end
|
15
|
+
|
16
|
+
#
|
17
|
+
# Iterate over the keys in this dictionary.
|
18
|
+
#
|
19
|
+
def each_key
|
20
|
+
pos = first
|
21
|
+
while pos < self.getTotalSize()
|
22
|
+
yield key(pos)
|
23
|
+
pos = self.next(pos)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
#
|
28
|
+
# Returns +true+ if this dictionary contains no key-value pairs.
|
29
|
+
#
|
30
|
+
def empty?
|
31
|
+
self.size == 0
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
@@ -0,0 +1,165 @@
|
|
1
|
+
require 'fox12'
|
2
|
+
begin
|
3
|
+
require 'opengl'
|
4
|
+
rescue LoadError
|
5
|
+
# Can't use FXGLGroup since it depends on Ruby/OpenGL
|
6
|
+
end
|
7
|
+
|
8
|
+
module Fox
|
9
|
+
#
|
10
|
+
# A group of OpenGL objects
|
11
|
+
#
|
12
|
+
class FXGLGroup < FXGLObject
|
13
|
+
|
14
|
+
include Enumerable
|
15
|
+
|
16
|
+
FLT_MAX = 1.0e+20
|
17
|
+
FLT_MIN = -1.0e+20
|
18
|
+
|
19
|
+
#
|
20
|
+
# Returns an initialized FXGLGroup instance
|
21
|
+
#
|
22
|
+
def initialize
|
23
|
+
super
|
24
|
+
@list = []
|
25
|
+
end
|
26
|
+
|
27
|
+
#
|
28
|
+
# Return number of objects in this group.
|
29
|
+
#
|
30
|
+
def size
|
31
|
+
@list.size
|
32
|
+
end
|
33
|
+
|
34
|
+
#
|
35
|
+
# Return child at position _pos_.
|
36
|
+
#
|
37
|
+
def [](pos)
|
38
|
+
@list[pos]
|
39
|
+
end
|
40
|
+
|
41
|
+
#
|
42
|
+
# Set child at position _pos_ to _obj_.
|
43
|
+
#
|
44
|
+
def []=(pos, obj)
|
45
|
+
@list[pos] = obj
|
46
|
+
end
|
47
|
+
|
48
|
+
#
|
49
|
+
# Iterate over child objects
|
50
|
+
#
|
51
|
+
def each_child # :yields: childObject
|
52
|
+
@list.each { |child| yield child }
|
53
|
+
self
|
54
|
+
end
|
55
|
+
|
56
|
+
alias each each_child
|
57
|
+
|
58
|
+
#
|
59
|
+
# Return bounding box for this group (an FXRangef instance)
|
60
|
+
#
|
61
|
+
def bounds
|
62
|
+
box = nil
|
63
|
+
if @list.empty?
|
64
|
+
box = FXRangef.new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
|
65
|
+
else
|
66
|
+
box = FXRangef.new(FLT_MAX, -FLT_MAX, FLT_MAX, -FLT_MAX, FLT_MAX, -FLT_MAX)
|
67
|
+
@list.each { |obj| box.include!(obj.bounds) }
|
68
|
+
end
|
69
|
+
box
|
70
|
+
end
|
71
|
+
|
72
|
+
#
|
73
|
+
# Draw this group into _viewer_ (an FXGLViewer instance).
|
74
|
+
#
|
75
|
+
def draw(viewer)
|
76
|
+
@list.each { |obj| obj.draw(viewer) }
|
77
|
+
end
|
78
|
+
|
79
|
+
#
|
80
|
+
# Perform hit test in _viewer_ (an FXGLViewer instance).
|
81
|
+
#
|
82
|
+
def hit(viewer)
|
83
|
+
# GL.PushName(0xffffffff)
|
84
|
+
GL.PushName(1000000)
|
85
|
+
@list.each_with_index do |obj, i|
|
86
|
+
GL.LoadName(i)
|
87
|
+
obj.hit(viewer)
|
88
|
+
end
|
89
|
+
GL.PopName
|
90
|
+
end
|
91
|
+
|
92
|
+
#
|
93
|
+
# Identify object by means of _path_.
|
94
|
+
#
|
95
|
+
def identify(path)
|
96
|
+
objIndex = path.shift
|
97
|
+
@list[objIndex].identify(path)
|
98
|
+
end
|
99
|
+
|
100
|
+
#
|
101
|
+
# Return +true+ if group can be dragged.
|
102
|
+
#
|
103
|
+
def canDrag
|
104
|
+
true
|
105
|
+
end
|
106
|
+
|
107
|
+
#
|
108
|
+
# Drag group object around in _viewer_ (an FXGLViewer instance),
|
109
|
+
# from (_fx_, _fy_) to (_tx_, _ty_).
|
110
|
+
#
|
111
|
+
def drag(viewer, fx, fy, tx, ty)
|
112
|
+
@list.each { |obj| obj.drag(viewer, fx, fy, tx, ty) }
|
113
|
+
end
|
114
|
+
|
115
|
+
#
|
116
|
+
# Insert child object (_obj_) at position _pos_.
|
117
|
+
#
|
118
|
+
def insert(pos, obj)
|
119
|
+
raise NotImplementedError
|
120
|
+
end
|
121
|
+
|
122
|
+
#
|
123
|
+
# Prepend child object (_obj_).
|
124
|
+
#
|
125
|
+
def prepend(obj)
|
126
|
+
@list.unshift(obj)
|
127
|
+
end
|
128
|
+
|
129
|
+
#
|
130
|
+
# Append child object
|
131
|
+
#
|
132
|
+
def append(obj)
|
133
|
+
@list << obj
|
134
|
+
end
|
135
|
+
|
136
|
+
alias << append
|
137
|
+
|
138
|
+
#
|
139
|
+
# Replace child object at position _pos_ with _obj_.
|
140
|
+
#
|
141
|
+
def replace(pos, obj)
|
142
|
+
@list[pos] = obj
|
143
|
+
end
|
144
|
+
|
145
|
+
#
|
146
|
+
# If _obj_ is a reference to an FXGLObject in this group, remove the
|
147
|
+
# child object from the list. If _obj_ is an integer, remove the child
|
148
|
+
# object at that position from the list.
|
149
|
+
#
|
150
|
+
def remove(obj)
|
151
|
+
if obj.is_a? FXGLObject
|
152
|
+
@list.delete(obj)
|
153
|
+
else
|
154
|
+
@list.delete_at(obj)
|
155
|
+
end
|
156
|
+
end
|
157
|
+
|
158
|
+
#
|
159
|
+
# Remove all children from this group.
|
160
|
+
#
|
161
|
+
def clear
|
162
|
+
@list.clear
|
163
|
+
end
|
164
|
+
end
|
165
|
+
end
|