This is a forked version adding several enhancements:
- Code reworked using 0x3333 UGUI fork.
- New font structure and functions.
Fonts no longer require sequential characters, now they can have single chars and ranges, also support UTF8.
This allows font stripping, saving a lot of space. - Add triangle drawing
- Add bmp acceleration (So the bmp data can be send using DMA), or use FILL_AREA driver if available.
- Add 1BPP bmp drawing.
- 1BPP fonts can be drawn in transparent mode.
- Modify FILL_AREA diver to allow passing multiple pixels at once.
- Font pixels are packed and only drawed when a different color is found.
This greatly enhances speed, removing a lot of overhead, specially when drawing big fonts.
µGUI is a free and open source graphic library for embedded systems. It is platform-independent and can be easily ported to almost any microcontroller system. As long as the display is capable of showing graphics, µGUI is not restricted to a certain display technology. Therefore, display technologies such as LCD, TFT, E-Paper, LED or OLED are supported.
- µGUI supports any color, grayscale or monochrome display
- µGUI supports any display resolution
- µGUI supports multiple different displays
- µGUI supports any touch screen technology (e.g. AR, PCAP)
- µGUI supports windows and objects (e.g. button, textbox)
- µGUI supports platform-specific hardware acceleration
- Custom fonts can be added easily, several included by default, including cyrillic.
- TrueType font converter available: ttf2uGUI
- integrated and free scalable system console
- basic geometric functions (e.g. line, circle, frame etc.)
- can be easily ported to almost any microcontroller system
- no risky dynamic memory allocation required
µGUI is platform-independent, so there is no need to use a certain embedded system. In order to use µGUI, only two requirements are necessary:
- a C-function which is able to control pixels of the target display.
- integer types for the target platform have to be adjusted in ugui_config.h.