Generic Graphic Color Dot Matrix Driver Library for RGB, Grey and B&W display modules

C source display driver library for display controllers using a memory mapped video buffer. For use with processors with a graphic display controller on-chip.

GUI RGB display driver library
Color GUI library - See common high-level interface overview

The Generic RGB / Grey driver library for memory mapped video buffers is optimized for use in small embedded systems using RGB or Grey-Level display modules with one of these display controller chip types:

Generic GUI Driver. All SOC processors with built-in display controller
+ External controller chips: S1D13706 S1D13513 SSD1906 SSD1905 and equivalents.

The Generic display controller driver library and S1D13706 family driver library are both included in the same package.
These RGB and Grey-level display driver libraries implements the powerful and flexible high-level GUI application interface functions and features set common for RAMTEX Color Dot Matrix library packages.

Feature list

  • Display controller family features
    • Generic GUI driver family library:
      • Support for external display controller chips with memory mapped video buffers.
      • Supports for RGB, Grey-level and b&w display data formats. All dot matrix display screen sizes supported by display controller. For instance: 240x160, 320x240, 640x240, 640x480, etc.
      • Support for 1, 2, 4, 8, 16 bits per pixel in hardware + support for use of Grey-level and RGB hardware palettes.
      • Portrait and landscape orientation: 0, 90, 180, 270-degree display image rotation with hardware support (Depends on display controller type).
      • Support for S1D13513 rendering hardware accelerators.
      • Supports 8-bit or 16-bit parallel bus modes.
      • Processor and OS independent driver code. Standardized I/O functions create driver source code portability.
      • The display controller can be connected to an external processor bus (direct I/O), or to processor I/O pins (single-chip processors). Template access functions and documentation for HAL customizations to single-chip processors, or special communication hardware, are included with the library.
    • Generic Graphic Dot Matrix library:
      • Processor and OS independent video buffer rendering driver code.
      • Supports for RGB, Grey-level and b&w display data formats. All dot matrix display screen sizes supported
      • Support for 1, 2, 4, 8, 16, 24, 32 bits per pixel in frame buffer memory.
      • Portrait and landscape orientation: 0, 90, 180, 270-degree display image rotation in frame buffer RAM.
      • Uses a memory mapped video frame buffer location. The library is processor bus independent. Only require an initialized pointer to the frame buffer base address.
      • Display controller setup can be done outside the library, or via the library initialization functions.
  • Display driver C source code
    • GUI display controller driver library provided as full C source code.
    • Standard conforming C source code. Can be used with embedded processors supported by a C, C++, or EC++ standard-conforming compiler.
    • Color RGB, Grey-level, B&W display controller PC-simulator included for debugging of embedded GUI applications with standard PC compilers.
    • Comprehensive easy-to-read manual with examples
    • No run-time licenses.
  • Graphic symbols
    • One common function interface supports multiple symbol pixel data formats:
        -   1 bit per pixel (B&W or two-color)
        -   8, 4, 2 bits per pixel grey-level (anti-aliased)
        -   4, 2 bits per pixel RGB palette
        -   24, 16, 8 bits per pixel RGB
        -   32 bits per pixel ARGB (semi-transparent symbols)
    • Transparent symbol pixels. Symbols can use any geometric form.
    • Free user definition of special symbols.
  • Graphic drawing
    • Graphic line drawing and pixel setting.
    • Graphic Rectangle and Block drawing.
    • Graphic buffer Cut and Paste.
    • Transparent symbol pixels. Symbols can use any geometric form.
    • Rotation of text and graphic symbols
  • Fonts and Text support
    • Character and text string functions.
    • Soft-font support
    • Mono-space and Proportional fonts.
    • Support for extended codepage tables, ISO-IEC 10646, and UNICODE.
    • Support for extended character set handling. Multibyte character strings, wide-char strings.
    • Full UTF-8 string support, incl. conversion functions.
    • Support for anti-aliased fonts
    • Support for transparent text
    • Fonts can be stored as two-color (B&W) symbols to optimize memory consumption.
  • Viewports and GUI Styles
    • Viewports with scroll, auto-wrap and auto-alignment.
    • Tabs and column alignment support.
    • Selectable fonts and alignment styles.
    • Selectable foreground and background colors with both text and graphics. Transparent write of anti-aliased text and symbols.
    • Fast block-swapping of foreground and background colors. Ideal for block cursors in menus and progress bars.
    • Comprensive, easy-to-use function interface. The powerful feature set enable creation of any GUI style.
    • Use relative coordinate set. Create adaptable layouts. Design your own reusable GUI functions.
  • Low processor memory consumption
    • Library is designed for use with embedded processors. Small memory footprint. No heap memory requirement.
    • Can operate directly on internal video buffer in the display controller chip. No need for a graphic video buffer in processor RAM.
    • Selectable use of direct video memory I/O, or fast delayed update via RAM buffer.
    • Full support for Virtual Fonts, icons, and pictures stored in external memory devices. An easy way to handle large fonts and graphic objects with minimum processor memory consumption.
    • Includes support for Virtual Files. Save text strings and application data together with fonts. Enable easy language update after product release.

PC mode demo

Start download of the Graphic Color LCD driver demo for Windows.
This run-time demo is a normal "embedded" GUI application using the library C source code and compiled with Microsoft Visual C/C++. The RAMTEX LCD PC simulator server is used for display controller screen output.