guix Snapshot
  • The Industry Leading GUI Solution
  • Small-footprint
  • Fast execution
  • Simple, easy-to-use
  • Create elegant user interfaces
  • Comprehensive set of built-in widgets
  • Complete low-level drawing API
  • Default free fonts and easy to add more
  • Custom JPG and PNG decoder implementation
  • Extensive display and touchscreen support
  • GUIX Studio desktop WYSIWYG tool
  • Complete Win32 simulation
  • Advanced technology
    • Automatic scaling
    • Endian neutral
    • Multiple display and canvas support
    • Supports monochrome through 32-bit true-color with alpha graphics formats
    • Hardware accelerator support
    • Bitmap compression
    • Alpha Blending
    • Dither support
    • Anti-Aliasing
    • Skinning and Themes
    • Canvas blending
    • Deferred drawing support
    • Multilingual support and UTF-8 encoding
    • Optimized clipping, drawing, and event handling
    • Window management including Viewports and Z-order maintenance
    • Transitions, Sprites, and Animation support
    • Custom widget support
    • Runtime JPEG and PNG decoder
  • Fastest Time-To-Market
  • Royalty Free
  • Full, highest-quality source code
  • Supports most popular architectures
    (see below)
GUIX Architecture Support
  • ARM
    • ARM7, ARM9, ARM11
    • Cortex-M, Cortex-R, Cortex-A
    • Cortex-Axx 64-bit
  • AndesCore
  • Analog Devices
    • Blackfin BF5xx, BF6xx, BF7xx
    • SHARC
  • Cadence
    • Xtensa
    • Diamond
  • CEVA
    • TeakLite-III
  • EnSilica
    • eSi-RISC
  • NXP
    • ARM (LPC, i.MX, Kinetis)
    • 68K
    • Coldfire
    • PowerPC
  • Imagination
    • MIPS32 4Kx, 24Kx, 34Kx, 1004K
    • microAptiv, interAptiv, proAptiv
    • M-Class
  • Intel
    • ARM (Cyclone SOC, Arria 10 SOC)
    • NIOSII
    • x86PM
  • Microchip
    • ARM (SAM)
    • AVR32
    • PIC24
    • PIC32
  • Renesas
    • ARM (Synergy, RZ)
    • H8/300H
    • RX
    • SH
    • V850
  • Silicon Labs
    • EFM32
  • ST
    • STM32
  • Synopsis
    • ARC 600, 700
    • ARC EM, ARC HS
  • Texas Instruments
    • ARM (Tiva-C, Sitara, OMAP)
    • C5xx
    • C6xx
  • Xilinx
    • ARM (Zynq)
    • MicroBlaze
    • PowerPC

GUIX

GUIX

The Industry Leading GUI Solution

GUIX is Express Logic's advanced, commercial grade GUI solution designed specifically for deeply embedded, real-time, and IoT applications. Express Logic also provides a full-featured WYSIWYG desktop design tool named GUIX Studio, which allows developers to design their GUI on the desktop and generate GUIX code that can then be exported to the target.

GUIX is fully integrated with ThreadX and is available for many of the same processors supported by ThreadX. All of this combined with an extremely small footprint, fast execution, and superior ease-of-use, make GUIX the ideal choice for the most demanding embedded IoT applications that require a user interface.

GUIX Block Diagram

Create elegant user interfaces

GUIX and GUIX Studio provide all the features necessary to create the most elegant user interfaces. The standard GUIX package includes various sample user interfaces; including a medical device reference, a smart watch reference, a home automation reference, an industrial control reference, an automotive reference, and various sprite and animation examples. Please click on the reference examples shown below:

Consumer

Consumer, Demo

Medical

Medical, Demo

Home Automation

Home Automation, Demo

Industrial

Industrial, Demo

Automotive

Automotive, Demo

White Goods

White Goods, Demo

With each GUIX reference, there is also a corresponding GUIX Studio project that defines all the graphical elements of the reference design. Changing a reference design is easy, simply open the corresponding GUIX project, make the desired changes, save the project, and then select Project -> Generate All Output Files to generate the C code for GUIX. Then simply rebuild the target application and run to observe the modified reference design.

Small-footprint

GUIX has a remarkably small minimal footprint of 13.2KB of FLASH and 4KB RAM for basic support, not including the memory required for a canvas.   More...

GUIX has a remarkably small minimal footprint of 13.2KB of FLASH and 4KB RAM for basic support, not including the memory required for a canvas.

