Einhugur Plugin Releases May 2017 and later

[b]ExcelWriter Plugin 1.3

New in ExcelWriter Plugin 1.3:[/b]
[i] * Added ExcelWriterDataValidation class.

  • Fixed inserting pictures from Xojo objects (PNG) (broke in version 1.2 but worked in 1.1)
  • Fixed inserting pictures from Xojo objects (JPG) (broke in version 1.2 but worked in 1.1)
  • ExcelWriterChartFont.Size property is now double instead of Int16 to enable floating point fonts.
  • ExcelWriterFormat.FontSize property is now double instead of Int16 to enable floating point fonts.
  • Added ApplyDataValidation methods (2 variations) to the ExcelWriterWorksheet class.
  • Added new example project for data validation.[/i]

Plugin feature highlights:

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

more info at www.einhugur.com

PictureEffectsRaw 3.0 is out

PictureEffectsRaw is a Xojo plugin to do effects on Raw picture buffers, that originate from MemoryBlocks. With Xojo going more for Pre-multiplied alpha channels with their Picture objects then we focus more on RawBitmap object now over Picture object like we have in our other PictureEffects plugin.

PictureEffects raw supports using up to 8 CPU cores at once.

New in version 3.0:
[i]* Added DesaturateEffectRaw class.

  • Added GammaEffectRaw class.
  • Added HueSaturationEffectRaw class.
  • Added RainbowEffectRaw class.
  • Added TintAndTemperatureEffectRaw class.
  • Added Desaturate Example project.
  • Added Gamma Example project.
  • Added Hue-Saturation Example project.
  • Added RainbowEffect example using Polygon mask example project.
  • Added Temperature and Tint using Polygon mask example project.
    *Fixed all the Map effects where the Green channel was not behaving. (MapEffectRaw, ContrastStretchEffectRaw, EqualizeEffectRaw, ExposureEffectRaw, GainEffectRaw).[/i]


The new rainbow effect, it supports horizontal, vertical, radial and diagonal mode under any angle.

more info at www.einhugur.com

PictureEffectsRaw 3.1, GraphicsFormats 6.0, TypeLib 8.5 and TypeLibF 2.3 are out

New in PictureEffectsRaw 3.1
[i]* Added RenderGradientRaw class that can do Horizontal, Vertical, Radial and Diagonal gradients under any angle.

  • Added TextureRendererRaw class.
  • All effects in the plugin will now preserve ICC color profiles if there is such on the RawBitmap.
  • All effects in the plugin will now preserve Horizontal and Vertical resolution on the RawBitmaps.
  • Added Gradient example project.
  • Added Render Texture example project.[/i]


Diagonal and radial gradients. (Control line shown on the diagonal gradient)

New in GraphicsFormats 6.0:
[i]* RawJpegExporter will now export also ICC Color Profile if the RawBitmap has ICC Color profile on it.

  • RawJpegImporter will now import ICC Color Profile if the image has ICC Color profile.
  • RawPNGExporter will now export also ICC Color Profile if the RawBitmap has ICC Color profile on it.
  • RawPNGImporter will now import ICC Color Profile if the image has ICC Color profile.
  • Added new example project called JPG to Raw Import Export as JPG (With Color profile)
  • Added new example project called JPG to Raw Import Export as PNG (With Color profile)
  • Added new example project called PNG to Raw Import Export (With Color profile)[/i]

New in TypeLib 8.5:
[i]* RawBitmap’s now can have ICC Color profile.

  • Added HasICCColorProfile property to the RawBitmap class.
  • Added ICCColorProfileName property to the RawBitmap class.
  • Added ClearICCColorProfile method to the RawBitmap class.
  • Added CopyICCColorProfileFrom method to the RawBitmap class.
  • Added PixelAlpha getter / setter function to the RawBitmap class.
  • Added FillRectAlpha function to the RawBitmap class.[/i]

New in TypeLibF 2.3:
[i]* Added PointDistanceFromLine function to the LineF class.

  • Added PointDistanceFromInfiniteLine function to the LineF class.[/i]

more info at www.einhugur.com

The PictureEffectsRaw plugin will continue to get updates in the coming days as we are pushing this plugin over the other PictureEffects plugin as the primary platform from Einhugur for image processing.

CoreClasses 6.6.2 is out.

The CoreClasses plugin implements high speed string, object and bit arrays, stacks, queues, collections, dictionaries, trees, sets and StringTokenizers. This plugin is mostly to be used internally by the other Einhugur Plugins, though can be used as is also.

