Einhugur Plugin Releases (2022)

Web is up at new host, email is up, KeyServer is working.

If you cannot connect to either web or to decode your plugins then it might be because, it can take up to 48 hours for the DNS to propagate. (I for example had to switch to Google DNS to get it working right away)

4 Likes

TypeLib 11.3 plugin for Xojo is out

The TypeLib also defines RawBitmap and RawBitmapMask classes that can be used to interact with 3rd party plugins and libraries as well as to avoid inaccuracy of pre-multiplied alpha channels in image processing. Basically what has been done is there is step between the first red box on the picture bellow and the green box which enables us to make better use of the Task unit and for more things than we could before.

The plugin also defines the EinhugurRuntime.Task framework for native threading and async processing of big tasks.

New in version 11.3:

  • Added CancellationToken class to the EinhugurRuntime module.
  • Added SetCancellationToken method to the EinhugurRuntime.Task class.
  • Added BooleanResult property to the EinhugurRuntim.Task class.
  • Added IntegerResult property to the EinhugurRuntim.Task class.
  • Added DoubleResult property to the EinhugurRuntim.Task class.

The new CancelationToken is mechanism to be able to cancel tasks when no progress handler makes sense or is not present for any reason. The CancelationToken should work with our existing tasks, but will make more sense to use on new things that is coming in a plugin in the coming week.

The new feature that comes in a plugin in the week will require TypeLib 11.3. So is good to get this update soon.

More info at www.einhugur.com

2 Likes

e-CryptIt Engine plugin for Xojo, version 14.6 is out

e-CryptIt Engine plugin for Xojo is to do Encryption, Encoding, Compression, Hashing, Key-ed hashing and other things.

Important for this version Make sure to have TypeLib 11.3.

New in version 14.6

  • Added EinhugurBcrypt class.
  • Added Crypt example project.

BCrypt is for password hashing where you want to defend against brute force attacks. Our implementation is very fast and we had it at 10-12 levels without degrading user experience on even relatively slow system like Raspberry PI 4.

Our implementation also supports EinhugurRuntime.Task if you ever have to deal with hash that is outside of the comfort zone of your hardware then long running async task is how to do it.

Special thanks to Tim Parnell (The Tim that makes the awesome Lifeboat application) for inspiration and quality testing on this update.

More info at www.einhugur.com

3 Likes

e-CryptIt Engine plugin for Xojo, version 15 is out

(Yes yes I know it is kinda strange, 14.6 was out only few days ago ! But the awesome feature in 15.0 had been stuck on problem for long long time which suddenly was resolved, so best to get it out to you all so someone can enjoy it).

e-CryptIt Engine plugin for Xojo is to do Encryption, Encoding, Compression, Hashing, Key-ed hashing and other things.

Important for this version Make sure to have TypeLib 11.3.

Version 15.0 is all about two factor authentication


The new 2 factor authentication can handle both the server side and client side work.

The new two factor authentication is compatible with many Authentication Apps like Microsoft Authenticator, Google Authentication App and many others. We support standard mode which the simpler apps like Google and Microsoft use, as well as advanced mode which only more advanced apps support.

New in version 15.0

  • Added Einhugur_2F2_TOTP class. This class is for two factor authentication and is compatible with for example the Microsoft Authenticator and Google Authenticator apps.
  • Added 4 new example projects for the new Einhugur_2F2_TOTP class.
  • Added convenience shared Hash method to HMAC_MD5 class to hash small data with less code.
  • Added convenience shared Hash method to MD5 class to hash small data with less code.
  • Added convenience shared Hash method to SHA class to hash small data with less code.
  • Added convenience shared Hash method to SHA1 class to hash small data with less code.
  • Added convenience shared Hash method to HMAC_SHA1 class to hash small data with less code.
  • Added convenience shared Hash method to SHA_256 class to hash small data with less code.
  • Added convenience shared Hash method to SHA_384 class to hash small data with less code.
  • Added convenience shared Hash method to SHA_512 class to hash small data with less code.
  • Added convenience shared Hash method to HMAC_SHA_256 class to hash small data with less code.
  • Added convenience shared Hash method to HMAC_SHA_384 class to hash small data with less code.
  • Added convenience shared Hash method to HMAC_SHA_512 class to hash small data with less code.
  • Added convenience shared Hash method to SHA3 class to hash small data with less code.
  • Added convenience shared HashAsHex method to SHA3 class to hash small data with less code.
  • Added convenience shared Hash method to HMAC_SHA3 class to hash small data with less code.
  • Added convenience shared HashAsHex method to HMAC_SHA3 class to hash small data with less code.