For a display with internal GRAM and self-refresh technology, no canvas memory is required. However to improve drawing performance, or for a display configuration that does not utilize GRAM local to the display, and canvas memory area is defined by the application.

Canvas memory requirements are a function of the canvas size as well as the color depth and is defined by the formula:

	Canvas RAM (bytes) = (x * y * (bpp/8))

Where “x” and “y” are the dimensions of the canvas (display).

Fast execution

GUIX is written exclusively in C and is designed for speed. GUIX has minimal internal function call layering.    More...

GUIX is written exclusively in C and is designed for speed. GUIX has minimal internal function call layering. In addition, GUIX provides optimized clipping, drawing, and event handling. All of this and a general performance oriented design philosophy helps GUIX achieve the fastest possible performance.

Simple, easy-to-use

GUIX is very simple to use and GUIX Studio makes it even easier by allowing developers to visually design   More...

GUIX is very simple to use and GUIX Studio makes it even easier by allowing developers to visually design on the desktop and generate C code that runs on the actual target. Applications can then add their own custom event handling and drawing functions to complete their GUI.

Using the GUIX API is straightforward. The GUIX API is both intuitive and highly functional. The API names are made of real words and not the “alphabet soup” and/or the highly abbreviated names that are so common in other file system products. All GUIX APIs have a leading “gx_” and follow a noun-verb naming convention. Furthermore, there is a functional consistency throughout the API. For example, all APIs that initialize a widget control block are named < widget_type>_create, and the create function parameters for each widget type are always defined in the same order.

Comprehensive set of built-in widgets

GUIX provides a rich set of built-in widgets, including:    More...

GUIX provides a rich set of built-in widgets, including:

Vertical List
Drop Down List
Text Button
Radio Button
Icon
Prompt
Single Line Text Input
Multi Line Text Input
Slider
Vertical Scrollbar
Progress Bar
Horizontal List
Button
Checkbox
Pixelmap Button
Icon Button
Pixelmap Prompt
Multi Line Text View
Multi Line Text Button
Pixelmap SliderSprite
Horizontal Scrollbar Window
Circular Gauge
Radial Progress Bar

It’s easy for the application to create its own customer widgets as well.

Complete low-level drawing API

GUIX provides a robust canvas drawing API, allow the application to render complex graphical shapes.   More...

GUIX provides a robust canvas drawing API, allow the application to render complex graphical shapes. All functions support anti-aliasing on high color depth targets, and all shapes can be filled our outlined, including solid and pixelmap pattern fills. Drawing functions include:

Line Draw
Circle Draw
Arc Draw
Pie Draw
Pixelmap Blend
Pixelmap Tile
Text Draw
Polygon Draw
Rectangle Draw
Ellipse Draw
Chord Draw
Pixelmap Draw
Pixelmap Rotate
Pixel Draw
Text Blend

Default free fonts and easy to add more

GUIX provides a free set of TrueType fonts. Developers can add additional TrueType fonts as desired.   More...

GUIX provides a free set of TrueType fonts. Developers can add additional TrueType fonts as desired. The GUIX font format supports 8bpp anti-aliasing, 4bpp anti-aliasing, and 1bpp monochrome fonts. For the most resource-constrained applications, GUIX pre-renders the TrueType fonts to a compressed bitmap format using our GUIX Studio desktop tool.

Custom JPG and PNG decoder implementation

In addition to providing pre-conversion capability in the GUIX Studio application, GUIX also provides a complete runtime JPG and PNG file decoder implementation.    More...

In addition to providing pre-conversion capability in the GUIX Studio application, GUIX also provides a complete runtime JPG and PNG file decoder implementation. This implementation supports color space conversion, dithering, and runtime creation of GUIX compatible pixelmap format images.

Extensive display and touchscreen support

GUIX provides generic display drivers for nearly all color formats, including 1bpp monochrome, 8 bpp palette, 8 bpp 3:3:2 format,   More...

GUIX provides generic display drivers for nearly all color formats, including 1bpp monochrome, 8 bpp palette, 8 bpp 3:3:2 format, 16 bpp 565 rgb format, 16 bpp 4:4:4:4 format, 32 bpp x:r:g:b format, and 32 bpp a:r:g:b format. In addition, GUIX is integrated with many of the most popular LCD controllers and hardware accelerators (ST ChromeArt, Renesas Synergy, etc.).

GUIX fully supports touchscreen (including gesture support), pen, and virtual keyboard input devices.

GUIX Studio desktop WYSIWYG tool