New in 6.6.2:
* Updated SDK to solve potential problem with future versions of Xojo.

more info at www.einhugur.com

PictureEffectsRaw 3.2 and Color Management Plugin 1.0 are out.

New in PictureEffectsRaw 3.2:

[i]* Added FlipEffectRaw class.

  • Added CrystallizeEffectRaw class.
  • Added ConvolutionMatrixRaw class.
  • Added ConvolutionEffectRaw class (this class includes Smooth, Sharpen, Edge Detect, Mean Removal, Emboss, Blur, and custom Convolution effects).
  • Added GaussianBlurRaw class. (This class was not Multi CPU in our other PictureEffects plugin but the Raw version is supporting up to 8 CPU cores at once like the other effects in this plugin). And the new class can also be applied in place.
  • Added four more example projects.[/i]

I am working very hard on bringing everything from PictureEffects into PictureEffectsRaw so that we can depreciate the old PictureEffects plugin as the Raw way of doing things has gotten superior in every way.

So if your in rush to get specific effects ported to the new Raw plugin then let me know and they will be put in front of the line.

Color Management Plugin 1.0 is new plugin.

The Color Management Plugin is to manage ICC Color profiles on RawBitmaps. It can Load ICC profiles, Apply them, Get info about them and Convert RawBitmap from one RGB based Profile to another RGB Based Profile.

(Supporting CMYK in some form is in evaluation but of course for such support to be beneficial then it has to start with the GraphicsFormats plugins to be able to load and save in CMYK for CMYK to make sense)

more info at www.einhugur.com

PDF Plugin 1.4, Color Management Plugin 1.1, GraphicsFormats 6.1, PictureEffectsRaw 3.3 and TypeLib 8.6 are out

New in PDF Plugin 1.4:
Updated internal structures so that the Einhugur ICCColorProfile class from the ColorManagement Plugin can apply ICC profile to the PDF document class.
Updated the Image functions to support CMYK color spaces.
Added SetCMYKFill method to the Page class.
Added SetCMYKStroke method to the Page class.

New in Color Management Plugin 1.1:
Added support to Convert CMYK color profiles.
HorizontalResolution and VerticalResolution are now preserved correctly when using the ConvertToColorProfile function.
Added RGBColorToCMYKColor shared function to the ICCColorProfile class. (Converts a single color using profiles or crude conversion if no profiles supplied)
Added RGBColorToFloatCMYKColor shared function to the ICCColorProfile class. (Converts a single color using profiles or crude conversion if no profiles is supplied)
Added CMYKColorToRGBColor shared function to the ICCColorProfile class. (Converts a single color using profiles or crude conversion if no profiles is supplied)
Added FloatCMYKColorToRGBColor shared function to the ICCColorProfile class. (Converts a single color using profiles or crude conversion if no profiles is supplied)
Added ApplyColorProfileToPDFDocument method to the ICCColorProfile class.
Fixed crash on windows when getting the text properties for the profiles.
Added more example projects.

New in GraphicsFormats 6.1:
Added support in the RawJpegImporter class for importing Jpeg images with CMYK color space.
Added support in the RawJpegExporter class for exporting Jpeg images with CMYK color space.
awJpegImporter and RawJpegExporter should now be slightly faster than before.
Fixed critical problems with the RawJpexExporter.

New in PictureEffectsRaw 3.3:
All affects now account for that RawBitmaps can now have CMYK color space. (Either rejecting such RawBitmaps or supporting them).
Flip effect supports CMYK color space.
ScaleEffect now supports CMYK color space.

New in TypeLib 8.6:
The RawBitmap class has now support to contain images with CMYK color spaces.
Added CMYK constant to the RawBitmapFormat enum on the RawBitmap class.
Added ColorSpaces enum to the RawBitmap class.
Added ColorSpace as ColorSpaces property to the RawBitmap class.
Updated drawing base methods on the RawBitmap class to either support CMYK or do nothing when getting CMYK color space.
Changed RawBitmapConverter.ToPicture to know about CMYK RawBitmaps, the ToPicture will return null when encountering such as CMYK needs to be first converted to RGB with correct ICC profiles using the Color Management plugin.
Added HasAlphaChannel property to the RawBitmap class.

more info at www.einhugur.com

BarcodePlugin 2.6 and TypeLib 8.6.2 are out

The Barcode plugin is to read and generate barcodes as well as QR codes.

