Skip to content

deividAlfa/UGUI

 
 

Repository files navigation

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.

Introduction

What is µGUI?

µ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 Features

  • µ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 Requirements

µ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.

About

µGUI - Open Source GUI module for embedded systems

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 100.0%