fxruby 1.6.41-x64-mingw32 → 1.6.45-x64-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 +4 -4
- data/.travis.yml +2 -2
- data/.yardopts +1 -1
- data/Gemfile +2 -3
- data/History.md +26 -0
- data/README.rdoc +10 -5
- data/Rakefile +16 -5
- data/appveyor.yml +8 -7
- 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/Canvas.html +141 -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/Fox.html +11184 -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/ext/fox16_c/core_wrap.cpp +117 -115
- data/ext/fox16_c/dc_wrap.cpp +82 -60
- data/ext/fox16_c/dialogs_wrap.cpp +87 -67
- data/ext/fox16_c/extconf.rb +12 -12
- data/ext/fox16_c/frames_wrap.cpp +101 -75
- data/ext/fox16_c/fx3d_wrap.cpp +258 -302
- data/ext/fox16_c/iconlist_wrap.cpp +70 -52
- data/ext/fox16_c/icons_wrap.cpp +75 -55
- data/ext/fox16_c/image_wrap.cpp +75 -57
- data/ext/fox16_c/label_wrap.cpp +78 -60
- data/ext/fox16_c/layout_wrap.cpp +83 -65
- data/ext/fox16_c/list_wrap.cpp +70 -52
- data/ext/fox16_c/mdi_wrap.cpp +76 -58
- data/ext/fox16_c/menu_wrap.cpp +78 -60
- data/ext/fox16_c/scintilla_wrap.cpp +85 -61
- data/ext/fox16_c/swigruby.h +64 -46
- data/ext/fox16_c/table_wrap.cpp +80 -58
- data/ext/fox16_c/text_wrap.cpp +75 -55
- data/ext/fox16_c/treelist_wrap.cpp +71 -53
- data/ext/fox16_c/ui_wrap.cpp +101 -81
- data/fxruby.gemspec +1 -1
- data/lib/2.4/fox16_c.so +0 -0
- data/lib/2.5/fox16_c.so +0 -0
- data/lib/2.6/fox16_c.so +0 -0
- data/lib/2.7/fox16_c.so +0 -0
- data/lib/{2.2 → 3.0}/fox16_c.so +0 -0
- data/lib/fox16/aliases.rb +0 -0
- data/lib/fox16/bitmapview.rb +0 -0
- data/lib/fox16/calendar.rb +0 -0
- data/lib/fox16/canvas.rb +76 -45
- data/lib/fox16/chore.rb +0 -0
- data/lib/fox16/colors.rb +0 -0
- data/lib/fox16/core.rb +0 -0
- 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 +0 -0
- 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 +0 -0
- data/lib/fox16/version.rb +1 -1
- data/lib/fox16.rb +2 -4
- data/ports/x64-mingw32/bin/libFOX-1.6-0.dll +0 -0
- data/ports/x64-mingw32/bin/libfxscintilla-20.dll +0 -0
- data/ports/x64-mingw32/bin/libgcc_s_seh-1.dll +0 -0
- data/ports/x64-mingw32/bin/libjpeg-62.dll +0 -0
- data/ports/x64-mingw32/bin/libpng16-16.dll +0 -0
- data/ports/x64-mingw32/bin/libstdc++-6.dll +0 -0
- data/ports/x64-mingw32/bin/libtiff-5.dll +0 -0
- data/ports/x64-mingw32/bin/libwinpthread-1.dll +0 -0
- data/ports/x64-mingw32/bin/zlib1.dll +0 -0
- metadata +310 -20
- data/lib/2.3/fox16_c.so +0 -0
- data/ports/x86_64-w64-mingw32/bin/libFOX-1.6-0.dll +0 -0
- data/ports/x86_64-w64-mingw32/bin/libfxscintilla-20.dll +0 -0
- data/ports/x86_64-w64-mingw32/bin/libgcc_s_seh-1.dll +0 -0
- data/ports/x86_64-w64-mingw32/bin/libjpeg-62.dll +0 -0
- data/ports/x86_64-w64-mingw32/bin/libpng16-16.dll +0 -0
- data/ports/x86_64-w64-mingw32/bin/libstdc++-6.dll +0 -0
- data/ports/x86_64-w64-mingw32/bin/libtiff-5.dll +0 -0
- data/ports/x86_64-w64-mingw32/bin/libwinpthread-1.dll +0 -0
- data/ports/x86_64-w64-mingw32/bin/zlib1.dll +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
#ifdef WITH_FXSCINTILLA
|
2
2
|
/* ----------------------------------------------------------------------------
|
3
3
|
* This file was automatically generated by SWIG (http://www.swig.org).
|
4
|
-
* Version
|
4
|
+
* Version 4.0.2
|
5
5
|
*
|
6
6
|
* This file is not intended to be easily readable and contains a number of
|
7
7
|
* coding conventions designed to improve portability and efficiency. Do not make
|
@@ -332,6 +332,7 @@ template <typename T> T SwigValueInit() {
|
|
332
332
|
/* Flags for pointer conversions */
|
333
333
|
#define SWIG_POINTER_DISOWN 0x1
|
334
334
|
#define SWIG_CAST_NEW_MEMORY 0x2
|
335
|
+
#define SWIG_POINTER_NO_NULL 0x4
|
335
336
|
|
336
337
|
/* Flags for new pointer objects */
|
337
338
|
#define SWIG_POINTER_OWN 0x1
|
@@ -983,42 +984,53 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
|
|
983
984
|
#ifndef RSTRUCT_PTR
|
984
985
|
# define RSTRUCT_PTR(x) RSTRUCT(x)->ptr
|
985
986
|
#endif
|
987
|
+
#ifndef RTYPEDDATA_P
|
988
|
+
# define RTYPEDDATA_P(x) (TYPE(x) != T_DATA)
|
989
|
+
#endif
|
986
990
|
|
987
991
|
|
988
992
|
|
989
993
|
/*
|
990
|
-
*
|
991
|
-
*
|
994
|
+
* The following macros are used for providing the correct type of a
|
995
|
+
* function pointer to the Ruby C API.
|
996
|
+
* Starting with Ruby 2.7 (corresponding to RB_METHOD_DEFINITION_DECL being
|
997
|
+
* defined) these macros act transparently due to Ruby's moving away from
|
998
|
+
* ANYARGS and instead employing strict function signatures.
|
999
|
+
*
|
1000
|
+
* Note: In case of C (not C++) the macros are transparent even before
|
1001
|
+
* Ruby 2.7 due to the fact that the Ruby C API used function declarators
|
1002
|
+
* with empty parentheses, which allows for an unspecified number of
|
1003
|
+
* arguments.
|
1004
|
+
*
|
1005
|
+
* PROTECTFUNC(f) is used for the function pointer argument of the Ruby
|
1006
|
+
* C API function rb_protect().
|
992
1007
|
*
|
993
|
-
* VALUEFUNC(f) is
|
994
|
-
*
|
995
|
-
* like rb_define_method() and rb_define_singleton_method().
|
1008
|
+
* VALUEFUNC(f) is used for the function pointer argument(s) of Ruby C API
|
1009
|
+
* functions like rb_define_method() and rb_define_singleton_method().
|
996
1010
|
*
|
997
|
-
* VOIDFUNC(f) is
|
998
|
-
*
|
999
|
-
*
|
1011
|
+
* VOIDFUNC(f) is used to typecast a C function that implements either
|
1012
|
+
* the "mark" or "free" stuff for a Ruby Data object, so that it can be
|
1013
|
+
* passed as an argument to Ruby C API functions like Data_Wrap_Struct()
|
1000
1014
|
* and Data_Make_Struct().
|
1015
|
+
*
|
1016
|
+
* SWIG_RUBY_VOID_ANYARGS_FUNC(f) is used for the function pointer
|
1017
|
+
* argument(s) of Ruby C API functions like rb_define_virtual_variable().
|
1018
|
+
*
|
1019
|
+
* SWIG_RUBY_INT_ANYARGS_FUNC(f) is used for the function pointer
|
1020
|
+
* argument(s) of Ruby C API functions like st_foreach().
|
1001
1021
|
*/
|
1002
|
-
|
1003
|
-
#
|
1004
|
-
#
|
1005
|
-
#
|
1006
|
-
#
|
1007
|
-
#
|
1008
|
-
# else
|
1009
|
-
# ifndef ANYARGS /* These definitions should work for Ruby 1.6 */
|
1010
|
-
# define PROTECTFUNC(f) ((VALUE (*)()) f)
|
1011
|
-
# define VALUEFUNC(f) ((VALUE (*)()) f)
|
1012
|
-
# define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
|
1013
|
-
# else /* These definitions should work for Ruby 1.7+ */
|
1014
|
-
# define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f)
|
1015
|
-
# define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)
|
1016
|
-
# define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
|
1017
|
-
# endif
|
1018
|
-
# endif
|
1022
|
+
#if defined(__cplusplus) && !defined(RB_METHOD_DEFINITION_DECL)
|
1023
|
+
# define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f)
|
1024
|
+
# define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)
|
1025
|
+
# define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
|
1026
|
+
# define SWIG_RUBY_VOID_ANYARGS_FUNC(f) ((void (*)(ANYARGS))(f))
|
1027
|
+
# define SWIG_RUBY_INT_ANYARGS_FUNC(f) ((int (*)(ANYARGS))(f))
|
1019
1028
|
#else
|
1029
|
+
# define PROTECTFUNC(f) (f)
|
1020
1030
|
# define VALUEFUNC(f) (f)
|
1021
1031
|
# define VOIDFUNC(f) (f)
|
1032
|
+
# define SWIG_RUBY_VOID_ANYARGS_FUNC(f) (f)
|
1033
|
+
# define SWIG_RUBY_INT_ANYARGS_FUNC(f) (f)
|
1022
1034
|
#endif
|
1023
1035
|
|
1024
1036
|
/* Don't use for expressions have side effect */
|
@@ -1206,7 +1218,7 @@ void Ruby_Format_OverloadedError(
|
|
1206
1218
|
/* -----------------------------------------------------------------------------
|
1207
1219
|
* rubytracking.swg
|
1208
1220
|
*
|
1209
|
-
* This file contains support for tracking mappings from
|
1221
|
+
* This file contains support for tracking mappings from
|
1210
1222
|
* Ruby objects to C++ objects. This functionality is needed
|
1211
1223
|
* to implement mark functions for Ruby's mark and sweep
|
1212
1224
|
* garbage collector.
|
@@ -1233,7 +1245,7 @@ extern "C" {
|
|
1233
1245
|
#endif
|
1234
1246
|
|
1235
1247
|
/* Global hash table to store Trackings from C/C++
|
1236
|
-
structs to Ruby Objects.
|
1248
|
+
structs to Ruby Objects.
|
1237
1249
|
*/
|
1238
1250
|
static st_table* swig_ruby_trackings = NULL;
|
1239
1251
|
|
@@ -1247,7 +1259,7 @@ SWIGRUNTIME void SWIG_RubyInitializeTrackings(void) {
|
|
1247
1259
|
/* Create a hash table to store Trackings from C++
|
1248
1260
|
objects to Ruby objects. */
|
1249
1261
|
|
1250
|
-
/* Try to see if some other .so has already created a
|
1262
|
+
/* Try to see if some other .so has already created a
|
1251
1263
|
tracking hash table, which we keep hidden in an instance var
|
1252
1264
|
in the SWIG module.
|
1253
1265
|
This is done to allow multiple DSOs to share the same
|
@@ -1274,8 +1286,9 @@ SWIGRUNTIME void SWIG_RubyInitializeTrackings(void) {
|
|
1274
1286
|
swig_ruby_trackings = (st_table*)NUM2SWIG(trackings_value);
|
1275
1287
|
}
|
1276
1288
|
|
1277
|
-
|
1278
|
-
|
1289
|
+
rb_define_virtual_variable("SWIG_TRACKINGS_COUNT",
|
1290
|
+
VALUEFUNC(swig_ruby_trackings_count),
|
1291
|
+
SWIG_RUBY_VOID_ANYARGS_FUNC((rb_gvar_setter_t*)NULL));
|
1279
1292
|
}
|
1280
1293
|
|
1281
1294
|
/* Add a Tracking from a C/C++ struct to a Ruby object */
|
@@ -1307,13 +1320,14 @@ SWIGRUNTIME void SWIG_RubyRemoveTracking(void* ptr) {
|
|
1307
1320
|
|
1308
1321
|
/* This is a helper method that unlinks a Ruby object from its
|
1309
1322
|
underlying C++ object. This is needed if the lifetime of the
|
1310
|
-
Ruby object is longer than the C++ object */
|
1323
|
+
Ruby object is longer than the C++ object. */
|
1311
1324
|
SWIGRUNTIME void SWIG_RubyUnlinkObjects(void* ptr) {
|
1312
1325
|
VALUE object = SWIG_RubyInstanceFor(ptr);
|
1313
1326
|
|
1314
1327
|
if (object != Qnil) {
|
1315
|
-
|
1316
|
-
|
1328
|
+
// object might have the T_ZOMBIE type, but that's just
|
1329
|
+
// because the GC has flagged it as such for a deferred
|
1330
|
+
// destruction. Until then, it's still a T_DATA object.
|
1317
1331
|
DATA_PTR(object) = 0;
|
1318
1332
|
}
|
1319
1333
|
}
|
@@ -1323,14 +1337,15 @@ SWIGRUNTIME void SWIG_RubyUnlinkObjects(void* ptr) {
|
|
1323
1337
|
to the passed callback function. */
|
1324
1338
|
|
1325
1339
|
/* Proxy method to abstract the internal trackings datatype */
|
1326
|
-
|
1327
|
-
|
1328
|
-
|
1340
|
+
static int swig_ruby_internal_iterate_callback(st_data_t ptr, st_data_t obj, st_data_t meth) {
|
1341
|
+
((void (*) (void *, VALUE))meth)((void *)ptr, (VALUE)obj);
|
1329
1342
|
return ST_CONTINUE;
|
1330
1343
|
}
|
1331
1344
|
|
1332
1345
|
SWIGRUNTIME void SWIG_RubyIterateTrackings( void(*meth)(void* ptr, VALUE obj) ) {
|
1333
|
-
st_foreach(swig_ruby_trackings,
|
1346
|
+
st_foreach(swig_ruby_trackings,
|
1347
|
+
SWIG_RUBY_INT_ANYARGS_FUNC(swig_ruby_internal_iterate_callback),
|
1348
|
+
(st_data_t)meth);
|
1334
1349
|
}
|
1335
1350
|
|
1336
1351
|
#ifdef __cplusplus
|
@@ -1547,10 +1562,11 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
|
|
1547
1562
|
swig_class *sklass;
|
1548
1563
|
VALUE klass;
|
1549
1564
|
VALUE obj;
|
1550
|
-
|
1565
|
+
|
1551
1566
|
if (!ptr)
|
1552
1567
|
return Qnil;
|
1553
|
-
|
1568
|
+
|
1569
|
+
assert(type);
|
1554
1570
|
if (type->clientdata) {
|
1555
1571
|
sklass = (swig_class *) type->clientdata;
|
1556
1572
|
|
@@ -1558,7 +1574,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
|
|
1558
1574
|
track = sklass->trackObjects;
|
1559
1575
|
if (track) {
|
1560
1576
|
obj = SWIG_RubyInstanceFor(ptr);
|
1561
|
-
|
1577
|
+
|
1562
1578
|
/* Check the object's type and make sure it has the correct type.
|
1563
1579
|
It might not in cases where methods do things like
|
1564
1580
|
downcast methods. */
|
@@ -1590,7 +1606,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
|
|
1590
1606
|
obj = Data_Wrap_Struct(klass, 0, 0, ptr);
|
1591
1607
|
}
|
1592
1608
|
rb_iv_set(obj, "@__swigtype__", rb_str_new2(type->name));
|
1593
|
-
|
1609
|
+
|
1594
1610
|
return obj;
|
1595
1611
|
}
|
1596
1612
|
|
@@ -1610,6 +1626,8 @@ SWIGRUNTIMEINLINE char *
|
|
1610
1626
|
SWIG_Ruby_MangleStr(VALUE obj)
|
1611
1627
|
{
|
1612
1628
|
VALUE stype = rb_iv_get(obj, "@__swigtype__");
|
1629
|
+
if (NIL_P(stype))
|
1630
|
+
return NULL;
|
1613
1631
|
return StringValuePtr(stype);
|
1614
1632
|
}
|
1615
1633
|
|
@@ -1622,7 +1640,7 @@ typedef struct {
|
|
1622
1640
|
SWIGRUNTIME swig_ruby_owntype
|
1623
1641
|
SWIG_Ruby_AcquirePtr(VALUE obj, swig_ruby_owntype own) {
|
1624
1642
|
swig_ruby_owntype oldown = {0, 0};
|
1625
|
-
if (obj) {
|
1643
|
+
if (TYPE(obj) == T_DATA && !RTYPEDDATA_P(obj)) {
|
1626
1644
|
oldown.datafree = RDATA(obj)->dfree;
|
1627
1645
|
RDATA(obj)->dfree = own.datafree;
|
1628
1646
|
}
|
@@ -1641,9 +1659,9 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
|
|
1641
1659
|
if (NIL_P(obj)) {
|
1642
1660
|
if (ptr)
|
1643
1661
|
*ptr = 0;
|
1644
|
-
return SWIG_OK;
|
1662
|
+
return (flags & SWIG_POINTER_NO_NULL) ? SWIG_NullReferenceError : SWIG_OK;
|
1645
1663
|
} else {
|
1646
|
-
if (TYPE(obj) != T_DATA) {
|
1664
|
+
if (TYPE(obj) != T_DATA || (TYPE(obj) == T_DATA && RTYPEDDATA_P(obj))) {
|
1647
1665
|
return SWIG_ERROR;
|
1648
1666
|
}
|
1649
1667
|
Data_Get_Struct(obj, void, vptr);
|
@@ -1738,7 +1756,7 @@ SWIG_Ruby_NewPackedObj(void *ptr, int sz, swig_type_info *type) {
|
|
1738
1756
|
return rb_str_new2(result);
|
1739
1757
|
}
|
1740
1758
|
|
1741
|
-
/* Convert a packed
|
1759
|
+
/* Convert a packed pointer value */
|
1742
1760
|
SWIGRUNTIME int
|
1743
1761
|
SWIG_Ruby_ConvertPacked(VALUE obj, void *ptr, int sz, swig_type_info *ty) {
|
1744
1762
|
swig_cast_info *tc;
|
@@ -1974,7 +1992,7 @@ static swig_module_info swig_module = {swig_types, 115, 0, 0, 0, 0};
|
|
1974
1992
|
#define SWIG_RUBY_THREAD_END_BLOCK
|
1975
1993
|
|
1976
1994
|
|
1977
|
-
#define SWIGVERSION
|
1995
|
+
#define SWIGVERSION 0x040002
|
1978
1996
|
#define SWIG_VERSION SWIGVERSION
|
1979
1997
|
|
1980
1998
|
|
@@ -2123,14 +2141,16 @@ SWIG_FromCharPtr(const char *cptr)
|
|
2123
2141
|
|
2124
2142
|
|
2125
2143
|
SWIGINTERN VALUE
|
2126
|
-
SWIG_ruby_failed(VALUE, VALUE)
|
2144
|
+
SWIG_ruby_failed(VALUE SWIGUNUSEDPARM(arg1), VALUE SWIGUNUSEDPARM(arg2))
|
2127
2145
|
{
|
2128
2146
|
return Qnil;
|
2129
2147
|
}
|
2130
2148
|
|
2131
2149
|
|
2132
|
-
/*@SWIG:/usr/share/
|
2133
|
-
SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE
|
2150
|
+
/*@SWIG:/usr/share/swig4.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
|
2151
|
+
SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE arg)
|
2152
|
+
{
|
2153
|
+
VALUE *args = (VALUE *)arg;
|
2134
2154
|
VALUE obj = args[0];
|
2135
2155
|
VALUE type = TYPE(obj);
|
2136
2156
|
long *res = (long *)(args[1]);
|
@@ -2148,7 +2168,7 @@ SWIG_AsVal_long (VALUE obj, long* val)
|
|
2148
2168
|
VALUE a[2];
|
2149
2169
|
a[0] = obj;
|
2150
2170
|
a[1] = (VALUE)(&v);
|
2151
|
-
if (rb_rescue(
|
2171
|
+
if (rb_rescue(VALUEFUNC(SWIG_AUX_NUM2LONG), (VALUE)a, VALUEFUNC(SWIG_ruby_failed), 0) != Qnil) {
|
2152
2172
|
if (val) *val = v;
|
2153
2173
|
return SWIG_OK;
|
2154
2174
|
}
|
@@ -2173,8 +2193,10 @@ SWIG_AsVal_int (VALUE obj, int *val)
|
|
2173
2193
|
}
|
2174
2194
|
|
2175
2195
|
|
2176
|
-
/*@SWIG:/usr/share/
|
2177
|
-
SWIGINTERN VALUE SWIG_AUX_NUM2ULONG(VALUE
|
2196
|
+
/*@SWIG:/usr/share/swig4.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
|
2197
|
+
SWIGINTERN VALUE SWIG_AUX_NUM2ULONG(VALUE arg)
|
2198
|
+
{
|
2199
|
+
VALUE *args = (VALUE *)arg;
|
2178
2200
|
VALUE obj = args[0];
|
2179
2201
|
VALUE type = TYPE(obj);
|
2180
2202
|
unsigned long *res = (unsigned long *)(args[1]);
|
@@ -2192,7 +2214,7 @@ SWIG_AsVal_unsigned_SS_long (VALUE obj, unsigned long *val)
|
|
2192
2214
|
VALUE a[2];
|
2193
2215
|
a[0] = obj;
|
2194
2216
|
a[1] = (VALUE)(&v);
|
2195
|
-
if (rb_rescue(
|
2217
|
+
if (rb_rescue(VALUEFUNC(SWIG_AUX_NUM2ULONG), (VALUE)a, VALUEFUNC(SWIG_ruby_failed), 0) != Qnil) {
|
2196
2218
|
if (val) *val = v;
|
2197
2219
|
return SWIG_OK;
|
2198
2220
|
}
|
@@ -2207,8 +2229,10 @@ SWIG_AsVal_unsigned_SS_long (VALUE obj, unsigned long *val)
|
|
2207
2229
|
|
2208
2230
|
|
2209
2231
|
#ifdef SWIG_LONG_LONG_AVAILABLE
|
2210
|
-
/*@SWIG:/usr/share/
|
2211
|
-
SWIGINTERN VALUE SWIG_AUX_NUM2ULL(VALUE
|
2232
|
+
/*@SWIG:/usr/share/swig4.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
|
2233
|
+
SWIGINTERN VALUE SWIG_AUX_NUM2ULL(VALUE arg)
|
2234
|
+
{
|
2235
|
+
VALUE *args = (VALUE *)arg;
|
2212
2236
|
VALUE obj = args[0];
|
2213
2237
|
VALUE type = TYPE(obj);
|
2214
2238
|
long long *res = (long long *)(args[1]);
|
@@ -2226,7 +2250,7 @@ SWIG_AsVal_unsigned_SS_long_SS_long (VALUE obj, unsigned long long *val)
|
|
2226
2250
|
VALUE a[2];
|
2227
2251
|
a[0] = obj;
|
2228
2252
|
a[1] = (VALUE)(&v);
|
2229
|
-
if (rb_rescue(
|
2253
|
+
if (rb_rescue(VALUEFUNC(SWIG_AUX_NUM2ULL), (VALUE)a, VALUEFUNC(SWIG_ruby_failed), 0) != Qnil) {
|
2230
2254
|
if (val) *val = v;
|
2231
2255
|
return SWIG_OK;
|
2232
2256
|
}
|
@@ -4879,7 +4903,7 @@ SWIGINTERN VALUE _wrap_FXScintilla_setShape(int nargs, VALUE *args, VALUE self)
|
|
4879
4903
|
_v = SWIG_CheckState(res);
|
4880
4904
|
if (_v) {
|
4881
4905
|
void *vptr = 0;
|
4882
|
-
int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion,
|
4906
|
+
int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
|
4883
4907
|
_v = SWIG_CheckState(res);
|
4884
4908
|
if (_v) {
|
4885
4909
|
return _wrap_FXScintilla_setShape__SWIG_0(nargs, args, self);
|
@@ -6797,7 +6821,7 @@ SWIG_InitializeModule(void *clientdata) {
|
|
6797
6821
|
|
6798
6822
|
/* Now work on filling in swig_module.types */
|
6799
6823
|
#ifdef SWIGRUNTIME_DEBUG
|
6800
|
-
printf("SWIG_InitializeModule: size %
|
6824
|
+
printf("SWIG_InitializeModule: size %lu\n", (unsigned long)swig_module.size);
|
6801
6825
|
#endif
|
6802
6826
|
for (i = 0; i < swig_module.size; ++i) {
|
6803
6827
|
swig_type_info *type = 0;
|
@@ -6805,7 +6829,7 @@ SWIG_InitializeModule(void *clientdata) {
|
|
6805
6829
|
swig_cast_info *cast;
|
6806
6830
|
|
6807
6831
|
#ifdef SWIGRUNTIME_DEBUG
|
6808
|
-
printf("SWIG_InitializeModule: type %
|
6832
|
+
printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
|
6809
6833
|
#endif
|
6810
6834
|
|
6811
6835
|
/* if there is another module already loaded */
|
@@ -6881,7 +6905,7 @@ SWIG_InitializeModule(void *clientdata) {
|
|
6881
6905
|
for (i = 0; i < swig_module.size; ++i) {
|
6882
6906
|
int j = 0;
|
6883
6907
|
swig_cast_info *cast = swig_module.cast_initial[i];
|
6884
|
-
printf("SWIG_InitializeModule: type %
|
6908
|
+
printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
|
6885
6909
|
while (cast->type) {
|
6886
6910
|
printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
|
6887
6911
|
cast++;
|
data/ext/fox16_c/swigruby.h
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* ----------------------------------------------------------------------------
|
2
2
|
* This file was automatically generated by SWIG (http://www.swig.org).
|
3
|
-
* Version
|
3
|
+
* Version 4.0.2
|
4
4
|
*
|
5
5
|
* This file is not intended to be easily readable and contains a number of
|
6
6
|
* coding conventions designed to improve portability and efficiency. Do not make
|
@@ -192,6 +192,7 @@
|
|
192
192
|
/* Flags for pointer conversions */
|
193
193
|
#define SWIG_POINTER_DISOWN 0x1
|
194
194
|
#define SWIG_CAST_NEW_MEMORY 0x2
|
195
|
+
#define SWIG_POINTER_NO_NULL 0x4
|
195
196
|
|
196
197
|
/* Flags for new pointer objects */
|
197
198
|
#define SWIG_POINTER_OWN 0x1
|
@@ -825,42 +826,53 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
|
|
825
826
|
#ifndef RSTRUCT_PTR
|
826
827
|
# define RSTRUCT_PTR(x) RSTRUCT(x)->ptr
|
827
828
|
#endif
|
829
|
+
#ifndef RTYPEDDATA_P
|
830
|
+
# define RTYPEDDATA_P(x) (TYPE(x) != T_DATA)
|
831
|
+
#endif
|
828
832
|
|
829
833
|
|
830
834
|
|
831
835
|
/*
|
832
|
-
*
|
833
|
-
*
|
836
|
+
* The following macros are used for providing the correct type of a
|
837
|
+
* function pointer to the Ruby C API.
|
838
|
+
* Starting with Ruby 2.7 (corresponding to RB_METHOD_DEFINITION_DECL being
|
839
|
+
* defined) these macros act transparently due to Ruby's moving away from
|
840
|
+
* ANYARGS and instead employing strict function signatures.
|
841
|
+
*
|
842
|
+
* Note: In case of C (not C++) the macros are transparent even before
|
843
|
+
* Ruby 2.7 due to the fact that the Ruby C API used function declarators
|
844
|
+
* with empty parentheses, which allows for an unspecified number of
|
845
|
+
* arguments.
|
846
|
+
*
|
847
|
+
* PROTECTFUNC(f) is used for the function pointer argument of the Ruby
|
848
|
+
* C API function rb_protect().
|
834
849
|
*
|
835
|
-
* VALUEFUNC(f) is
|
836
|
-
*
|
837
|
-
* like rb_define_method() and rb_define_singleton_method().
|
850
|
+
* VALUEFUNC(f) is used for the function pointer argument(s) of Ruby C API
|
851
|
+
* functions like rb_define_method() and rb_define_singleton_method().
|
838
852
|
*
|
839
|
-
* VOIDFUNC(f) is
|
840
|
-
*
|
841
|
-
*
|
853
|
+
* VOIDFUNC(f) is used to typecast a C function that implements either
|
854
|
+
* the "mark" or "free" stuff for a Ruby Data object, so that it can be
|
855
|
+
* passed as an argument to Ruby C API functions like Data_Wrap_Struct()
|
842
856
|
* and Data_Make_Struct().
|
857
|
+
*
|
858
|
+
* SWIG_RUBY_VOID_ANYARGS_FUNC(f) is used for the function pointer
|
859
|
+
* argument(s) of Ruby C API functions like rb_define_virtual_variable().
|
860
|
+
*
|
861
|
+
* SWIG_RUBY_INT_ANYARGS_FUNC(f) is used for the function pointer
|
862
|
+
* argument(s) of Ruby C API functions like st_foreach().
|
843
863
|
*/
|
844
|
-
|
845
|
-
#
|
846
|
-
#
|
847
|
-
#
|
848
|
-
#
|
849
|
-
#
|
850
|
-
# else
|
851
|
-
# ifndef ANYARGS /* These definitions should work for Ruby 1.6 */
|
852
|
-
# define PROTECTFUNC(f) ((VALUE (*)()) f)
|
853
|
-
# define VALUEFUNC(f) ((VALUE (*)()) f)
|
854
|
-
# define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
|
855
|
-
# else /* These definitions should work for Ruby 1.7+ */
|
856
|
-
# define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f)
|
857
|
-
# define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)
|
858
|
-
# define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
|
859
|
-
# endif
|
860
|
-
# endif
|
864
|
+
#if defined(__cplusplus) && !defined(RB_METHOD_DEFINITION_DECL)
|
865
|
+
# define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f)
|
866
|
+
# define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)
|
867
|
+
# define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
|
868
|
+
# define SWIG_RUBY_VOID_ANYARGS_FUNC(f) ((void (*)(ANYARGS))(f))
|
869
|
+
# define SWIG_RUBY_INT_ANYARGS_FUNC(f) ((int (*)(ANYARGS))(f))
|
861
870
|
#else
|
871
|
+
# define PROTECTFUNC(f) (f)
|
862
872
|
# define VALUEFUNC(f) (f)
|
863
873
|
# define VOIDFUNC(f) (f)
|
874
|
+
# define SWIG_RUBY_VOID_ANYARGS_FUNC(f) (f)
|
875
|
+
# define SWIG_RUBY_INT_ANYARGS_FUNC(f) (f)
|
864
876
|
#endif
|
865
877
|
|
866
878
|
/* Don't use for expressions have side effect */
|
@@ -1046,7 +1058,7 @@ void Ruby_Format_OverloadedError(
|
|
1046
1058
|
/* -----------------------------------------------------------------------------
|
1047
1059
|
* rubytracking.swg
|
1048
1060
|
*
|
1049
|
-
* This file contains support for tracking mappings from
|
1061
|
+
* This file contains support for tracking mappings from
|
1050
1062
|
* Ruby objects to C++ objects. This functionality is needed
|
1051
1063
|
* to implement mark functions for Ruby's mark and sweep
|
1052
1064
|
* garbage collector.
|
@@ -1073,7 +1085,7 @@ extern "C" {
|
|
1073
1085
|
#endif
|
1074
1086
|
|
1075
1087
|
/* Global hash table to store Trackings from C/C++
|
1076
|
-
structs to Ruby Objects.
|
1088
|
+
structs to Ruby Objects.
|
1077
1089
|
*/
|
1078
1090
|
static st_table* swig_ruby_trackings = NULL;
|
1079
1091
|
|
@@ -1087,7 +1099,7 @@ SWIGRUNTIME void SWIG_RubyInitializeTrackings(void) {
|
|
1087
1099
|
/* Create a hash table to store Trackings from C++
|
1088
1100
|
objects to Ruby objects. */
|
1089
1101
|
|
1090
|
-
/* Try to see if some other .so has already created a
|
1102
|
+
/* Try to see if some other .so has already created a
|
1091
1103
|
tracking hash table, which we keep hidden in an instance var
|
1092
1104
|
in the SWIG module.
|
1093
1105
|
This is done to allow multiple DSOs to share the same
|
@@ -1114,8 +1126,9 @@ SWIGRUNTIME void SWIG_RubyInitializeTrackings(void) {
|
|
1114
1126
|
swig_ruby_trackings = (st_table*)NUM2SWIG(trackings_value);
|
1115
1127
|
}
|
1116
1128
|
|
1117
|
-
|
1118
|
-
|
1129
|
+
rb_define_virtual_variable("SWIG_TRACKINGS_COUNT",
|
1130
|
+
VALUEFUNC(swig_ruby_trackings_count),
|
1131
|
+
SWIG_RUBY_VOID_ANYARGS_FUNC((rb_gvar_setter_t*)NULL));
|
1119
1132
|
}
|
1120
1133
|
|
1121
1134
|
/* Add a Tracking from a C/C++ struct to a Ruby object */
|
@@ -1147,13 +1160,14 @@ SWIGRUNTIME void SWIG_RubyRemoveTracking(void* ptr) {
|
|
1147
1160
|
|
1148
1161
|
/* This is a helper method that unlinks a Ruby object from its
|
1149
1162
|
underlying C++ object. This is needed if the lifetime of the
|
1150
|
-
Ruby object is longer than the C++ object */
|
1163
|
+
Ruby object is longer than the C++ object. */
|
1151
1164
|
SWIGRUNTIME void SWIG_RubyUnlinkObjects(void* ptr) {
|
1152
1165
|
VALUE object = SWIG_RubyInstanceFor(ptr);
|
1153
1166
|
|
1154
1167
|
if (object != Qnil) {
|
1155
|
-
|
1156
|
-
|
1168
|
+
// object might have the T_ZOMBIE type, but that's just
|
1169
|
+
// because the GC has flagged it as such for a deferred
|
1170
|
+
// destruction. Until then, it's still a T_DATA object.
|
1157
1171
|
DATA_PTR(object) = 0;
|
1158
1172
|
}
|
1159
1173
|
}
|
@@ -1163,14 +1177,15 @@ SWIGRUNTIME void SWIG_RubyUnlinkObjects(void* ptr) {
|
|
1163
1177
|
to the passed callback function. */
|
1164
1178
|
|
1165
1179
|
/* Proxy method to abstract the internal trackings datatype */
|
1166
|
-
|
1167
|
-
|
1168
|
-
|
1180
|
+
static int swig_ruby_internal_iterate_callback(st_data_t ptr, st_data_t obj, st_data_t meth) {
|
1181
|
+
((void (*) (void *, VALUE))meth)((void *)ptr, (VALUE)obj);
|
1169
1182
|
return ST_CONTINUE;
|
1170
1183
|
}
|
1171
1184
|
|
1172
1185
|
SWIGRUNTIME void SWIG_RubyIterateTrackings( void(*meth)(void* ptr, VALUE obj) ) {
|
1173
|
-
st_foreach(swig_ruby_trackings,
|
1186
|
+
st_foreach(swig_ruby_trackings,
|
1187
|
+
SWIG_RUBY_INT_ANYARGS_FUNC(swig_ruby_internal_iterate_callback),
|
1188
|
+
(st_data_t)meth);
|
1174
1189
|
}
|
1175
1190
|
|
1176
1191
|
#ifdef __cplusplus
|
@@ -1385,10 +1400,11 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
|
|
1385
1400
|
swig_class *sklass;
|
1386
1401
|
VALUE klass;
|
1387
1402
|
VALUE obj;
|
1388
|
-
|
1403
|
+
|
1389
1404
|
if (!ptr)
|
1390
1405
|
return Qnil;
|
1391
|
-
|
1406
|
+
|
1407
|
+
assert(type);
|
1392
1408
|
if (type->clientdata) {
|
1393
1409
|
sklass = (swig_class *) type->clientdata;
|
1394
1410
|
|
@@ -1396,7 +1412,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
|
|
1396
1412
|
track = sklass->trackObjects;
|
1397
1413
|
if (track) {
|
1398
1414
|
obj = SWIG_RubyInstanceFor(ptr);
|
1399
|
-
|
1415
|
+
|
1400
1416
|
/* Check the object's type and make sure it has the correct type.
|
1401
1417
|
It might not in cases where methods do things like
|
1402
1418
|
downcast methods. */
|
@@ -1428,7 +1444,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
|
|
1428
1444
|
obj = Data_Wrap_Struct(klass, 0, 0, ptr);
|
1429
1445
|
}
|
1430
1446
|
rb_iv_set(obj, "@__swigtype__", rb_str_new2(type->name));
|
1431
|
-
|
1447
|
+
|
1432
1448
|
return obj;
|
1433
1449
|
}
|
1434
1450
|
|
@@ -1448,6 +1464,8 @@ SWIGRUNTIMEINLINE char *
|
|
1448
1464
|
SWIG_Ruby_MangleStr(VALUE obj)
|
1449
1465
|
{
|
1450
1466
|
VALUE stype = rb_iv_get(obj, "@__swigtype__");
|
1467
|
+
if (NIL_P(stype))
|
1468
|
+
return NULL;
|
1451
1469
|
return StringValuePtr(stype);
|
1452
1470
|
}
|
1453
1471
|
|
@@ -1460,7 +1478,7 @@ typedef struct {
|
|
1460
1478
|
SWIGRUNTIME swig_ruby_owntype
|
1461
1479
|
SWIG_Ruby_AcquirePtr(VALUE obj, swig_ruby_owntype own) {
|
1462
1480
|
swig_ruby_owntype oldown = {0, 0};
|
1463
|
-
if (obj) {
|
1481
|
+
if (TYPE(obj) == T_DATA && !RTYPEDDATA_P(obj)) {
|
1464
1482
|
oldown.datafree = RDATA(obj)->dfree;
|
1465
1483
|
RDATA(obj)->dfree = own.datafree;
|
1466
1484
|
}
|
@@ -1479,9 +1497,9 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
|
|
1479
1497
|
if (NIL_P(obj)) {
|
1480
1498
|
if (ptr)
|
1481
1499
|
*ptr = 0;
|
1482
|
-
return SWIG_OK;
|
1500
|
+
return (flags & SWIG_POINTER_NO_NULL) ? SWIG_NullReferenceError : SWIG_OK;
|
1483
1501
|
} else {
|
1484
|
-
if (TYPE(obj) != T_DATA) {
|
1502
|
+
if (TYPE(obj) != T_DATA || (TYPE(obj) == T_DATA && RTYPEDDATA_P(obj))) {
|
1485
1503
|
return SWIG_ERROR;
|
1486
1504
|
}
|
1487
1505
|
Data_Get_Struct(obj, void, vptr);
|
@@ -1576,7 +1594,7 @@ SWIG_Ruby_NewPackedObj(void *ptr, int sz, swig_type_info *type) {
|
|
1576
1594
|
return rb_str_new2(result);
|
1577
1595
|
}
|
1578
1596
|
|
1579
|
-
/* Convert a packed
|
1597
|
+
/* Convert a packed pointer value */
|
1580
1598
|
SWIGRUNTIME int
|
1581
1599
|
SWIG_Ruby_ConvertPacked(VALUE obj, void *ptr, int sz, swig_type_info *ty) {
|
1582
1600
|
swig_cast_info *tc;
|