New in BarcodePlugin 2.6:
*The BarcodeDecoder class can now go in Multi mode to detect multiple codes at once.
*The BarcodeDecoder class now supports that the RawBitmap’s have CMYK color space.
*Improved the Lumen source in the Barcode decoder class

New in TypeLib 8.6.2:

  • Fixed critical memory error with CMYK RawBitmap’s.

more info at www.einhugur.com

GraphicsFormats 6.2, PictureEffectsRaw 3.4, TypeLib 8.7, Color Management Plugin 1.2, PDF Plugin 1.5 and BarCode Plugin 2.6.2 are out

New in GraphicsFormats 6.2:
[i]* Added RawTIFFImporter class. (Supporting multi streams, RGB, CMYK, 8 bit per channel and 16 bit per channel color spaces)

  • Added RawTIFFExporter class. (Supporting multi streams, RGB, CMYK, 8 bit per channel and 16 bit per channel color spaces)
  • RawPngImporter now supports importing PNG’s with 16bit depth per channel as 16 bit deep RawBitmap’s instead of returning them as 8 bit deep.
  • RawPngExporter now supports exporting RawBitmap’s with that have depth of 16 bits per channel.
  • Added RawTgaExporter class.
  • Added RawTgaImporter class.
  • Added Author metadata property to the RawPngExporter class.
  • Added Copyright metadata property to the RawPngExporter class.
  • Added Title metadata property to the RawPngExporter class.
  • Added Description metadata property to the RawPngExporter class.
  • Added Disclaimer metadata property to the RawPngExporter class.
  • Added Software metadata property to the RawPngExporter class.
  • Added Source metadata property to the RawPngExporter class.
  • Added Warning metadata property to the RawPngExporter class.
  • Added Author metadata property to the RawPngExporter class.
  • Added Author metadata property to the RawPngImporter class.
  • Added Copyright metadata property to the RawPngImporter class.
  • Added Title metadata property to the RawPngImporter class.
  • Added Description metadata property to the RawPngImporter class.
  • Added Disclaimer metadata property to the RawPngImporter class.
  • Added Software metadata property to the RawPngImporter class.
  • Added Source metadata property to the RawPngImporter class.
  • Added Warning metadata property to the RawPngImporter class.
  • Added Force8BitDepth property to the RawPngImporter class.
  • Moved the old Non Raw versions of JpegImporter, JpegExporter, PNGImporter, PNGExporter, TgaExporter, TgaImporter, Jpeg2000Exporter and Jpeg2000Importer to a legacy plugin.[/i]

New in PictureEffectsRaw 3.4:
[i]* Added ImageChannelMixer class. (Supports 8bit and 16bit per channel, RGB, CMYK and Gray color spaces).

  • FlipEffect now supports 16 bit per channel raw bitmaps and all the new Color spaces that RawBitmap supports.
  • RotateEffect now supports 16 bit per channel raw bitmaps and all the new Color spaces that RawBitmap supports.
  • ScaleEffect now supports 16 bit per channel raw bitmaps and all the new Color spaces that RawBitmap supports.
  • All affects now account for that RawBitmaps can now have CMYKA color space. (Either rejecting such RawBitmaps or supporting them).
  • All affects now account for that RawBitmaps can now have CCMMYYKK color space (16 bit per channel CMYK). (Either rejecting such RawBitmaps or supporting them).
  • All affects now account for that RawBitmaps can now have RRGGBB color space (16 bit per channel RGB). (Either rejecting such RawBitmaps or supporting them).
  • All affects now account for that RawBitmaps can now have RRGGBBAA color space (16 bit per channel RGBA). (Either rejecting such RawBitmaps or supporting them).
  • All affects now account for that RawBitmaps can now have gg color space (16 bit per channel Gray). (Either rejecting such RawBitmaps or supporting them).
  • All affects now account for that RawBitmaps can now have ggAA color space (16 bit per channel Gray alpha). (Either rejecting such RawBitmaps or supporting them).[/i]

New in TypeLib 8.7:
[i]* Fixed the FillRectAlpha method on the RawBitmap class.

  • Added support for CMYKA color space on the RawBitmap class.
  • Added support for CCMMYYKK color space (16 bit per channel CMYK) on the RawBitmap class.
  • Added support for CCMMYYKKAA color space (16 bit per channel CMYKA) on the RawBitmap class.
  • Added support for RRGGBB (16 bit per channel RGB) color space on the RawBitmap class.
  • Added support for RRGGBBAA (16 bit per channel RGBA) color space on the RawBitmap class.
  • Added support for gg color space (16 bit per channel Gray) on the RawBitmap class.
  • Added support for ggAA color space (16 bit per channel Gray alpha) on the RawBitmap class.
  • Added Depth property to the RawBitmap class that returns the depth per channel of the RawBitmap.
  • RawBitmapConverter class can now convert 16 bit per channel RGB and RGBA RawBitmap to Xojo picture.
  • Added Clone method to the RawBitmap class which optionally can add a Alpha channel.[/i]

