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 library is an additional module. In the VEE Port configuration’s module description file, add the VG Pack dependency:
<dependency org="com.microej.pack.vg" name="vg-pack" rev="[VG Pack version]" conf="default->default"/>
Note
The latest current Pack version is 1.6.0.
The VG Pack will be automatically available after a VEE Port rebuild.
The properties file microvg/microvg.properties
is required to configure the VG Pack.
More specifically, it 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:
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.