GUIX Studio provides a complete WYSIWYG screen design environment which allows the user to drag-and-drop graphical elements used to build the GUI screens.   More...

GUIX Studio provides a complete WYSIWYG screen design environment which allows the user to drag-and-drop graphical elements used to build the GUI screens. GUIX Studio automatically generates C code compatible with the GUIX library, ready to be compiled and run on the target. Developers can produce pre-rendered fonts for use with within an application using the integrated GUIX Studio font generation tool. Fonts can be generated in monochrome or anti-aliased formats, and are optimized to save space on the target. Fonts can include any set of characters, including Unicode characters for multi-lingual applications.

GUIX Screenshot

GUIX Studio facilitates the import of graphics from PNG or JPG files with conversion to compressed GUIX Pixelmaps for use on the target system. Many of the GUIX widget types are designed to incorporate user graphics for a custom look and feel. In addition, GUIX Studio allows customization of the default colors and drawing styles used by the GUIX widgets, allowing developers to tune the appearance of GUIX very easily. Generation and maintenance of application strings is another built-in facility of GUIX Studio. This enables developers to design an application using one language today, and quickly and easily add support for additional languages after the product is released. A complete GUIX application can be executed on a PC desktop within the GUIX Studio environment, allowing a quick and easy generation and demonstration of GUI concepts, testing of screen flows, and observation of screen transitions and animations. When completed, a design can be exported as target-ready C data structures, ready to be compiled and linked with the GUIX and ThreadX libraries.

GUIX and GUIX Studio support multiple resource themes, allowing an application to be easily reskinned at run-time. Fonts, colors, and pixelmaps can be changed at run-time with one simple API.

Click HERE to learn more about GUIX Studio.

Complete Win32 simulation

GUIX runs on a Windows PC, using exactly the same drawing library that runs on the target board. With GUIX, you can build   More...

GUIX runs on a Windows PC, using exactly the same drawing library that runs on the target board. With GUIX, you can build and run a GUI application on the PC, and use the same application code on your target for debugging, rapid prototyping, demonstration, and WYSIWYG target operation.

Advanced technology

GUIX is advanced technology, including the following:   More...

GUIX is advanced technology, including the following:

  • Automatic scaling
  • Endian neutral
  • Multiple display and canvas support
  • Supports monochrome through 32-bit true-color with alpha graphics formats
  • Hardware accelerator support
  • Bitmap compression
  • Alpha Blending
  • Dither support
  • Anti-Aliasing
  • Skinning and Themes
  • Canvas blending
  • Deferred drawing support
  • Multilingual support and UTF-8 encoding
  • Optimized clipping, drawing, and event handling
  • Window management including Viewports and Z-order maintenance
  • Transitions, Sprites, and Animation support
  • Custom widget support
  • Runtime JPEG and PNG decoder
  • Win32 simulation

Fastest Time-To-Market

GUIX is easy to install, learn, use, debug, verify, certify and maintain. GUIX Studio also helps making   More...

GUIX is easy to install, learn, use, debug, verify, certify and maintain. GUIX Studio also helps making embedded GUI design and implementation easier. As a result, GUIX is one of the most popular GUI solutions for embedded IoT devices.

The following are some reasons for our consistent time-to-market advantage:

  1. Quality Documentation - please review our GUIX User Guide and see for yourself!
  2. Complete Source Code Availability
  3. Easy-to-use API
  4. Comprehensive and Advanced Feature Set

Royalty Free

GUIX is licensed royalty-free, for the lowest possible manufacturing cost. There are five basic types   More...

GUIX is licensed royalty-free, for the lowest possible manufacturing cost. There are five basic types of licenses and the ability to create a custom license for unique situations. Please see the licensing page for more information.

Full, highest-quality source code

From the very beginning, GUIX was designed to be a commercial grade GUI solution distributed with full C source code.   More...

From the very beginning, GUIX was designed to be a commercial grade GUI solution distributed with full C source code. Throughout the years, GUIX source code has set the bar in quality and ease of understanding. In addition, the convention of having one function per-file, provides for easy source navigation. The following is an example of the GUIX gx_canvas_alpha_set.c function:

GUIX Source Code

Supports most popular architectures

GUIX runs on most popular 32/64-bit microprocessors, out-of-the-box, fully tested and fully supported, including the following:   More...

GUIX runs on most popular 32/64-bit microprocessors, out-of-the-box, fully tested and fully supported, including the following:

Architectures

** Please note that all timing and size figures listed are estimates and may be different on your development platform.