New in Color Management Plugin 1.2:
[i]* Alpha channel is now correctly copied in transformations.

  • Added another variation of the ConvertToColorProfile method on the ICCColorProfile class. This variation takes destination hint that can for example be used to force 16 bit per channel image down to 8 bit per channel image during conversion.
  • Added DepthValues enum to the ICCColorProfile class.
  • Added support for CMYKA color space.
  • Added support for CCMMYYKK color space (16 bit per channel CMYK)
  • Added support for CCMMYYKKAA color space (16 bit per channel CMYKA)
  • Added support for RRGGBB color space (16 bit per channel RGB)
  • Added support for RRGGBBAA color space (16 bit per channel RGBA)
  • Added support for gg color space (16 bit per channel Gray).
  • Added support for ggAA color space (16 bit per channel Gray alpha).[/i]

New in PDF Plugin 1.5:
[i]* Added support for embedding 16bit per channel RawBitmap.

  • Recompiled against TypeLib 8.7 since there were compatibility issues after the latest changes in TypeLib.
  • Fixed some issues with embedding CMYK RawBitmap.
    [/i]
    New in Barcode Plugin 2.6.2:
    [i]* Recompiled against TypeLib 8.7 since there were compatibility issues after the latest changes in TypeLib.
  • BarcodePlugin is now aware that RawBitmaps could be 16 bits per channel and rejects them gracefully.[/i]

Make sure if your using more than one of those plugins to update all of them and not just some, as the changes in TypeLib needed to support 16bit per channel images are not backwards compatible.

And I am still taking requests on what effects people are in most hurry to get from the old PictureEffects plugin to the new one. I am also opening up now for requests if people need specific effects with 16 bit per channel supported.

more info at www.einhugur.com

[b]PictureEffectsRaw 3.4.2 (Hotfix is out)

New in 3.4.2:[/b]
* Fixed issue with depth checker that was added in 3.4. The issue caused all effects that don’t support 16bit depth per channel to not work at all.
* Beta version of BlendEffectRaw class has been added. (Only autogenerated documentation and no example project for now, this feature was supposed to come in 3.5 but because it was already in when making the hot-fix then this slides in also in current state).

more info at www.einhugur.com

[b]e-CryptIt Engine has been updated to version 13.1.5

New in version 13.1.5:[/b]
Fixed console problem with ZipArchiveReader.
Fixed console problem with ZipArchiveWriter.

e-CryptIt Engine is multi purpose plugin to do compression, hashing, encryption, key-ed hashing, encodings and more.

more info at www.einhugur.com

PictureEffectsRaw 3.5 and TypeLib 8.8 are out

PictureEffectsRaw is plugin to do image processing using up to 8 CPU cores at once.

New in PictureEffectsRaw 3.5:

[i]* Added TrimEffectRaw class that can both do color match trim and manual trim.

  • BrightnessEffectRaw class now supports 16bits per channel.
  • Changed the range of the BrightnessEffectRaw.BrightnessValue property from -255 to 255 to -1.0 to 1.0 to account for different depths.
  • ContrastEffectRaw class now supports 16bits per channel.
  • Changed the range of the ContrastEffectRaw.ContrastValue property from -100 to 100 to -1.0 to 1.0 to account for different depths.
  • SepiaEffectRaw class now supports 16bits per channel.
  • Changed the range of the SepiaEffectRaw.SepiaValue property from 10 to 55 to 0.0 to 1.0 to account for different depths.
  • InvertEffectRaw class now supports 16bits per channel.
  • InvertEffectRaw class now supports CMYK color spaces.
  • Added new example project called Brightness and Contrast, which demonstrates Brightness and contrast effects as well as usage of Fading Mask.
  • Fixed issue with the ApplyInPlace method on the SepiaEffectRaw class.
  • BlendEffectRaw is now fully supported and documented.
  • Added new example project for the new TrimEffectRaw.
  • Added new example project for the BlendEffectRaw.[/i]

TypeLib is a support plugin that supports other Einhugur Plugins.

New in TypeLib 8.8:

[i]* Added CreateHorizontalFadingMask shared method to the RawBitmapMask class.

  • Added CreateVerticalFadingMask shared method to the RawBitmapMask class.
  • Added RawBitmapConverterConsole class.
  • Updated the DrawBitmap method on the RawBitmap class to support properly alpha channels.
  • Updated the DrawBitmap method on the RawBitmap class to support 16 bit per channel RawBitmap’s.
  • Updated the DrawBitmap method on the RawBitmap class to support CMYK color spaces.
  • The RawBitmapMask class now supports 16bit masks. (works on both 8 bit per channel and 16 bit per channel image processing).[/i]

The new fading masks in the TypeLib enable you to create fading masks with one line of code and use with all the effects in PictureEffectsRaw that support masking.

For example the following fading on the Sepia effect was generated by adding only one line of code from the TypeLib:

more info at www.einhugur.com

We have a TreeView 7.6b1 for Xojo 2017r3

TreeView 7.6b1 now at:

https://einhugur.com/einhugurcloud/index.php/s/zhumDZFWYmuCC16

New in 7.6:

Some Xojo 2017r3 compatibility fixes were done.
Alignment and Indents are now supported on SubNodes (secondary columns)
Added ItemAlignment setter / getter method to the TreeviewNode class.
Added SetItemIndent method to the TreeViewNode class.
Added AlignmentValues enum to the TreeViewNode class.
Added new variation of the AddSubItem method to the TreeViewNode class.
Added SetColumnDefaultIndent method to the TreeView class.
Added ColumnDefaultAlignment setter / getter method to the TreeView class.
Added ColumnAlignmentValues enum to the TreeView class.
Note there is no Gtk3 support so No Xojo 2017r2 or r3 yet on Linux.

[b]e-CryptIt Engine 13.1.6 and TypeLib 8.9 are out:

New in e-CryptIt Engine 13.1.6[/b]
* Fixed problem with ZipArchiveWriter when writing empty directories.

New in TypeLib 8.9 (TypeLib 8.9 is mostly preparing for next version of PictureEffectsRaw):
[i] * Did minor fix in the RawBitmap.DrawBitmap method.

  • Added EinhugurColors.RGBColor class, that supports 8 bit per channel and 16 bit per channel RGB colors and has automatic conversion to and from Xojo color.
  • Added EinhugurColors.CMYKColor class, that supports 8 bit per channel and 16 bit per channel CMYK colors.[/i]

more info at www.einhugur.com

PictureButton 4.0 is out

The PictureButton does native Themes on all platforms. It handles focusing properly, handles disabled state properly on images, has different layout setup of text vs picture, and has some more improvements over the built in BevelButton.

New in 4.0:
[i] * Added Windows Hi-DPI support.

  • Added Linux Hi-DPI support
  • Added Gtk3 support on Linux.
  • Changed disabled state handling for Images.[/i]

[i]This version requires Xojo 2016r4 or later. (And the higher the better since Xojo has been fixing Windows IDE issues since 2016r4 when the new drawing system came on Windows).

If you use older Xojo then Please use older version of the PictureButton.[/i]

more info at www.einhugur.com

Is there any update on Treeview for Linux under Gtk3? If there’s not a reasonable timeframe I’m going to pull the control from my project and use the regular listbox as much as I don’t want to (since TreeView already works in the other targets).

Yes there is!

You can see the progress on our blog at: Einhugur Tech Blog | Einhugur technical blog that involves Xojo and Einhugur Xojo plugin related topics

We basically can supply Alpha version so you can test other parts of your applications. Elements that will not look right in the alpha are headers (if you have headers turned on) and the Scroll bar. (It works but looks is messed still)

I’m trying out the free demo of TreeView 7.6 with Xojo 2018 1.1 under Windows 10. Using the provided examples, I noticed the TreeView control flickers every time it’s updated (i.e. scrolling, expanding etc.).Are there any control settings to avoid this flickering?

[quote=390262:@Björn Eiríksson]Yes there is!

You can see the progress on our blog at: http://einhugur.com/blog/

We basically can supply Alpha version so you can test other parts of your applications. Elements that will not look right in the alpha are headers (if you have headers turned on) and the Scroll bar. (It works but looks is messed still)[/quote]
Am I missing a link? I don’t see anywhere to try out out the alpha version.

You need to contact Björn :wink:

2018.1.1 and 2018.1 introduced new drawing system. The TreeView was oriented to not flicker on their previous drawing, so there is chance we may need to tweak it.