Kanzi 3.9 beta 2 release notes¶
New features¶
Ranges. You can use ranges to:
Store collections of values that you access using bindings. See Using bindings to split text into parts and Controlling light uniforms.
Collect and filter nodes for rendering. See Collecting nodes for rendering and Using lights in rendering.
Feature improvements¶
Kanzi Android framework (
kzDroidFw) improvements:You can now use Kanzi from Android contexts without a view (for example, a
WallpaperService) by instantiating aKanziViewAdapterand manually forwarding to it all lifecycle and input events.class WallpaperEngine1 extends WallpaperService.Engine { KanziViewAdapter mAdapter; @Override public void onCreate(SurfaceHolder) { ... mAdapter = new KanziViewAdapter(getApplicationContext(), "WallpaperEngine1"); mAdapter.setStartupPrefabUrl("kzb://project1/Prefabs/Wallpaper"); mAdapter.handleAttachedToWindow(); } @Override public void onSurfaceCreated(SurfaceHolder holder) { ... mAdapter.handleSurfaceCreated(holder.getSurface()); } ...
Android surfaces attached to Kanzi, whether from views or manually connected to
KanziViewAdapter, now by default clear to opaque black. You can configure this functionality with new layout attributes and setter methods on bothKanziViewandKanziViewAdapter.<!-- Color used to clear the surface. --> <attr name="clearColor" format="color" /> <!-- Default value: 0xff000000. --> <!-- Flag to enable clearing the surface. --> <attr name="clearEnabled" format="boolean" /> <!-- Default value: true. -->
void setClearColor(ColorRGBA color); // Null is used to skip clearing.
Kanzi now automatically resumes from sleep when state changes happen external to the main loop. The
Domain.scheduleUpdate()method is no longer required and has been removed.
Added Kanzi Android framework project templates to Kanzi Studio to enable you to create an application using the Kanzi Android framework.
Name
Description
Android application
Creates a Kanzi Studio project with a Kanzi Android framework-based application.
Android application with Java plugin
Creates a Kanzi Studio project with a Kanzi Android framework-based application that contains a Kanzi Engine Java plugin.
Introduced to keyboard input handling:
KeyMapEventFilter. Use theKeyMapEventFiltertogether with event sources to translate key input in Kanzi.KeyRepeatGenerator. Use theKeyRepeatGeneratorto generate repeat key presses together with event sources that cannot provide repeat key presses to a Kanzi application.
Improved the actions that you can use to scroll Scroll View and Grid List Box nodes in a specific direction or position. Each direction and position now has a dedicated action. See Scroll actions.
In binding expressions you can now cast to color and vector values. See Type casting.
You can now set a Text Box node to adapt its width to the length of the text in that Text Box node. See Setting the length of text that a Text Box node can show.
Published the
FocusScopeAPI, which enables you to traverse the nodes in a focus scope using either:FocusScopeVisitorfor unordered UI scene traversalFocusScope::FocusChainfor ordered iterated traversal
You can now configure the graphics context API also in the
application.cfg. See Graphics library.
Changes¶
Changes to the Key Manipulator:
The Key Pressed trigger now reports whether a key press is a repeat caused by the user holding down a keyboard key. See Using the Key Manipulator triggers.
Removed the Key Hold Timeout and Key Repeat Interval properties from the Key Manipulator node component.
Linux_imx6_armhf (GCC 4.9) is no longer supported and is replaced by linux_imx6_armhf_gcc6.
Documentation¶
Added a tutorial to help you get started with the Kanzi Activity system. See Tutorial: Getting started with the Kanzi Activity system.
Added a tutorial where you can learn how to use conditions to control the activation state of Activities. See Tutorial: Control activation state of Activities.
Added documentation for the Kanzi Android framework. See Developing with the Kanzi Android framework.
Added instructions on how to create Java Kanzi Engine plugins. See Creating a Java Kanzi Engine plugin using a template.
Notable fixes¶
ID |
Description |
Area |
|---|---|---|
362849 |
Slider nodes that use a Linear Trajectory now take the trajectory direction into account when processing up and down navigation key events. This makes the default navigation keys work for a vertical slider. |
Kanzi Engine |
353843 |
Slider nodes no longer override the values of the Minimum Value and Maximum Value properties. You can now set the values of the Range properties in a Slider node in any order. |
Kanzi Engine |
365460 |
Fixed the issue that prevented focus from moving continuously when the user keeps the Tab or BackTab key pressed down. |
Kanzi Engine |
374489 |
Fixed the issue that prevented the Cubemap Render Pass from generating mipmaps. |
Kanzi Engine |
378740 |
Kanzi applications running on Android no longer terminate when you resize multiple views. |
Kanzi Engine |