Overview
GUIliani is a C++ software framework enabling creation of visually appealing, platform independent GUI’s for embedded system.
GUIliani adopts the philosophy of “write once”, “complie & run” on target hardware. Once GUIliani application has been developed, its can run natively on supported target platforms. When using GUIliani the usual development workflow is to design the application on a PC and target a set of embedded platforms for production release, like for example a PocketPC running WinCE or a Smartphone running Linux, the effort being very minimal.
GUIliani features very high quality visual appearance using sub-pixel rendering, including advanced functionality such as alpha blending and anti-aliasing, making optimum use of the underlying graphics API. This enables development of appealing GUIs for applications running on a wide range of embedded devices, ranging from cost-optimized to high-end hardware platforms.
GUIliani supports a number of Graphics libraries and operating systems.
Graphic Libraries
|
Processor / Platforms
|
Operating Systems |
OpenGL
OpenGL-ES
Windows GDI
SDL 1.2
TES eGML
TES eVRU/CAFE
TES D/AVE 2D,3D
|
OMAP 3503/3530/3730*
Freescale i.MX27*,i.MX31
ARM7, ARM9, ARM11
TI DaVinci DM6446/7
iPhone*
Renesas SH-4,SH-2*
X86,Intel Atom*
AMD Embedded Radeon*
|
Windows
WinCE 5.0, 6.0
Linux
QNX
NIOS II
uCos
uCLinux
vxWorks
emboss *
WithoutOS
[bare Metal]
|
Additional libraries and operating systems can be supported easily just by developing the related hardware abstraction layer classes.
Target Market
GUIliani's small hardware footprint and optimized runtime requirements allow a wide range of applications to be developed, for example:
• Mobile phone interface & applications,
• Navigation systems
• Infotainment devices
• Professional systems: Measuring / Test instruments
• Medical portable devices
• Ticket Vending machines, Cash boxes
• EIB and LON devices (building communications, e.g. touch control units)
• Set-top-boxes, Multimedia devices: MP3 / DVD
Features
A key feature of GUIliani is the built-in support for animations and effects. This includes, for example, transition effects when switching menus, soft-scrolling within list-boxes and support for animated bitmaps.
• Support for Subpixel-accurate rendering
• Animations
- Motion blur
- Spinner
- Animation timers
- Alpha Shodaws
- Slide
- Pop
• Support for alpha transparencies
• Smart redraw Mechanism
- Follows the “dirty rectangle” approach
- Support for multiple independent dirty rectangles for minimized redraw
and maximum performance
GUIliani is aimed at an international market: it offers the possibility to switch between languages at runtime with minimal programming effort.
Text & Font Features
• Font Engine Support
- FreeType fonts
- ClearType windows fonts
- SDL Font Engine
- eGML Fonts
• UNICODE support
- UTF16
- UTF8
- ASCII
• Text alignments
- left, right, top, bottom, centred
- automatic word-wrap
- Truncation
GUIliani follows a clearly defined, object-oriented approach implementing several widely established and approved design patterns including Observer, Chain-of-Responsibility or Composite-Object-Patterns. To help faster development of GUI, GUIliani offers pre-defined widgets APIs
• Set of pre-defined widgets
- CompositeObjects
- Buttons
- IconButtons
- RadioButtons
- CheckBoxes
- Sliders
- ProgressBars
- TextFields
- BitmapImages
- InputFields
- ScrollBars
GUIliani has been fully ported on TES D/AVE 2D driver , eGML, eVRU. Evaluation kits are available for the above ports and also available are development kits for
• x86 Windows XP
• x86 Linux
• C64x/ARM DaVinci
Watch demo video
Guiliani OpenGL ES WARP Demo
Media Cube with GUIliani & OpenGL-ES
Related Links
Related Info
eVRU is a powerful command list based vector rendering engine for the TI C64x+ DSP Core. eVRU has been designed and developed specifically to run on DSP to render graphics with API support on the ARM. By off-loading the ARM from graphics rendering burden, eVRU enables greater system flexibility for multimedia, navigation and GUI applications. Click here for more information.