GitHub Gist: instantly share code, notes, and snippets. EmptyRect To determine if a rectangle is empty, use the EmptyRect function. FUNCTION EmptyRect(r as Rect) as Boolean r: The rectangle. Description: This method tests to see if a rectangle is empty, that is if the bottom border is less than or equal to the top, or the right border is less than or equal to the top, or the right border is less than or equal to the left.
Version 21.1:Added
- BiggerNumberMBS to have 2560 bit floating point number for even bigger range and precision. 512 bit exponent and 2048 bit fraction.
- DuckDatabaseMBS class for DuckDB database engine, a fast column based database engine.
- NSDataDetectorMBS and NSRegularExpressionMBS classes for macOS and iOS.
- NSNetServiceMBS and NSNetServiceBrowserMBS classes for macOS and iOS.
- 30 new trigonometry functions for BigNumberMBS class.
- AllObjectsOfClassMBS global method.
- BeginTransaction, Commit, and Rollback methods for DuckConnectionMBS class.
- BuildRowSetMBS global function.
- CNPhoneNumberMBS.CNLabelPhoneNumberAppleWatch function.
- CocoaMouseDown, CocoaMouseDrag and CocoaMouseUp events to PDFViewControlMBS control to handle low level mouse events.
- Constructor for handle to UNNotificationMBS, UNNotificationContentMBS, NSToolbarItemMBS and NSToolbarMBS.
- DirectShowAMVideoControlMBS class.
- Edit/Update support for RecordSet for SQLDatabaseMBS class.
- Emojis to the documentation to clearer show what items are supported for each platform.
- Error, ErrorMessage and ErrorCode properties to SQLDatabaseMBS for iOS.
- Extra line to CURL debug log to indicate the version of MBS Plugin, CURL library used and what OS is used. See DebugData property in CURLSMBS class.
- FindPin method to DirectShowCaptureGraphBuilderMBS class
- FindTableName function to SQLGlobalsMBS class.
- GetStreamConfig function for DirectShowCaptureGraphBuilderMBS class to accept GUID to identify the pin category.
- HTMLText or PlainText methods to WebView2ControlMBS class.
- ImageIndex and ImageHandle properties to DynaPDFImageMBS class.
- IncludeDataInDebugMessages for FMConnectionMBS class.
- IOSPictureMBS module with methods and delegates to export video or image to camera roll.
- IsASCIIText function to RegExMBS class.
- IsNull function to JSONMBS class.
- IsObject, isArray, isNumber, and isBoolean to JSONMBS class.
- KcfIgnoreICCProfile and kptConvertPage to DynaPDFMBS class.
- MemoryStatisticsMBS class.
- More constructors to WindowsGraphicsDeviceContextMBS class for picture, window and control.
- NormInvMBS function.
- PDFAppearanceCharacteristicsMBS class.
- ReadFromPkcs7 function for X509MBS class.
- ResolutionUnit constants to JPEGExporterMBS class.
- RunOnce method to NSRunLoopMBS class.
- SetLogEventMask and IsLoggingEnabled shared methods to GMImageMBS class.
- SQLSelectAsRowSetMT and SQLSelectAsRowSet methods to SQLConnectionMBS class.
- UnInitialize method to SQLGlobalsMBS class.
- WindowsShellExecuteAsAdminMBS function.
Changed
- Constructor for PDFBorderMBS to be public.
- MaxTotalConnections in CURLSMultiMBS class to 4 as default. Avoids excessive connection counts unless you change it.
Fixed
- A crash in IDE on Big Sur with NSTokenFieldControlMBS on the layout.
- A problem with a crash in CURL with SFTP with empty password or username.
- An issue with LZ4MBS decompression failing.
- An issue with OpenDialogMBS class not returning folderitems properly for alias files.
- Bug in Reverse method in StringHandleMBS class.
- Control drawing in the IDE for iOS controls.
- Issue for iOS where Transporter complains about __INFO_PLIST segment in plugin library.
- Issue with Graphics.TextHeight for DynaPDFMBS class.
- Issue with MoveFirst with RecordSet in our SQL Plugin when used with PostgreSQL.
- Possible crash in CheckUTF8MBS function.
- Problem in DynaPDFMBS class with graphics, where we reset font to default one on nextpage call.
- Problem in QLPreviewPanelMBS, broken in version 21.0.
- Problem with dictionary processing on iOS.
- Problem with DynaPDFMBS where an empty password was not passed as nil in OpenImportFile.
- Problem with GetProfileInfo method and name property in LCMS2ProfileMBS class.
- Problem with NSCollectionViewMBS raising events while closing and causing crashes.
- ThumbnailSize property for PDFThumbnailViewMBS class.
Quickdraw Lab
Improved
- DeclareCallBackMBS class to handle asynchronously dispatch on Windows and Linux.
- NSCollectionViewControlMBS and rewrote parts of NSCollectionView Test example.
- Performance a lot of repeated calls to Execute method in RegEXMBS class to find matches.
- Text conversion performance internally for getting text as UTF16 or UTF32. This is used in all plugin parts and speeds up XLSheetMBS and DynaPDFMBS classes a lot!
Optimizes
- JSONMBS.Convert to quicker loop over Xojo arrays.
Updated
- CURL library to version 7.75.
- DukTape library for JavaScriptEngineMBS class to version 2.6.
- DynaPDF to version 4.0.49.139.
- Dyncall library to version 1.2.
- InstallDragImageMBS to support newer API and work in Xojo 2020 or newer.
- LCMS to version 2.12.
- LibXL to version 3.9.4.
- LibXML to version 2.9.10.
- LibXSLT to version 1.1.34.
- NSOrthographyMBS, NSLinguisticTaggerMBS, NSLinguisticValueMBS and NSTextCheckingResultMBS for iOS.
- Openssl library to version 1.1.1i.
- Rockey4ND library to newer version.
- SQLAPI to version 5.1.4b5.
- To Xcode 12.4.
- Upgraded DirectShowGUIDMBS class with more methods and properties.
- Upgraded PDFKit classes to current macOS SDK adding over 200 additional methods and properties.
Quickdraw Liberty Safes
Other Improvements:
Quick Draw Lab Greensburg
- Deprecated SetLicenseKey function for DynaPDFMBS class. Please use SetLicenseKeyGlobal instead.
- DynaPDF works with ZUGFeRD 2.1.1.