Any GUI designed in the NEMA®|GUI-Builder consists of several graphics items which are the fundamental items of the GUI. The user can easily drag-and-drop such items in the design area and in this stepwise way a GUI can be designed in minutes.
Graphics items include:
- Primitives (circle, rectangle, rounded rectangle, image and label) with fully customizable size and color according to your needs and taste.
- Containers (container, table, window) which are more complex items than primitives as they can be used in order to group together several other items. Containers are also fully configurable to satisfy even the most demanding tastes.
- Widgets (label button, icon button, radio button, horizontal slider, vertical slider, digital meter, icon, progress bar, gauge, circular progress, watch face) are the graphics items that handle the user interaction during application run-time. All widgets can be easily copied, modified, and extended in order to achieve any desired look and behavior.
Unlimited number of screens
A GUI usually involves several screens for its smooth operation. In NEMA®|GUI-Builder screens can either be configured as Primary or Seconda-
ry screens. This affects the way they are displayed at application run-time. Primary screens have fixed resolution and when they are displayed they occupy the whole area of the frame-buffer. Secondary screens have variable resolution so that they can be used along with a Window item or they can be displayed as pop-up screens.
Animations & Screen transitions
NEMA®|GUI-Builder is able to design astonishing animations, gorgeous graphics and smart effects for screen transitions and show/hide events.
Multiple frame-buffer formats
NEMA®|GUI-Builder supports multiple frame-buffer formats making it the ideal solution for developing GUIs for low-power devices:
- TSC™4 and
Multiple image formats
Current supported formats for the imported images are png, jpg and svg. After importing an image to NEMA®|GUI-Builder, the user can modify the target format by selecting the most suitable one from the list below:
- RGBA8888 (32 bits-per-pixel)
- RGBA5650 (16 bpp)
- RGBA5551 (16 bpp)
- RGBA4444 (16 bpp)
- L8 (luminance-only 8bpp)
- A8 (transparency-only 8bpp)
- Think Silicon’s proprietary and patented formats
- TSC™4 (4 bpp)
- TSC™6 (6 bpp)
- TSC™6a (6 bpp with alpha channel support)
Through bilinear filtering NEMA®|GUI-Builder is able to develop GUIs with optimum trade-off between performance and rendering quality.
Generate images as source code for memory constrained Microcontrollers
NEMA®|GUI Builder is able to generate images as source code so as to be easily stored to code memories enabling the efficient usage of the platform’s memory resources.
* The image is created by Xb100 - Freepik.com (https://www.freepik.com/free-photos-vectors/background)
Automatic image scaling
NEMA®|GUI-Builder enables the user to import images of any resolution guaranteeing that images will be scaled down automatically based on the actual needs of the GUI and ensuring optimum memory usage and minimum power consumption.
BSPs (Board Support Packages)
NEMA®|GUI-Builder currently supports Linux.
Easily configurable animations frame rate
The animations frame rate can be easily customized at 15, 30 and 60 frames per second (fps) to fulfill the needs of any low-power GUI.
NEMA®|GUI-Builder organizes the designed screens of a project into one or several groups making the design of complex applications easier.
NEMA®|GFX-API is now available for NEMA® GPU or CPU based rendering
NEMA®|GFX comes in two different flavors; NEMA® GPU or CPU based rendering. As a result, the generated code of NEMA®|GUI-Builder can run on CPU - NEMA® GPU systems (optimum performance, maximum energy efficiency) but also, on less sophisticated, CPU based embedded systems (where no GPU is available).
NEMA®|GUI-Builder utilizes the Event Manager for managing the events associated to a project. This maximizes the users’ interaction during run-time and allows them to inspect, add or remove events according to the needs of the project in a user-friendly way. Besides the
predefined events that are defined for each graphics item, the user is also able to assign custom events and tailor their functionality to the project requirements.
Memory requirements report
NEMA®|GUI-Builder enables the user to know beforehand the memory requirements of the developed GUI.
The developed project can be simulated at its current status so that the user can instantly observe whether its behavior is the desired one or not. Screen transitions, show/hide animation effects, scrollable graphics items and the rest of the visual features can be inspected at no time in the simulation window.
NEMA®|GUI-Builder generates the project assets (images and fonts), events as well as the GUI structure. Then, the generated project can be compiled and linked with the NEMA®|GFX library in order to be deployed to the target system.