Graphics library (GUI)
- Bitmaps of different color depths supported.
- Bitmap converter included.
- Absolutely no floating-point usage.
- Fast line/point drawing (without floating-point usage).
- Very fast drawing of circles/polygons.
- Different drawing modes.
- Variety of Fonts included
- Touch-screen and Mouse support included
- Simulation included
All LCDs can be supported
Drivers can be written for all types of LCDs,
including monochrome, gray scale passive and active color(TFT) displays.
LCD drivers for all common LCDs already exist.
Currently available drivers
List of supported display controllers
|
Fonts
- A variety of different fonts are shipped with the basic software:
4*6, 6*8, 6*9, 8*8, 8*9, 8*16, 8*17, 8*18, 24*32, and proportional
fonts with pixel-heights of 8, 10, 13, 16.
- New fonts can be defined and simply linked in.
- Only the fonts used by the application are actually linked to
the resulting executable, resulting in minimum ROM usage.
- Fonts are fully scalable, separately in X and Y.
- Font converter available; any font available on your host system
(i.e. Microsoft Windows) can be converted.
All CPUs supported
All that is required is a CPU with an ANSI-compliant
"C"-compiler. Anything from 8 to 32 bits works; 16-bit
CPUs or better are advisable for speed reasons. |
Color management
emWin features an integrated, very efficient
color management system. This system allows conversion of logical
colors (RGB format) into the physical colors which your LCD can
display at run time. This way your application does not really need
to be concerned to much with the available colors, LCDs can easily
be interchanged. For optimized applications, the system can also
display bitmaps using indices generated at (pre-)compile time by
the application programmer or by the bitmap converter.
|
Layer structure
emWin has been redesigned from scratch.
It consists of 4 layers, which can be used individually:
Layer 4: Window manager
Layer 3: Widget library
Layer 2: Graphic library
Layer 1: LCD Driver(s)
|
Small memory footprint
emWin has been designed to have a memory
footprint as small as possible. Various configuration switches allow
tailoring the software to perfectly match your needs, reducing memory
consumption to a minimum. The memory requirements vary depending
on which parts of the software are used and how efficient your target
compiler is. It is therefore not possible to specify precise values,
but the following applies to typical systems:
Small systems (no window manager)
- RAM: 100 bytes
- Stack: 500 bytes
- ROM: 10-25 kb (depending on the functionality used)
Big systems (incl. window manager and widgets)
- RAM: 2-6kb (depending on number of windows required)
- Stack: 1200 bytes
- ROM: 30-60kb (depending on on the functionality used)
|