Image Renderer¶
Principle¶
The Image Renderer is an on-board engine that reads and draws the image encoded in MicroEJ format (see Image Format). It calls Low LevelLow Level APIs to draw and transform the images (rotation, scaling, deformation, etc.). It also includes software algorithms to perform the rendering.
Functional Description¶
The engine redirects all MicroUI images drawings to a set of Low Level API. All Low Level API are implemented by weak functions which call software algorithms. The BSP has the possibility to override this default behavior for each Low Level API independently. Furthermore, the BSP can override a Low Level API for a specific MicroEJ format (for instance ARGB8888
) and call the software algorithms for all other formats.
![digraph {
graph [
overlap=false
splines=true
nodesep=0.5
ranksep=0.5
bgcolor="transparent"
center=1
];
node [
fixedsize=true,
fontname="Ubuntu"
fontsize=14
fontcolor=dimgray
height=0.5
width=2.5
shape=box
fillcolor=aliceblue
color="lightblue"
style="filled,setlinewidth(3)",
];
edge [
arrowsize=0.8
];
app [label="Painter API"]
bsp [label="BSP"]
gpu [label="GPU"]
algo [label="Software Algorithms"]
llapi [label="LLUI_PAINTER_impl.h"]
llimpl [label="LLUI_PAINTER_impl.c"]
drawApi [label="ui_drawing.h"]
weak [label="weak_ui_drawing.c"]
hard [label="hardware"]
app -> llapi -> llimpl -> drawApi -> {weak bsp} -> algo -> hard
bsp -> gpu -> hard
}](../_images/graphviz-6df7904b71882cfac158dba904878d97e6aa5926.png)
Installation¶
Image Renderer module is part of the MicroUI module and Display module. Install them in order to be able to use some images.
Use¶
The MicroUI image APIs are available in the class ej.microui.display.Image.