More info at www.einhugur.com

8 Likes

Python3Script 3.6 for Xojo is out

PythonS3cript is to script your Xojo applications made with your favorite IDE, Xojo with Python, or to bridge Xojo and Python code. Python3Script in Xojo applications can big door for your Xojo applications to interact with wide range of code that is out there.

(Note this is the Python plugin for Python 3.x not to be confused with our PythonScript plugin which is for Python 2.7.x)

New in Python3Script 3.6:

  • Added support for Python 3.10.
  • Added new constant to the PreferredVersionValues enum.
  • Fixed problem where the Windows segment in the Demo version of the plugin contained some much older version of the plugin.

More info at www.einhugur.com

2 Likes

We updated today ExcelWriter plugin for Xojo, TypeLib plugin for Xojo, and FileSystemWatcher plugin for Xojo.

All 3 plugins contain critical fixes.

New in TypeLib 11.3.2:

  • Fixed issue with RawBitmap.Crop

New in FileSystemWatcher 1.5.4 and 1.5.6 (1.5.4 was not officially published)

  • 1.5.4 - The Changed event now auto -rewires it self if in strange situations like if class was dragged onto a window.
  • 1.5.6 - Fixed problem when removing watches.

New in ExcelWriter plugin 3.0.2:

  • Fixed problem where setting header or footer would incorrectly cause invalid header or footer string situation.
  • Fixed problem in the library under the hood where recovery from invalid header or footer string would cause memory clobbering.

The ExcelWriter plugin is to write documents with Excel file format without requiring Excel to be on the computer.

  • Native modern xlsx file format.
  • Full UTF8 support.
  • Works on all platforms, and Excel application does not need to be present.
  • Formulas.
  • Formatting.
  • Conditional formatting.
  • Graphs.
  • Pictures.
  • Outlines.
  • Data validation.
  • And much much more.

image
Exported Excel document shown in MS Excel for Mac. Other Office applications can also open the file.

image

image
Advanced conditional formatting.

More info at www.einhugur.com

1 Like

I am totally ignorant in this area… Can these things be used to implement CFR Part 11 compliant electronic signatures in conjunction with a commercial service so that one could add electronic documents signing (replacing written signatures… NOT signing executables!) to an Xojo app?

-Karen

No I am pretty sure it cannot.

Two factor authentication is for when you strengthen the security on for example a web page. So when I log in at Gmail or Facebook for example then I have such enabled. Then I need login and password, and a pin. The pin changes every 30 seconds and is based on shared secret between me and the web page. Then you need authentication App in your phone for example to generate your pin based on the shared secret and current day and time.

Most bigger web pages offer such now. This is basically what 2FA authentication is all about.

PictureButton 6.3 is out

The PictureButton plugin control for Xojo is to create more platform consistent Picture-buttons but yet having it work well cross platform.

image
PictureButton Windows 10 Dark mode - State normal, State focus, State hoover.
PictureButton Windows 11 Dark mode - State normal, State focus, State hoover.

New in version 6.3:

  • Added Multiline property to the PictureButton control. (For very special cases)
  • Added MultilinePlacement property to the PictureButton control.
  • Added Multiline property to the DesktopPictureButton control. (For very special cases)
  • Added MultilinePlacement property to the DesktopPictureButton control.

More info at www.einhugur.com

2 Likes

Einhugur YAML Plugin 1.0 is out

A plugin for Xojo to read and write YAML files.

  • Can parse YAML documents, even complex ones with inheriting tags
  • Can create YAML document.

New in 1.0

  • This is the first version.

More info at www.einhugur.com

4 Likes

TreeView 9.3 is out

The TreeView Xojo control allows to display tree structured data in a TreeView control.

