fxruby 1.6.38-x86-mingw32 → 1.6.43-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.
- checksums.yaml +5 -5
- data/.travis.yml +3 -14
- data/.yardopts +1 -1
- data/Gemfile +8 -5
- data/History.md +1344 -21
- data/README.rdoc +5 -5
- data/Rakefile +100 -68
- data/appveyor.yml +17 -4
- data/docs/Fox.html +11184 -0
- data/docs/Fox/Canvas.html +141 -0
- data/docs/Fox/Canvas/CanvasError.html +124 -0
- data/docs/Fox/Canvas/CircleShape.html +477 -0
- data/docs/Fox/Canvas/ImageShape.html +477 -0
- data/docs/Fox/Canvas/LineShape.html +1005 -0
- data/docs/Fox/Canvas/PolygonShape.html +145 -0
- data/docs/Fox/Canvas/RectangleShape.html +439 -0
- data/docs/Fox/Canvas/SelectionPolicy.html +352 -0
- data/docs/Fox/Canvas/Shape.html +1955 -0
- data/docs/Fox/Canvas/ShapeCanvas.html +2031 -0
- data/docs/Fox/Canvas/ShapeGroup.html +527 -0
- data/docs/Fox/Canvas/SingleSelectionPolicy.html +291 -0
- data/docs/Fox/Canvas/TextShape.html +609 -0
- data/docs/Fox/FTNonModal.html +550 -0
- data/docs/Fox/FX4Splitter.html +1336 -0
- data/docs/Fox/FX7Segment.html +1010 -0
- data/docs/Fox/FXAccelTable.html +715 -0
- data/docs/Fox/FXApp.html +7998 -0
- data/docs/Fox/FXArc.html +562 -0
- data/docs/Fox/FXArrowButton.html +865 -0
- data/docs/Fox/FXBMPIcon.html +450 -0
- data/docs/Fox/FXBMPImage.html +434 -0
- data/docs/Fox/FXBitmap.html +1362 -0
- data/docs/Fox/FXBitmapFrame.html +595 -0
- data/docs/Fox/FXBitmapView.html +1451 -0
- data/docs/Fox/FXButton.html +534 -0
- data/docs/Fox/FXCURCursor.html +261 -0
- data/docs/Fox/FXCalendar.html +880 -0
- data/docs/Fox/FXCanvas.html +311 -0
- data/docs/Fox/FXCheckButton.html +949 -0
- data/docs/Fox/FXChoiceBox.html +472 -0
- data/docs/Fox/FXColor.html +1519 -0
- data/docs/Fox/FXColorBar.html +759 -0
- data/docs/Fox/FXColorDialog.html +591 -0
- data/docs/Fox/FXColorItem.html +323 -0
- data/docs/Fox/FXColorList.html +712 -0
- data/docs/Fox/FXColorRing.html +817 -0
- data/docs/Fox/FXColorSelector.html +796 -0
- data/docs/Fox/FXColorWell.html +850 -0
- data/docs/Fox/FXColorWheel.html +770 -0
- data/docs/Fox/FXComboBox.html +2939 -0
- data/docs/Fox/FXComboTableItem.html +544 -0
- data/docs/Fox/FXCommand.html +526 -0
- data/docs/Fox/FXComposite.html +433 -0
- data/docs/Fox/FXCursor.html +779 -0
- data/docs/Fox/FXDC.html +5231 -0
- data/docs/Fox/FXDCPrint.html +696 -0
- data/docs/Fox/FXDCWindow.html +358 -0
- data/docs/Fox/FXDataTarget.html +573 -0
- data/docs/Fox/FXDebugTarget.html +305 -0
- data/docs/Fox/FXDelegator.html +305 -0
- data/docs/Fox/FXDial.html +1133 -0
- data/docs/Fox/FXDialogBox.html +413 -0
- data/docs/Fox/FXDict.html +1063 -0
- data/docs/Fox/FXDirBox.html +752 -0
- data/docs/Fox/FXDirDialog.html +914 -0
- data/docs/Fox/FXDirItem.html +989 -0
- data/docs/Fox/FXDirList.html +1554 -0
- data/docs/Fox/FXDirSelector.html +995 -0
- data/docs/Fox/FXDockBar.html +1451 -0
- data/docs/Fox/FXDockHandler.html +468 -0
- data/docs/Fox/FXDockSite.html +678 -0
- data/docs/Fox/FXDockTitle.html +606 -0
- data/docs/Fox/FXDocument.html +536 -0
- data/docs/Fox/FXDragCorner.html +440 -0
- data/docs/Fox/FXDrawable.html +478 -0
- data/docs/Fox/FXDriveBox.html +746 -0
- data/docs/Fox/FXEvent.html +1736 -0
- data/docs/Fox/FXExtentd.html +1374 -0
- data/docs/Fox/FXExtentf.html +1374 -0
- data/docs/Fox/FXFileAssoc.html +850 -0
- data/docs/Fox/FXFileDialog.html +2688 -0
- data/docs/Fox/FXFileDict.html +1058 -0
- data/docs/Fox/FXFileItem.html +1141 -0
- data/docs/Fox/FXFileList.html +2259 -0
- data/docs/Fox/FXFileSelector.html +2529 -0
- data/docs/Fox/FXFileStream.html +503 -0
- data/docs/Fox/FXFoldingItem.html +2822 -0
- data/docs/Fox/FXFoldingList.html +5189 -0
- data/docs/Fox/FXFont.html +2998 -0
- data/docs/Fox/FXFontDesc.html +710 -0
- data/docs/Fox/FXFontDialog.html +420 -0
- data/docs/Fox/FXFontSelector.html +576 -0
- data/docs/Fox/FXFrame.html +1012 -0
- data/docs/Fox/FXGIFCursor.html +337 -0
- data/docs/Fox/FXGIFIcon.html +450 -0
- data/docs/Fox/FXGIFImage.html +434 -0
- data/docs/Fox/FXGLCanvas.html +700 -0
- data/docs/Fox/FXGLCone.html +785 -0
- data/docs/Fox/FXGLContext.html +649 -0
- data/docs/Fox/FXGLCube.html +703 -0
- data/docs/Fox/FXGLCylinder.html +791 -0
- data/docs/Fox/FXGLGroup.html +1385 -0
- data/docs/Fox/FXGLLine.html +653 -0
- data/docs/Fox/FXGLObject.html +759 -0
- data/docs/Fox/FXGLPoint.html +561 -0
- data/docs/Fox/FXGLShape.html +714 -0
- data/docs/Fox/FXGLSphere.html +626 -0
- data/docs/Fox/FXGLViewer.html +3506 -0
- data/docs/Fox/FXGLVisual.html +2147 -0
- data/docs/Fox/FXGradient.html +562 -0
- data/docs/Fox/FXGradientBar.html +2479 -0
- data/docs/Fox/FXGroupBox.html +688 -0
- data/docs/Fox/FXHeader.html +3040 -0
- data/docs/Fox/FXHeaderItem.html +1353 -0
- data/docs/Fox/FXHiliteStyle.html +804 -0
- data/docs/Fox/FXHorizontalFrame.html +359 -0
- data/docs/Fox/FXHorizontalSeparator.html +349 -0
- data/docs/Fox/FXICOIcon.html +450 -0
- data/docs/Fox/FXICOImage.html +434 -0
- data/docs/Fox/FXIcon.html +384 -0
- data/docs/Fox/FXIconDict.html +752 -0
- data/docs/Fox/FXIconItem.html +1518 -0
- data/docs/Fox/FXIconList.html +4676 -0
- data/docs/Fox/FXIconSource.html +963 -0
- data/docs/Fox/FXId.html +712 -0
- data/docs/Fox/FXImage.html +2328 -0
- data/docs/Fox/FXImageFrame.html +489 -0
- data/docs/Fox/FXImageView.html +504 -0
- data/docs/Fox/FXInputDialog.html +894 -0
- data/docs/Fox/FXIrb.html +942 -0
- data/docs/Fox/FXJPGIcon.html +607 -0
- data/docs/Fox/FXJPGImage.html +591 -0
- data/docs/Fox/FXKnob.html +1048 -0
- data/docs/Fox/FXLabel.html +1013 -0
- data/docs/Fox/FXLight.html +920 -0
- data/docs/Fox/FXList.html +3717 -0
- data/docs/Fox/FXListBox.html +2518 -0
- data/docs/Fox/FXListItem.html +1459 -0
- data/docs/Fox/FXMDIChild.html +2175 -0
- data/docs/Fox/FXMDIClient.html +781 -0
- data/docs/Fox/FXMDIDeleteButton.html +334 -0
- data/docs/Fox/FXMDIMaximizeButton.html +334 -0
- data/docs/Fox/FXMDIMenu.html +335 -0
- data/docs/Fox/FXMDIMinimizeButton.html +334 -0
- data/docs/Fox/FXMDIRestoreButton.html +334 -0
- data/docs/Fox/FXMDIWindowButton.html +334 -0
- data/docs/Fox/FXMainWindow.html +337 -0
- data/docs/Fox/FXMaterial.html +570 -0
- data/docs/Fox/FXMatrix.html +734 -0
- data/docs/Fox/FXMemoryBuffer.html +472 -0
- data/docs/Fox/FXMemoryStream.html +632 -0
- data/docs/Fox/FXMenuBar.html +347 -0
- data/docs/Fox/FXMenuButton.html +829 -0
- data/docs/Fox/FXMenuCaption.html +1080 -0
- data/docs/Fox/FXMenuCascade.html +388 -0
- data/docs/Fox/FXMenuCheck.html +721 -0
- data/docs/Fox/FXMenuCommand.html +400 -0
- data/docs/Fox/FXMenuPane.html +333 -0
- data/docs/Fox/FXMenuRadio.html +721 -0
- data/docs/Fox/FXMenuSeparator.html +440 -0
- data/docs/Fox/FXMenuTitle.html +405 -0
- data/docs/Fox/FXMessageBox.html +658 -0
- data/docs/Fox/FXObject.html +545 -0
- data/docs/Fox/FXOption.html +491 -0
- data/docs/Fox/FXOptionMenu.html +885 -0
- data/docs/Fox/FXPCXIcon.html +450 -0
- data/docs/Fox/FXPCXImage.html +434 -0
- data/docs/Fox/FXPNGIcon.html +524 -0
- data/docs/Fox/FXPNGImage.html +508 -0
- data/docs/Fox/FXPPMIcon.html +450 -0
- data/docs/Fox/FXPPMImage.html +373 -0
- data/docs/Fox/FXPSBounds.html +500 -0
- data/docs/Fox/FXPacker.html +1229 -0
- data/docs/Fox/FXPicker.html +345 -0
- data/docs/Fox/FXPopup.html +1099 -0
- data/docs/Fox/FXPrintDialog.html +485 -0
- data/docs/Fox/FXPrinter.html +1330 -0
- data/docs/Fox/FXProgressBar.html +1150 -0
- data/docs/Fox/FXProgressDialog.html +715 -0
- data/docs/Fox/FXPseudoKeyboard.html +428 -0
- data/docs/Fox/FXPseudoMouse.html +800 -0
- data/docs/Fox/FXPseudoTarget.html +472 -0
- data/docs/Fox/FXQuatd.html +1377 -0
- data/docs/Fox/FXQuatf.html +1392 -0
- data/docs/Fox/FXRGBIcon.html +450 -0
- data/docs/Fox/FXRGBImage.html +434 -0
- data/docs/Fox/FXRadioButton.html +885 -0
- data/docs/Fox/FXRanged.html +1522 -0
- data/docs/Fox/FXRangef.html +1522 -0
- data/docs/Fox/FXRealSlider.html +1187 -0
- data/docs/Fox/FXRealSpinner.html +2175 -0
- data/docs/Fox/FXRecentFiles.html +841 -0
- data/docs/Fox/FXRectangle.html +802 -0
- data/docs/Fox/FXRegion.html +841 -0
- data/docs/Fox/FXRegistry.html +682 -0
- data/docs/Fox/FXReplaceDialog.html +648 -0
- data/docs/Fox/FXRootWindow.html +312 -0
- data/docs/Fox/FXRuler.html +2000 -0
- data/docs/Fox/FXRulerView.html +3997 -0
- data/docs/Fox/FXScintilla.html +49117 -0
- data/docs/Fox/FXScrollArea.html +1363 -0
- data/docs/Fox/FXScrollBar.html +1019 -0
- data/docs/Fox/FXScrollCorner.html +290 -0
- data/docs/Fox/FXScrollPane.html +499 -0
- data/docs/Fox/FXScrollWindow.html +409 -0
- data/docs/Fox/FXSearchDialog.html +382 -0
- data/docs/Fox/FXSegment.html +422 -0
- data/docs/Fox/FXSeparator.html +402 -0
- data/docs/Fox/FXSettings.html +1861 -0
- data/docs/Fox/FXShell.html +233 -0
- data/docs/Fox/FXShutter.html +472 -0
- data/docs/Fox/FXShutterItem.html +669 -0
- data/docs/Fox/FXSize.html +592 -0
- data/docs/Fox/FXSlider.html +1129 -0
- data/docs/Fox/FXSphered.html +906 -0
- data/docs/Fox/FXSpheref.html +906 -0
- data/docs/Fox/FXSpinner.html +2102 -0
- data/docs/Fox/FXSplashScreen.html +497 -0
- data/docs/Fox/FXSplashWindow.html +494 -0
- data/docs/Fox/FXSplitter.html +643 -0
- data/docs/Fox/FXSpring.html +517 -0
- data/docs/Fox/FXStatusBar.html +593 -0
- data/docs/Fox/FXStatusLine.html +754 -0
- data/docs/Fox/FXStream.html +1372 -0
- data/docs/Fox/FXStreamAllocError.html +148 -0
- data/docs/Fox/FXStreamEndError.html +148 -0
- data/docs/Fox/FXStreamError.html +259 -0
- data/docs/Fox/FXStreamFailureError.html +148 -0
- data/docs/Fox/FXStreamFormatError.html +148 -0
- data/docs/Fox/FXStreamFullError.html +148 -0
- data/docs/Fox/FXStreamNoReadError.html +148 -0
- data/docs/Fox/FXStreamNoWriteError.html +148 -0
- data/docs/Fox/FXStreamUnknownError.html +148 -0
- data/docs/Fox/FXStringDict.html +552 -0
- data/docs/Fox/FXSwitcher.html +619 -0
- data/docs/Fox/FXTGAIcon.html +450 -0
- data/docs/Fox/FXTGAImage.html +434 -0
- data/docs/Fox/FXTIFIcon.html +604 -0
- data/docs/Fox/FXTIFImage.html +588 -0
- data/docs/Fox/FXTabBar.html +644 -0
- data/docs/Fox/FXTabBook.html +373 -0
- data/docs/Fox/FXTabItem.html +478 -0
- data/docs/Fox/FXTable.html +10107 -0
- data/docs/Fox/FXTableItem.html +2195 -0
- data/docs/Fox/FXTablePos.html +360 -0
- data/docs/Fox/FXTableRange.html +360 -0
- data/docs/Fox/FXText.html +6870 -0
- data/docs/Fox/FXTextChange.html +492 -0
- data/docs/Fox/FXTextField.html +2016 -0
- data/docs/Fox/FXToggleButton.html +844 -0
- data/docs/Fox/FXToolBar.html +452 -0
- data/docs/Fox/FXToolBarGrip.html +584 -0
- data/docs/Fox/FXToolBarShell.html +788 -0
- data/docs/Fox/FXToolBarTab.html +729 -0
- data/docs/Fox/FXToolTip.html +761 -0
- data/docs/Fox/FXTopWindow.html +1716 -0
- data/docs/Fox/FXTranslator.html +481 -0
- data/docs/Fox/FXTreeItem.html +2813 -0
- data/docs/Fox/FXTreeList.html +5095 -0
- data/docs/Fox/FXTreeListBox.html +3080 -0
- data/docs/Fox/FXTriStateButton.html +681 -0
- data/docs/Fox/FXUndoList.html +2560 -0
- data/docs/Fox/FXVec2d.html +1450 -0
- data/docs/Fox/FXVec2f.html +1442 -0
- data/docs/Fox/FXVec3d.html +1649 -0
- data/docs/Fox/FXVec3f.html +1649 -0
- data/docs/Fox/FXVec4d.html +1858 -0
- data/docs/Fox/FXVec4f.html +1858 -0
- data/docs/Fox/FXVerticalFrame.html +359 -0
- data/docs/Fox/FXVerticalSeparator.html +349 -0
- data/docs/Fox/FXViewport.html +780 -0
- data/docs/Fox/FXVisual.html +1023 -0
- data/docs/Fox/FXWindow.html +9948 -0
- data/docs/Fox/FXWizard.html +1052 -0
- data/docs/Fox/FXXBMIcon.html +453 -0
- data/docs/Fox/FXXBMImage.html +437 -0
- data/docs/Fox/FXXPMIcon.html +450 -0
- data/docs/Fox/FXXPMImage.html +434 -0
- data/docs/Fox/NotifyHeader.html +286 -0
- data/docs/Fox/SCNotification.html +1438 -0
- data/docs/Fox/TextRange.html +281 -0
- data/docs/IRB.html +204 -0
- data/docs/Responder.html +693 -0
- data/docs/Responder2.html +225 -0
- data/docs/_index.html +2101 -0
- data/docs/class_list.html +51 -0
- data/docs/css/common.css +1 -0
- data/docs/css/full_list.css +58 -0
- data/docs/css/style.css +496 -0
- data/docs/file.History.html +869 -0
- data/docs/file.README.html +104 -0
- data/docs/file_list.html +66 -0
- data/docs/frames.html +17 -0
- data/docs/index.html +614 -0
- data/docs/js/app.js +314 -0
- data/docs/js/full_list.js +216 -0
- data/docs/js/jquery.js +4 -0
- data/docs/method_list.html +31043 -0
- data/docs/top-level-namespace.html +214 -0
- data/examples/canvasdemo.rb +5 -1
- data/examples/gltest.rb +162 -106
- data/examples/glviewer.rb +12 -8
- data/examples/inputs.rb +9 -4
- data/examples/pig.rb +2 -2
- data/examples/unicode.rb +6 -27
- data/ext/fox16_c/FXRbApp.cpp +3 -17
- data/ext/fox16_c/FXRuby.cpp +36 -46
- data/ext/fox16_c/extconf.rb +50 -34
- data/ext/fox16_c/impl.cpp +1 -1
- data/ext/fox16_c/include/FXRbApp.h +2 -2
- data/ext/fox16_c/include/FXRbCommon.h +0 -2
- data/ext/fox16_c/include/FXRbText.h +82 -2
- data/ext/fox16_c/include/FXRbTextVirtuals.h +22 -0
- data/ext/fox16_c/include/FXRuby.h +21 -3
- data/ext/fox16_c/include/gvl_wrappers.h +29 -11
- data/ext/fox16_c/make_impl.rb +1 -1
- data/fxruby.gemspec +2 -1
- data/lib/fox16/aliases.rb +4 -1
- data/lib/fox16/bitmapview.rb +0 -0
- data/lib/fox16/calendar.rb +6 -8
- data/lib/fox16/canvas.rb +93 -62
- data/lib/fox16/chore.rb +0 -0
- data/lib/fox16/colors.rb +0 -0
- data/lib/fox16/core.rb +18 -18
- data/lib/fox16/dict.rb +0 -0
- data/lib/fox16/glgroup.rb +5 -5
- data/lib/fox16/glshapes.rb +111 -99
- data/lib/fox16/input.rb +9 -7
- data/lib/fox16/irb.rb +0 -0
- data/lib/fox16/iterators.rb +0 -0
- data/lib/fox16/keys.rb +0 -0
- data/lib/fox16/missingdep.rb +0 -0
- data/lib/fox16/pseudokeyboard.rb +0 -0
- data/lib/fox16/pseudomouse.rb +0 -0
- data/lib/fox16/responder.rb +0 -0
- data/lib/fox16/responder2.rb +0 -0
- data/lib/fox16/scintilla.rb +0 -0
- data/lib/fox16/settings.rb +0 -0
- data/lib/fox16/signal.rb +0 -0
- data/lib/fox16/timeout.rb +0 -0
- data/lib/fox16/tkcompat.rb +0 -0
- data/lib/fox16/undolist.rb +8 -8
- data/lib/fox16/version.rb +1 -1
- data/rdoc-sources/FXGLVisual.rb +8 -0
- data/rdoc-sources/FXIconList.rb +2 -0
- data/rdoc-sources/FXImage.rb +5 -0
- data/rdoc-sources/FXList.rb +2 -0
- data/rdoc-sources/FXListBox.rb +1 -1
- data/rdoc-sources/FXText.rb +4 -2
- data/swig-interfaces/FXGLVisual.i +1 -1
- data/swig-interfaces/FXImage.i +9 -4
- data/swig-interfaces/FXMemoryBuffer.i +3 -3
- data/swig-interfaces/FXText.i +10 -8
- data/swig-interfaces/macros.i +9 -0
- data/test/TC_FXGLViewer.rb +8 -1
- data/test/TC_FXImage.rb +8 -0
- data/test/TC_FXList.rb +8 -8
- data/test/TC_FXText.rb +19 -0
- data/test/TC_FXVec4f.rb +26 -12
- metadata +300 -9
data/lib/fox16/input.rb
CHANGED
@@ -5,10 +5,13 @@ module Fox
|
|
5
5
|
alias addInputOrig addInput # :nodoc:
|
6
6
|
|
7
7
|
#
|
8
|
-
# Add
|
9
|
-
#
|
10
|
-
#
|
11
|
-
#
|
8
|
+
# Add an IO object as _io_ to be watched for activity as determined by _mode_, where _mode_ is a bitwise OR (+INPUT_READ+, +INPUT_WRITE+, +INPUT_EXCEPT+).
|
9
|
+
# A message of type +SEL_IO_READ+, +SEL_IO_WRITE+, or +SEL_IO_EXCEPT+ will be sent to the target when the specified activity is detected on the file descriptor.
|
10
|
+
#
|
11
|
+
# On POSIX operating systems all kinds of file descriptors can be watched.
|
12
|
+
# It works for +Socket.new+, +IO.popen+, +IO.pipe+, +IO.for_fd+, +File.open+, etc.
|
13
|
+
# Windows provides level triggered events only for network sockets.
|
14
|
+
# So on Windows only socket IO objects like +TCPSocket.new+ and +TCPServer.new+ are currently supported to be watched.
|
12
15
|
#
|
13
16
|
# There are several forms for #addInput; the original form (from FOX)
|
14
17
|
# takes four arguments:
|
@@ -30,8 +33,7 @@ module Fox
|
|
30
33
|
# ... handle the I/O event ...
|
31
34
|
# }
|
32
35
|
#
|
33
|
-
|
34
|
-
def addInput(fd, mode, *args, &block)
|
36
|
+
def addInput(io, mode, *args, &block)
|
35
37
|
params = {}
|
36
38
|
params = args.pop if args.last.is_a? Hash
|
37
39
|
tgt, sel = nil, 0
|
@@ -51,7 +53,7 @@ module Fox
|
|
51
53
|
tgt.pconnect(SEL_IO_WRITE, block, params)
|
52
54
|
tgt.pconnect(SEL_IO_EXCEPT, block, params)
|
53
55
|
end
|
54
|
-
addInputOrig(
|
56
|
+
addInputOrig(io, mode, tgt, sel)
|
55
57
|
end
|
56
58
|
|
57
59
|
end # class FXApp
|
data/lib/fox16/irb.rb
CHANGED
File without changes
|
data/lib/fox16/iterators.rb
CHANGED
File without changes
|
data/lib/fox16/keys.rb
CHANGED
File without changes
|
data/lib/fox16/missingdep.rb
CHANGED
File without changes
|
data/lib/fox16/pseudokeyboard.rb
CHANGED
File without changes
|
data/lib/fox16/pseudomouse.rb
CHANGED
File without changes
|
data/lib/fox16/responder.rb
CHANGED
File without changes
|
data/lib/fox16/responder2.rb
CHANGED
File without changes
|
data/lib/fox16/scintilla.rb
CHANGED
File without changes
|
data/lib/fox16/settings.rb
CHANGED
File without changes
|
data/lib/fox16/signal.rb
CHANGED
File without changes
|
data/lib/fox16/timeout.rb
CHANGED
File without changes
|
data/lib/fox16/tkcompat.rb
CHANGED
File without changes
|
data/lib/fox16/undolist.rb
CHANGED
@@ -344,9 +344,9 @@ module Fox
|
|
344
344
|
|
345
345
|
def onUpdUndo(sender, sel, ptr) # :nodoc:
|
346
346
|
if canUndo?
|
347
|
-
sender.handle(self, MKUINT(FXWindow::ID_ENABLE, SEL_COMMAND), nil)
|
347
|
+
sender.handle(self, Fox.MKUINT(FXWindow::ID_ENABLE, SEL_COMMAND), nil)
|
348
348
|
else
|
349
|
-
sender.handle(self, MKUINT(FXWindow::ID_DISABLE, SEL_COMMAND), nil)
|
349
|
+
sender.handle(self, Fox.MKUINT(FXWindow::ID_DISABLE, SEL_COMMAND), nil)
|
350
350
|
end
|
351
351
|
return 1
|
352
352
|
end
|
@@ -358,9 +358,9 @@ module Fox
|
|
358
358
|
|
359
359
|
def onUpdRedo(sender, sel, ptr) # :nodoc:
|
360
360
|
if canRedo?
|
361
|
-
sender.handle(self, MKUINT(FXWindow::ID_ENABLE, SEL_COMMAND), nil)
|
361
|
+
sender.handle(self, Fox.MKUINT(FXWindow::ID_ENABLE, SEL_COMMAND), nil)
|
362
362
|
else
|
363
|
-
sender.handle(self, MKUINT(FXWindow::ID_DISABLE, SEL_COMMAND), nil)
|
363
|
+
sender.handle(self, Fox.MKUINT(FXWindow::ID_DISABLE, SEL_COMMAND), nil)
|
364
364
|
end
|
365
365
|
return 1
|
366
366
|
end
|
@@ -372,9 +372,9 @@ module Fox
|
|
372
372
|
|
373
373
|
def onUpdClear(sender, sel, ptr) # :nodoc:
|
374
374
|
if canUndo? || canRedo?
|
375
|
-
sender.handle(self, MKUINT(FXWindow::ID_ENABLE, SEL_COMMAND), nil)
|
375
|
+
sender.handle(self, Fox.MKUINT(FXWindow::ID_ENABLE, SEL_COMMAND), nil)
|
376
376
|
else
|
377
|
-
sender.handle(self, MKUINT(FXWindow::ID_DISABLE, SEL_COMMAND), nil)
|
377
|
+
sender.handle(self, Fox.MKUINT(FXWindow::ID_DISABLE, SEL_COMMAND), nil)
|
378
378
|
end
|
379
379
|
return 1
|
380
380
|
end
|
@@ -386,9 +386,9 @@ module Fox
|
|
386
386
|
|
387
387
|
def onUpdRevert(sender, sel, ptr) # :nodoc:
|
388
388
|
if canRevert?
|
389
|
-
sender.handle(self, MKUINT(FXWindow::ID_ENABLE, SEL_COMMAND), nil)
|
389
|
+
sender.handle(self, Fox.MKUINT(FXWindow::ID_ENABLE, SEL_COMMAND), nil)
|
390
390
|
else
|
391
|
-
sender.handle(self, MKUINT(FXWindow::ID_DISABLE, SEL_COMMAND), nil)
|
391
|
+
sender.handle(self, Fox.MKUINT(FXWindow::ID_DISABLE, SEL_COMMAND), nil)
|
392
392
|
end
|
393
393
|
return 1
|
394
394
|
end
|
data/lib/fox16/version.rb
CHANGED
data/rdoc-sources/FXGLVisual.rb
CHANGED
@@ -77,6 +77,14 @@ module Fox
|
|
77
77
|
# even support no OpenGL at all! This function returns the lesser
|
78
78
|
# of the client support level and the display server support level.
|
79
79
|
#
|
80
|
+
# Return an array with the following 3 elements: [supported, major, minor]
|
81
|
+
#
|
82
|
+
def FXGLVisual.supported(app); end
|
83
|
+
|
84
|
+
# Test if OpenGL is possible.
|
85
|
+
#
|
86
|
+
# Same as {FXGLVisual.supported}, but returns the first element (true/false) only.
|
87
|
+
#
|
80
88
|
def FXGLVisual.supported?(app); end
|
81
89
|
|
82
90
|
# Return +true+ if double-buffered
|
data/rdoc-sources/FXIconList.rb
CHANGED
@@ -267,6 +267,8 @@ module Fox
|
|
267
267
|
# after the item is appended.
|
268
268
|
def appendItem(text, bigIcon=nil, miniIcon=nil, data=nil, notify=false); end
|
269
269
|
|
270
|
+
alias << appendItem
|
271
|
+
|
270
272
|
# Prepend a new (possibly subclassed) _item_ to the beginning of the list.
|
271
273
|
# If _notify_ is +true+, a +SEL_INSERTED+ message is sent to the list's message target
|
272
274
|
# after the item is prepended.
|
data/rdoc-sources/FXImage.rb
CHANGED
@@ -45,6 +45,11 @@ module Fox
|
|
45
45
|
# [deprecated] Pixel data {FXMemoryBuffer}
|
46
46
|
attr_reader :data
|
47
47
|
|
48
|
+
# The pointer to the raw color representation of all image pixels.
|
49
|
+
#
|
50
|
+
# It can be used to pass raw image data to FFI, Fiddle or OpenGL.
|
51
|
+
attr_reader :dataPtr
|
52
|
+
|
48
53
|
# Array of colors of all image pixels. Can also be written as String of raw [RGBA] values.
|
49
54
|
attr_accessor :pixels
|
50
55
|
|
data/rdoc-sources/FXList.rb
CHANGED
@@ -217,6 +217,8 @@ module Fox
|
|
217
217
|
# Returns the integer index of the newly appended item.
|
218
218
|
def appendItem(text, icon=nil, data=nil, notify=false) ; end
|
219
219
|
|
220
|
+
alias << appendItem
|
221
|
+
|
220
222
|
# Prepend a (possibly subclassed) _item_ to the list, e.g.
|
221
223
|
#
|
222
224
|
# list.prependItem(FXListItem.new("clyde"))
|
data/rdoc-sources/FXListBox.rb
CHANGED
data/rdoc-sources/FXText.rb
CHANGED
@@ -436,8 +436,8 @@ module Fox
|
|
436
436
|
#
|
437
437
|
# Search for _string_ in text buffer, and return the extent of
|
438
438
|
# the string as a two-element array of arrays.
|
439
|
-
# The first array contains the beginning index (or indices)
|
440
|
-
# and the second array contains the ending index (or indices).
|
439
|
+
# The first array contains the beginning index (or indices if +SEARCH_REGEX+)
|
440
|
+
# and the second array contains the ending index (or indices if +SEARCH_REGEX+) of the first match.
|
441
441
|
# The search starts from the given
|
442
442
|
# _start_ position, scans forward (+SEARCH_FORWARD+) or backward
|
443
443
|
# (+SEARCH_BACKWARD+), and wraps around if +SEARCH_WRAP+ has been
|
@@ -445,6 +445,8 @@ module Fox
|
|
445
445
|
# case insensitive search (+SEARCH_IGNORECASE+), or regular expression
|
446
446
|
# search (+SEARCH_REGEX+).
|
447
447
|
#
|
448
|
+
# For regular expression searches, the found regex match begin and end is returned at index 0 and captures are returned as entries starting at index 1 in both beginning and ending arrays.
|
449
|
+
#
|
448
450
|
def findText(string, start=0, flags=SEARCH_FORWARD|SEARCH_WRAP|SEARCH_EXACT); end
|
449
451
|
|
450
452
|
# Return +true+ if position _pos_ is selected
|
@@ -41,7 +41,7 @@ public:
|
|
41
41
|
* of the client support level and the display server support level.
|
42
42
|
*/
|
43
43
|
%extend {
|
44
|
-
static
|
44
|
+
static VALUE supported(FXApp* application){
|
45
45
|
int major,minor;
|
46
46
|
FXbool answer=FXGLVisual::supported(application,major,minor);
|
47
47
|
return rb_ary_new3(3,answer?Qtrue:Qfalse,INT2NUM(major),INT2NUM(minor));
|
data/swig-interfaces/FXImage.i
CHANGED
@@ -58,7 +58,7 @@ public:
|
|
58
58
|
FXImage(FXApp* a,VALUE string_or_ary=Qnil,FXuint opts=0,FXint w=1,FXint h=1){
|
59
59
|
FXColor* pix=0;
|
60
60
|
if(!NIL_P(string_or_ary)){
|
61
|
-
|
61
|
+
FXint len=FXRbNumberOfFXColors(string_or_ary);
|
62
62
|
if(w*h != len){
|
63
63
|
rb_raise( rb_eArgError, "Array size does not match image size" );
|
64
64
|
}
|
@@ -76,6 +76,11 @@ public:
|
|
76
76
|
return 0;
|
77
77
|
}
|
78
78
|
}
|
79
|
+
|
80
|
+
/// Get a pointer to the pixel data
|
81
|
+
VALUE getDataPtr() const {
|
82
|
+
return ULL2NUM((uintptr_t)self->getData());
|
83
|
+
}
|
79
84
|
}
|
80
85
|
|
81
86
|
/// To get to the option flags
|
@@ -92,9 +97,9 @@ public:
|
|
92
97
|
* This can be done by calling render().
|
93
98
|
*/
|
94
99
|
void setPixels(VALUE string_or_ary,FXuint opts=0,VALUE w=Qnil,VALUE h=Qnil){
|
95
|
-
|
100
|
+
FXint len=FXRbNumberOfFXColors(string_or_ary);
|
96
101
|
if( ( (NIL_P(w) || NIL_P(h)) && self->getWidth()*self->getHeight() != len) ||
|
97
|
-
(!(NIL_P(w) || NIL_P(h)) &&
|
102
|
+
(!(NIL_P(w) || NIL_P(h)) && NUM2INT(w)*NUM2INT(h) != len)){
|
98
103
|
rb_raise( rb_eArgError, "Array size does not match image size" );
|
99
104
|
}
|
100
105
|
|
@@ -111,7 +116,7 @@ public:
|
|
111
116
|
if (data) {
|
112
117
|
FXuint size = self->getWidth()*self->getHeight();
|
113
118
|
VALUE ary = rb_ary_new2(size);
|
114
|
-
for (
|
119
|
+
for (FXuint i = 0; i < size; i++)
|
115
120
|
rb_ary_store(ary, i, UINT2NUM(data[i]));
|
116
121
|
return ary;
|
117
122
|
} else {
|
@@ -27,19 +27,19 @@
|
|
27
27
|
class FXMemoryBuffer {
|
28
28
|
public:
|
29
29
|
// Create an memory buffer object
|
30
|
-
FXMemoryBuffer(FXColor *data,
|
30
|
+
FXMemoryBuffer(FXColor *data,FXint size);
|
31
31
|
|
32
32
|
// Returns the size (in bytes)
|
33
33
|
FXuint getSize() const;
|
34
34
|
|
35
35
|
%extend {
|
36
|
-
// Returns the data as an array of
|
36
|
+
// Returns the data as an array of Integers
|
37
37
|
VALUE getData() const {
|
38
38
|
FXColor* data = self->getData();
|
39
39
|
if (data) {
|
40
40
|
FXuint size = self->getSize();
|
41
41
|
VALUE ary = rb_ary_new2(size);
|
42
|
-
for (
|
42
|
+
for (FXuint i = 0; i < size; i++)
|
43
43
|
rb_ary_store(ary, i, UINT2NUM(data[i]));
|
44
44
|
return ary;
|
45
45
|
}
|
data/swig-interfaces/FXText.i
CHANGED
@@ -519,6 +519,8 @@ public:
|
|
519
519
|
|
520
520
|
%extend {
|
521
521
|
/**
|
522
|
+
* TODO: Change API to return [beg, end] instead of [[beg], [end]] for non regex.
|
523
|
+
*
|
522
524
|
* Search for string in text buffer, returning the extent of
|
523
525
|
* the string in beg and end. The search starts from the given
|
524
526
|
* starting position, scans forward (SEARCH_FORWARD) or backward
|
@@ -536,23 +538,23 @@ public:
|
|
536
538
|
FXint* beg;
|
537
539
|
FXint* end;
|
538
540
|
VALUE ary=Qnil;
|
539
|
-
|
541
|
+
FXint ngroups = flags&SEARCH_REGEX ? string.contains('(')+1 : 1; // FIXME: is this right?
|
540
542
|
if(!FXMALLOC(&beg,FXint,ngroups)){
|
541
543
|
return Qnil;
|
542
|
-
|
544
|
+
}
|
543
545
|
if(!FXMALLOC(&end,FXint,ngroups)){
|
544
546
|
FXFREE(&beg);
|
545
|
-
|
546
|
-
|
547
|
+
return Qnil;
|
548
|
+
}
|
547
549
|
if(self->findText(string,beg,end,start,flags,ngroups)){
|
548
550
|
ary=rb_ary_new();
|
549
|
-
|
550
|
-
|
551
|
-
|
551
|
+
rb_ary_push(ary,FXRbMakeArray(beg,ngroups));
|
552
|
+
rb_ary_push(ary,FXRbMakeArray(end,ngroups));
|
553
|
+
}
|
552
554
|
FXFREE(&beg);
|
553
555
|
FXFREE(&end);
|
554
556
|
return ary;
|
555
|
-
|
557
|
+
}
|
556
558
|
}
|
557
559
|
|
558
560
|
/// Return TRUE if position pos is selected
|
data/swig-interfaces/macros.i
CHANGED
@@ -1165,6 +1165,15 @@
|
|
1165
1165
|
|
1166
1166
|
%define DECLARE_FXTEXT_VIRTUALS(klass)
|
1167
1167
|
%extend klass {
|
1168
|
+
virtual void eraseCursorOverhang();
|
1169
|
+
virtual void drawCursor(FXuint state);
|
1170
|
+
virtual FXuint style(FXint row,FXint beg,FXint end,FXint pos);
|
1171
|
+
virtual void drawBufferText(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h,FXint pos,FXint n,FXuint style);
|
1172
|
+
virtual void fillBufferRect(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h,FXuint style);
|
1173
|
+
virtual void drawTextRow(FXDCWindow& dc,FXint line,FXint left,FXint right);
|
1174
|
+
virtual void drawContents(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h);
|
1175
|
+
virtual void drawNumbers(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h);
|
1176
|
+
|
1168
1177
|
virtual void setCursorPos(FXint pos,FXbool notify=FALSE);
|
1169
1178
|
virtual FXbool extendSelection(FXint pos,FXTextSelectionMode mode=SELECT_CHARS,FXbool notify=FALSE);
|
1170
1179
|
virtual FXbool killSelection(FXbool notify=FALSE);
|
data/test/TC_FXGLViewer.rb
CHANGED
@@ -12,7 +12,14 @@ class TC_FXGLViewer < Fox::TestCase
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def test_supported
|
15
|
-
|
15
|
+
arr = FXGLVisual.supported(app)
|
16
|
+
assert_equal 3, arr.length, "return array should have elements [support, major, minor]"
|
17
|
+
assert_true arr[0], "OpenGL should be supported"
|
18
|
+
assert_operator 1, :<=, arr[1], "OpenGL should be version 1.0 or greater"
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_supported?
|
22
|
+
assert_true FXGLVisual.supported?(app), "OpenGL should be supported"
|
16
23
|
end
|
17
24
|
|
18
25
|
def test_nil_app_raises_argument_error
|
data/test/TC_FXImage.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'test/unit'
|
2
2
|
require 'testcase'
|
3
3
|
require 'fox16'
|
4
|
+
require 'fiddle'
|
4
5
|
|
5
6
|
class TC_FXImage < Fox::TestCase
|
6
7
|
include Fox
|
@@ -80,6 +81,13 @@ class TC_FXImage < Fox::TestCase
|
|
80
81
|
assert_equal("rgbaRGBA", img.pixel_string)
|
81
82
|
end
|
82
83
|
|
84
|
+
def test_dataPtr
|
85
|
+
img = FXImage.new(app, nil, 0, 2, 1)
|
86
|
+
img.pixels = "rgbaRGBA"
|
87
|
+
assert_equal(0, img.options)
|
88
|
+
assert_equal("rgbaRGBA", Fiddle::Pointer.new(img.dataPtr)[0, 8])
|
89
|
+
end
|
90
|
+
|
83
91
|
def test_create
|
84
92
|
#
|
85
93
|
# If the image owns its pixel data and IMAGE_KEEP was not specified,
|
data/test/TC_FXList.rb
CHANGED
@@ -46,17 +46,17 @@ class TC_FXList < Fox::TestCase
|
|
46
46
|
|
47
47
|
def test_appendItem_byText
|
48
48
|
assert_equal(0, @list.numItems)
|
49
|
-
|
49
|
+
assert_equal 0, @list.appendItem("")
|
50
50
|
assert_equal(1, @list.numItems)
|
51
|
-
|
51
|
+
assert_equal 1, @list.appendItem("anItem")
|
52
52
|
assert_equal(2, @list.numItems)
|
53
|
-
|
53
|
+
assert_equal 2, @list.appendItem("anItem", nil)
|
54
54
|
assert_equal(3, @list.numItems)
|
55
|
-
|
55
|
+
assert_equal 3, @list.appendItem("anItem", nil, "someData")
|
56
56
|
assert_equal(4, @list.numItems)
|
57
|
-
|
57
|
+
assert_equal 4, @list.appendItem("anItem", nil, "someData", true)
|
58
58
|
assert_equal(5, @list.numItems)
|
59
|
-
|
59
|
+
assert_equal 5, @list.appendItem("anItem", nil, "someData", false)
|
60
60
|
assert_equal(6, @list.numItems)
|
61
61
|
assert_raises(ArgumentError) do
|
62
62
|
@list.appendItem("anItem", nil, "someData", 42) # last argument must be true or false
|
@@ -103,9 +103,9 @@ class TC_FXList < Fox::TestCase
|
|
103
103
|
end
|
104
104
|
|
105
105
|
def test_makeItemVisible
|
106
|
-
items = []
|
107
106
|
0.upto(2) { |i|
|
108
|
-
|
107
|
+
itemIndex = @list.appendItem("item#{i}")
|
108
|
+
assert_equal i, itemIndex
|
109
109
|
}
|
110
110
|
assert_raises(IndexError) {
|
111
111
|
@list.makeItemVisible(-1)
|
data/test/TC_FXText.rb
CHANGED
@@ -87,6 +87,13 @@ public
|
|
87
87
|
assert_equal([10], endIndex)
|
88
88
|
end
|
89
89
|
|
90
|
+
def test_find_text_with_startpos_wrap_nocase
|
91
|
+
@text.text = "I came, i saw, I conquered"
|
92
|
+
startIndex, endIndex = @text.findText("i ", 16, SEARCH_FORWARD|SEARCH_IGNORECASE|SEARCH_WRAP)
|
93
|
+
assert_equal([0], startIndex)
|
94
|
+
assert_equal([2], endIndex)
|
95
|
+
end
|
96
|
+
|
90
97
|
def test_find_text_with_groups
|
91
98
|
@text.text = "I came, I saw, I conquered"
|
92
99
|
startIndex, endIndex = @text.findText("I ([a-z]+)(, )?", 0, SEARCH_REGEX)
|
@@ -94,6 +101,18 @@ public
|
|
94
101
|
assert_equal([8, 6, 8], endIndex)
|
95
102
|
end
|
96
103
|
|
104
|
+
def test_find_text_with_loop
|
105
|
+
@text.text = "() ()()"
|
106
|
+
e = Enumerator.new do |y|
|
107
|
+
pos = 0
|
108
|
+
while a=@text.findText("()", pos, SEARCH_FORWARD|SEARCH_EXACT)
|
109
|
+
y << a
|
110
|
+
pos = a[1][0]
|
111
|
+
end
|
112
|
+
end
|
113
|
+
assert_equal [[[0], [2]], [[4], [6]], [[6], [8]]], e.to_a
|
114
|
+
end
|
115
|
+
|
97
116
|
if ''.respond_to?(:encoding)
|
98
117
|
def test_encoding
|
99
118
|
@text.text = "世界線航跡蔵"
|
data/test/TC_FXVec4f.rb
CHANGED
@@ -5,6 +5,20 @@ require 'fox16'
|
|
5
5
|
class TC_FXVec4f < Test::Unit::TestCase
|
6
6
|
include Fox
|
7
7
|
|
8
|
+
def assert_in_delta(v1, v2, delta)
|
9
|
+
case v1
|
10
|
+
when FXVec3f
|
11
|
+
3.times do |i|
|
12
|
+
super(v1[i], v2[i], delta)
|
13
|
+
end
|
14
|
+
when FXVec4f
|
15
|
+
4.times do |i|
|
16
|
+
super(v1[i], v2[i], delta)
|
17
|
+
end
|
18
|
+
else
|
19
|
+
super(v1, v2, delta)
|
20
|
+
end
|
21
|
+
end
|
8
22
|
|
9
23
|
def test_new
|
10
24
|
FXVec4f.new
|
@@ -65,37 +79,37 @@ class TC_FXVec4f < Test::Unit::TestCase
|
|
65
79
|
def test_neg
|
66
80
|
vec = FXVec4f.new(1.0, 2.0, 3.0, 4.0)
|
67
81
|
vec = -vec
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
82
|
+
assert_in_delta(vec[0], -1.0, 0.001)
|
83
|
+
assert_in_delta(vec[1], -2.0, 0.001)
|
84
|
+
assert_in_delta(vec[2], -3.0, 0.001)
|
85
|
+
assert_in_delta(vec[3], -4.0, 0.001)
|
72
86
|
end
|
73
87
|
|
74
88
|
def test_add
|
75
89
|
v1 = FXVec4f.new(1.0, 2.0, 3.0, 4.0)
|
76
90
|
v2 = FXVec4f.new(2.0, 4.0, 6.0, 8.0)
|
77
91
|
v3 = FXVec4f.new(3.0, 6.0, 9.0, 12.0)
|
78
|
-
|
92
|
+
assert_in_delta(v3, v1 + v2, 0.001)
|
79
93
|
end
|
80
94
|
|
81
95
|
def test_sub
|
82
96
|
v1 = FXVec4f.new(3.0, 6.0, 9.0, 12.0)
|
83
97
|
v2 = FXVec4f.new(2.0, 4.0, 6.0, 8.0)
|
84
98
|
v3 = FXVec4f.new(1.0, 2.0, 3.0, 4.0)
|
85
|
-
|
99
|
+
assert_in_delta(v3, v1 - v2, 0.001)
|
86
100
|
end
|
87
101
|
|
88
102
|
def test_mul
|
89
103
|
v1 = FXVec4f.new(3.0, 6.0, 9.0, 12.0)
|
90
104
|
v2 = FXVec4f.new(6.0, 12.0, 18.0, 24.0)
|
91
|
-
|
105
|
+
assert_in_delta(v2, v1 * 2, 0.001)
|
92
106
|
end
|
93
107
|
|
94
108
|
def test_mul2 # same as dot product
|
95
109
|
v1 = FXVec4f.new(3.0, 6.0, 9.0, 12.0)
|
96
110
|
v2 = FXVec4f.new(2.0, 4.0, 6.0, 8.0)
|
97
|
-
|
98
|
-
|
111
|
+
assert_in_delta(180.0, v1*v2, 0.001)
|
112
|
+
assert_in_delta(180.0, v2*v1, 0.001)
|
99
113
|
end
|
100
114
|
|
101
115
|
def test_div
|
@@ -110,8 +124,8 @@ class TC_FXVec4f < Test::Unit::TestCase
|
|
110
124
|
def test_dot
|
111
125
|
v1 = FXVec4f.new(3.0, 6.0, 9.0, 12.0)
|
112
126
|
v2 = FXVec4f.new(2.0, 4.0, 6.0, 8.0)
|
113
|
-
|
114
|
-
|
127
|
+
assert_in_delta(180.0, v1.dot(v2), 0.001)
|
128
|
+
assert_in_delta(180.0, v2.dot(v1), 0.001)
|
115
129
|
end
|
116
130
|
|
117
131
|
def test_length
|
@@ -121,7 +135,7 @@ class TC_FXVec4f < Test::Unit::TestCase
|
|
121
135
|
|
122
136
|
def test_normalize
|
123
137
|
vec = FXVec4f.new(1.0, 1.0, 1.0, 1.0)
|
124
|
-
|
138
|
+
assert_in_delta(FXVec4f.new(0.5, 0.5, 0.5, 0.5), vec.normalize, 0.001)
|
125
139
|
end
|
126
140
|
|
127
141
|
def test_lo
|