Build custom dialogs (native)

The Simple dialog mode

enables running a customized graphical user interface on the device.
The displayed graphics consist of text fields and images.
The user input is done is with the pen.
When the pen is lowered or lifted on the display
callback is called that exposes the display location.
Through this location the application
would have to interpret the pen event as a click on a form element
depicted on the display.
 
For example:
An application depicting a checkbox in a rectangular area on the device display
receives a pen down/up event located inside that rectangular area.
This would be interpreted as a click on the checkbox depicted there.
Consequently, the application assumes the checkbox to be checked and takes further actions.
These further actions include updating the frontend on the device display,
that is, making the checkbox become checked visibly.
To achieve that, the application loads an image of a checked checkbox
at the rectangular display area reserved for the checkbox.
 
The displayed graphics are text fields and images.
The device has a visible display buffer and an invisable shadow buffer.
Changes to the visible display buffer become visible right away.
Changes to the shadow buffer becomes visible when an update is requested.
 
This enables large scale changes to many different form elements
and update the whole display at once.
Text fields are written to the shadow buffer and require a font to be set.
When different fonts are required for several text fields,
one would have to load the appropriate font before creating the text fields using that font.
Then one would load another font and create the other text fields using the other font.
 
Images can be written both to the visible buffer and to the shadow buffer
When an update of the display is requested,
one can either overwrite the shadow buffer with the currently visible buffer or not.
A display buffer can be cleared.
It is possible to capture signatures in the simple dialog mode.
The signature drawing is written to the visible buffer.
Note that, pen events won't work inside the signature rectangle
in which a signature is being captured.
Signature captures can be stopped.