Kanzi 3.6.4 migration guide

Use this migration guide to update Kanzi applications from Kanzi 3.6.3 to Kanzi 3.6.4.

API renames

  • Changed the Node::setFont and Node::getFont to use the FontSharedPtr instead of the ResourceSharedPtr and removed the duplicate functions from the Text Block nodes.

  • In the Text Block node renamed the setFontMaterialResourceID and getFontMaterialResourceID functions to setFontMaterial and getFontMaterial.

  • Removed the legacy_error.hpp file. Replace

    #include <kanzi/core.ui/error/legacy_error.hpp>
    

    with

    #include <kanzi/core/error/legacy_error.hpp>
    
  • Moved several includes. If you used these includes, you must add these includes if you declare them only indirectly through other headers.

  • Moved these Renderer member functions to Texture::CreateInfo and ShaderProgram::CreateInfo:

    • validate to Texture::validate and ShaderProgram::validate

    • adjust to Texture::adjust

    • createSubstituteTexture to Texture::createSubstitutePattern

  • Adding bindings to classes now specifies the owner as a shared pointer to a void pointer as opposed to just a void pointer. This prevents a rare chance of trying to reuse addresses from destroyed owners.

Changed DLL export and import defines

Change your configuration files to match the change in the DLL export and import defines. The old values work, but are deprecated.

In Kanzi 3.6.3

In Kanzi 3.6.4

KANZI_COMPONENTS_API

Remove this define.

KANZI_COMPONENTS_API=__declspec(dllimport)

KANZI_UI_API_IMPORT

KANZI_V8_API

Remove this define.

KANZI_V8_API=__declspec(dllimport)

KANZI_VS_API_IMPORT

KANZI_API

Remove this define.

KANZI_API=__declspec(dllimport)

KANZI_API_IMPORT

Kanzi Studio changes

  • Removed the functionality of the clearFocus() scripting function. A valid application must have a node with focus.

  • Setting Blend Mode to Alpha: Automatic now resolves to Alpha: Mixed instead of Alpha: Non-premultiplied.