fxruby 1.6.41-x64-mingw32 → 1.6.45-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- 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;
|