public interface LLUIDisplay
An instance of this framework is available via the Instance
field. To use the framework methods, caller must
synchronize its calls on this Instance
field.
Modifier and Type | Field and Description |
---|---|
static LLUIDisplay |
Instance
Unique instance of MicroUI graphical engine.
|
Modifier and Type | Method and Description |
---|---|
int |
blend(int foreground,
int background,
int alpha)
Blends two colors applying a global alpha factor.
|
int |
convertARGBColorToColorToDraw(int color)
Converts the given MicroUI color (format 0xAARRGGBB) in a truncated color (same format: 0xAARRGGBB).
|
int |
getDisplayPixelDepth()
Gets the number of bits (opacity included) to represent a pixel on the hardware device.
|
DWDrawing |
getDWDrawerSoftware()
Unique instance of MicroUI graphical engine's internal software drawer.
|
UIDrawing |
getUIDrawerSoftware()
Unique instance of MicroUI graphical engine's internal software drawer.
|
LLUIPainter.MicroUIGraphicsContext |
mapMicroUIGraphicsContext(byte[] gc)
Maps a MicroUI GraphicsContext byte array (retrieved by MicroEJ application calling
gc.getSNIContext() ) on a LLUIPainter.MicroUIGraphicsContext . |
LLUIPainter.MicroUIImage |
mapMicroUIImage(byte[] image)
Maps a MicroUI Image byte array (retrieved by MicroEJ application calling
image.getSNIContext() ) on
a LLUIPainter.MicroUIImage . |
LLUIPainter.MicroUIGraphicsContext |
newMicroUIGraphicsContext(byte[] gc)
Creates a new
LLUIPainter.MicroUIGraphicsContext for the given MicroUI GraphicsContext byte array. |
LLUIPainter.MicroUIImage |
newMicroUIImage(byte[] image)
Creates a new
LLUIPainter.MicroUIImage for the given MicroUI Image byte array. |
void |
requestFlush(boolean force)
Requests a call to
Display.flush() . |
void |
requestRender()
Requests a call to
Displayable.render() (current displayable on display). |
static final LLUIDisplay Instance
To use the framework methods, caller must synchronize its calls on this Instance
field.
int blend(int foreground, int background, int alpha)
foreground
- the ARGB8888 foreground color.background
- the ARGB8888 background color.alpha
- the global alpha factor.int convertARGBColorToColorToDraw(int color)
This color takes in consideration the hardware display pixel representation constraints. For instance, for a display with the pixel format RGB565, the truncated color of green color (0xff00ff00) is 0xff00fc00 (because RGB565 format keeps only 6 first bits for green component).
This truncated color must be used to convert the MicroUI GraphicsContext current color in order to respect the hardware display pixel representation constraints.
color
- the MicroUI color in format 0xAARRGGBB.int getDisplayPixelDepth()
DWDrawing getDWDrawerSoftware()
DWDrawing
and it implements all drawings in software. The rendering is exactly the same than the embedded algorithms listed
in dw_drawing_soft.h
.
This drawer converts the MicroUI graphics context color, respects the clip and updates the new
Display.flush()
area (dirty area) as mentioned in LLUIPainter
class comment.
DWDrawing
in software.UIDrawing getUIDrawerSoftware()
UIDrawing
and it implements all drawings in software. The rendering is exactly the same than the embedded algorithms listed
in ui_drawing_soft.h
.
This drawer converts the MicroUI graphics context color, respects the clip and updates the new
Display.flush()
area (dirty area) as mentioned in LLUIPainter
class comment.
UIDrawing
in software.LLUIPainter.MicroUIGraphicsContext mapMicroUIGraphicsContext(byte[] gc)
gc.getSNIContext()
) on a LLUIPainter.MicroUIGraphicsContext
.
Implementation notes:
LLUIPainter.MicroUIGraphicsContext
fields are updated. By
consequence this method can only be called once during a MicroUI native call. See
newMicroUIGraphicsContext(byte[])
to force to create a new LLUIPainter.MicroUIGraphicsContext
instead.gc.getSNIContext()
. If given byte array does not respect this rule, the behavior is unknown.gc
- the MicroUI GraphicsContext representation.LLUIPainter.MicroUIGraphicsContext
object updated with the given MicroUI GraphicsContext
characteristics.LLUIPainter.MicroUIImage mapMicroUIImage(byte[] image)
image.getSNIContext()
) on
a LLUIPainter.MicroUIImage
. This image can be used as source (copy image in a graphics context) or as target (copy
image in another image).
Implementation notes:
LLUIPainter.MicroUIImage
fields are updated. By consequence this
method can only be called once during a MicroUI native call. See newMicroUIImage(byte[])
to force to
create a new LLUIPainter.MicroUIImage
instead.image.getSNIContext()
. If given byte array does not respect this rule, the behavior is unknown.image
- the MicroUI Image representation.LLUIPainter.MicroUIImage
object updated with the given MicroUI Image characteristics.LLUIPainter.MicroUIGraphicsContext newMicroUIGraphicsContext(byte[] gc)
LLUIPainter.MicroUIGraphicsContext
for the given MicroUI GraphicsContext byte array. This allows to
manipulate several destination targets in same native call. However it takes more time to create a new instance
at each native call than mapping the unique instance.
The implementation assumes given byte array has been retrieved by MicroEJ application calling
gc.getSNIContext()
. If given byte array does not respect this rule, the behavior is unknown.
gc
- the MicroUI GraphicsContext representation.LLUIPainter.MicroUIGraphicsContext
object updated with the given MicroUI GraphicsContext
characteristics.mapMicroUIGraphicsContext(byte[])
LLUIPainter.MicroUIImage newMicroUIImage(byte[] image)
LLUIPainter.MicroUIImage
for the given MicroUI Image byte array. This allows to manipulate several
sources and targets in same native call. However it takes more time to create a new instance at each native call
than mapping the unique instance.
The implementation assumes given byte array has been retrieved by MicroEJ application calling
image.getSNIContext()
. If given byte array does not respect this rule, the behavior is unknown.
image
- the MicroUI Image representation.LLUIPainter.MicroUIImage
object updated with the given MicroUI Image characteristics.mapMicroUIImage(byte[])
void requestFlush(boolean force)
Display.flush()
. The call of Display.flush()
is synchronized with
the MicroEJ application drawing (see MicroUI event pump).force
- true to force a call to Display.flush()
even if the application dirty area is null (the
flush seems actually useless); false to not call Display.flush()
if the the application
dirty area is null.void requestRender()
Displayable.render()
(current displayable on display). The call of
Displayable.render()
is synchronized with the MicroEJ application drawing (see MicroUI event pump).