New in version 9.3:

  • Added automatic adjustment of selection text color based on the selection background color.
  • Added HasSelectionTextColor property. (For when not in automatic mode)
  • Added SelectionTextColor property. (For when not in automatic mode)
  • Added DarkSelectionTextColor property. (For when not in automatic mode)

TreeViewDarkModeWin
TreeView on Windows dark mode

More info at www.einhugur.com

1 Like

Love the automatic text color adjustment, thank you!

1 Like

Einhugur JSON Plugin III 1.2.2 is out.

(Not to be confused with our other JSON plugins, this is not new version of the other ones but yet another engine under the hood)

JSON Plugin III is a Xojo plugin that adds parsing of JSON messages as well as ability to create them as well as other advanced features such as JSON schema validation, JSON Pointer queries and more.

Einhugur has 3 different JSON Plugins, all of which are maintained and supported.

New in version 1.2.2:

  • Fixed minor memory leak in sort methods.

More info at www.einhugur.com

2 Likes

TypeLib 11.5 plugin for Xojo is out

The TypeLib also defines RawBitmap and RawBitmapMask classes that can be used to interact with 3rd party plugins and libraries as well as to avoid inaccuracy of pre-multiplied alpha channels in image processing. Basically what has been done is there is step between the first red box on the picture bellow and the green box which enables us to make better use of the Task unit and for more things than we could before.

The plugin also defines the EinhugurRuntime.Task framework for native threading and async processing of big tasks.

New in version 11.5:

  • Added Advanced FloodFill method with tolerance support to the RawBitmap class.
  • Added Fill method to the RawBitmap class.
  • Added GenerateFloodFillMask for magic wand functionality to the RawBitmap class.
  • Added DrawPixel method to the RawBitmap class (not to be confused with the existing Set Pixel where Set Pixel sets the pixel while DrawPixel will alpha blend with existing pixels as needed).
  • FillRect on the RawBitmap class now supports alpha blending.
  • FillRect on RawBitmap class now supports 16bits per channel RGB color spaces and 16 bit per channels Gray color spaces.
  • DrawLine on RawBitmap class now supports alpha blending.
  • DrawLine on RawBitmap class now supports 16bits per channel RGB color spaces and 16 bit per channels Gray color spaces.
  • Added Bitmap property on the RawBitmapMask class.
  • Added DrawRect method to the RawBitmap class.
  • Added DrawEllipse method to the RawBitmap class.
  • Added RawBitmapException class.

More info at www.einhugur.com

1 Like

We updated today ExcelWriter plugin for Xojo and TypeLib plugin for Xojo.

New in TypeLib 11.5.1:

  • Fixed Windows build issue.

New in ExcelWriter plugin 3.1.0:

  • Added PixelsToHeight shared method to the ExcelWriterWorksheet class.
  • Added PixelsToWidth shared method to the ExcelWriterWorksheet class.
  • Updated the library under the hood.
  • The ColumnWidth methods now take UInt16 for column parameters instead of UInt32 to match actual limits in Excel.
  • The SetColumnOptions method now takes UInt16 for column parameter instead of UInt32 to match actual limits in Excel.

The ExcelWriter plugin is to write documents with Excel file format without requiring Excel to be on the computer.

  • Native modern xlsx file format.
  • Full UTF8 support.
  • Works on all platforms, and Excel application does not need to be present.
  • Formulas.
  • Formatting.
  • Conditional formatting.
  • Graphs.
  • Pictures.
  • Outlines.
  • Data validation.
  • And much much more.

image
Exported Excel document shown in MS Excel for Mac. Other Office applications can also open the file.

image

image
Advanced conditional formatting.

More info at www.einhugur.com

2 Likes

GraphicsFormats version 8.4 plugin for Xojo and CoreClasses 7.7.2 plugin for Xojo are out

New in GraphicsFormats 8.3:

  • The UTI properties for the WebP now return values as owners of the WebP file format have not published UTI information.
  • Fixed picture in the Example projects which had bad color profile which caused problems.
  • Updated the libpng library under the hood for the png import and export.
  • Added ErrorMessage property to the RawPngImporter class.
  • Added ErrorMessage property to the RawPngExporter class.
  • RawPngImporter and RawPngExporter will now throw ArgumentException if passing nil parameters to them.

