MicroVG
Principle
MicroVG library is an extension of the MicroUI library and provides vector drawing capabilities.
Architecture
MicroVG library is the entry point to perform some vectorial drawings on display. This library contains only a minimal set of basic APIs. As a result, high-level libraries can be used to have more expressive power. In addition to this restricted set of APIs, the MicroVG implementation has been designed to minimize the EDC, BON, and MicroUI footprint.
Native Calls
Like MicroUI, the MicroVG implementation for MicroEJ uses native methods to perform some actions (manipulate matrices, perform drawings, decode and render fonts, etc.). The library implementation has been designed not to block native methods (wait until the end of the drawing, etc.), which can lock the complete MicroEJ Core Engine execution.
Refer to the MicroUI implementation to have more details about the native calls.
Installation
The MicroVG Pack module must be installed in your VEE Port:
microejPack("com.microej.pack.vg:vg-pack:[VG Pack version]")
<dependency org="com.microej.pack.vg" name="vg-pack" rev="[VG Pack version]" conf="default->default"/>
Note
The latest current Pack version is 1.7.0.
The VG Pack will be automatically available after a VEE Port rebuild.
When installed, the MicroVG Pack module must be configured.
- In SDK 6, the configuration is done in the properties file
configuration.properties
of the VEE Port project. All the properties names listed below must be prefixed by
com.microej.runtime.microvg.
. For example theimplementation
properties is defined by thecom.microej.runtime.microvg.implementation
property.
In SDK 5, the configuration is done in the properties file microvg/microvg.properties
.
This configuration allows to configure the Image Generator and the front panel to fit a specific GPU.
This properties file must contain a property named implementation
.
Two values are currently available:
nema
: to be compatible with the Think Silicon Nema VG GPU.vglite
: to be compatible with the Vivante VGLite GPU.
Example:
com.microej.runtime.microvg.implementation=nema
implementation=nema
A custom extension can be used to target another GPU.
The name of the property implementation
is used to identify the Custom Extension and the Front Panel Extension.
Use
See MicroVG chapter in Application Developer Guide.