GraphicsFormats supports:
PNG: 8 bit per channel, RGB or Gray, 16 bit per channel RGB or Gray, ICC Color profiles, alpha channels. File IO, String IO.
JPEG: 8 bit per channel, RGB or Gray, CMYK, ICC Color profiles. . File IO, String IO.
TIFF: 8 bit per channel, RGB or Gray, 16 bit per channel RGB or Gray, 8 bit per channel CMYK, 16 bit per channel CMYK, ICC Color profiles, alpha channels. . File IO, String IO.
TGA: 8 bit per channel, RGB, Alpha channels. . File IO, String IO.
HDR: RGBe → Which can be delivered in RGB 8 bits per channel, RGB 16 bits per channel or 32 bit per channel RGBf (float), File IO, String IO.
ICO: Mulitiple images within ICO file, File IO, String IO.
WebP: Lossy and Lossless codec, Alpha channels and no Alpha channels.
BMP: Can read all bit depts, and can read BMP’s with color palettes. Can read and write BMP’s with alpha channels (even if most programs do not support the Alpha channels for BMP)
GIF: Can read still and animated GIF’s. (writing not yet supported).

The RawBitmaps used in the GraphicsFormats plugin then can be used seamlessly with the Einhugur PictureEffectsRaw plugin for ImageProcessing, our PDF plugin for attaching images to your PDF documents, our ExcelWriter plugin and our Color Management Plugin.

New in CoreClasses 7.7.2:

  • Fixed Linux linker issue.

More info at www.einhugur.com

1 Like

Barcode Plugin 4.1 is out

BarcodePlugin is a Xojo plugin that adds ability to detect Barcodes and QRCodes in Xojo applications. The plugin also has QRCode and Barcode generator that can generate QRCode as bitmaps, direct draw them into PDF as vectors or save as vector SVG files.

The plugin can detect the following formats:

Aztec, Codebar, Code 39, Code 93, Code 128, Data Matrix, EAN 8, EAN 13, ITF, PDF 417, QR Code, UPC A, UPC E

image

The plugin can generate QRCodes:
To RawBitmaps and direct insert into PDF as vector, and to SVG vector files.

New in version 4.1:

  • Fixed problem with BarcodeGenerator class where it did not work on console and web targets due to use of Graphics.ScaleX and Graphics.ScaleY which apparently don’t exist on console targets.
  • Re-targeted iOS for lower minimum iOS version.
  • Added arm64 iOS simulator target.

More info at www.einhugur.com

2 Likes

Python3Script 3.6.2 for Xojo is out

PythonS3cript is to script your Xojo applications made with your favorite IDE, Xojo with Python, or to bridge Xojo and Python code. Python3Script in Xojo applications can big door for your Xojo applications to interact with wide range of code that is out there.

(Note this is the Python plugin for Python 3.x not to be confused with our PythonScript plugin which is for Python 2.7.x)

New in Python3Script 3.6.2:

  • Fixed strangeness when compiling macOS Universal application.

More info at www.einhugur.com

1 Like

DateControl plugin 9.7 for Xojo is out.

DateControl is a Plugin control for Xojo to select dates. The control has broad platform support and supports NULL (empty dates), Min and Max dates and more.

New in version 9.7:

  • Added allow focus ring property.
  • Fixed bug on macOS and Linux systems where entering zero as first input in year field would clobber the input.
  • Added AutomaticForce2Letter year to the DateFormat enum.

More info at www.einhugur.com

3 Likes

Einhugur SVG Plugin 1.0 for Xojo is out

Einhugur SVG Plugin is a Xojo plugin load and render SVG images.

Additionally to what is listed bellow then the plugin can rotate and scale the SVG’s before rendering them. And the plugin can recolour single color SVG’s.

Example of rendered SVG image using the plugin.

The library we use under the hood is work in progress and currently supports:

  • Basic Shapes
  • Document Structures
  • Coordinate Systems, Transformations and Units
  • SolidColors
  • Gradients
  • Patterns
  • Masks
  • ClipPaths
  • Markers
  • StyleSheet

The library under the hood does not yet support:

  • Text
  • Filters
  • Images

The plugin is supported on all platforms.

Special thanks to Norman for testing and helping with making example project.

More info at https://www.einhugur.com

4 Likes