Color Graphic display driver library packages for RGB and Grey-level display controllers.
Be up and running with your graphic display application using advanced features, such as text string and character output, soft-font handling, graphic drawing, and graphic symbol output, in just a few hours. Save weeks of hard programming.
Display GUI driver libraries for RGB display controllersS6D0129 family library package SDD1339 family library package Generic Color library for memory mapped video buffers
i.e. Processors with build-in display controller
Color GUI display driver library package overview
- RAMTEX provides Graphic RGB color and Grey-level Graphic-User-Interface (GUI) libraries for different groups of display controllers.
- Common high-level C library interface to the application code. (Overview below)
- Easy reuse of your GUI design across multiple display controller types. Simplify change of display module / display controller type in future hardware updates.
- Each driver library package includes; full GUI driver library C source code, full display driver support for all members of the display controller family, an easy-to-read manual describing concepts, feature sets and function interfaces, and contains a lot of small examples.
- Each driver library is internally optimized for the functionality, color types, and command set format of the individual family of display controllers. Check the library product pages for details.
Graphic-User-Interface (GUI) feature overview
- GUI library support for RGB and Grey-level display controllers
- Common GUI feature set and interface to application. Promotes application source code reuse across GUI projects
- Library is supplied as C source code.
- Common high-level function interface
- Library is designed for use with embedded processors. Small memory footprint.
- Can operate directly on internal video buffer in the display controller chip. No need for a graphic video buffer in processor RAM.
- Portable and C-compiler-independent source code with standardized I/O functions.
- Character and text string functions.
- Color text and graphic symbols.
- Support for anti-aliased fonts
- Support for transparent text
- Tabs and column alignment support.
- Viewports with scroll, auto-wrap and auto-alignment.
- Switching between multiple viewports.
- Graphic line drawing and pixel setting.
- Graphic Rectangle and Block drawing.
- Graphic buffer Cut and Paste.
- Selectable foreground and background colors with both text and graphics.
- Soft-font support.
- Mono-space and Proportional fonts.
- Support for extended character sets. Multibyte character strings, wide-char strings.
- Support for extended codepage tables, ISO-IEC 10646, and UNICODE.
- Full UTF-8 support, incl. conversion functions.
- Free user definition of special symbols.
- Transparent symbol pixels. Symbols can use any geometric form.
- Fonts can be stored as two-color (B&W) symbols to optimize memory consumption.
- Rotation of text and graphic symbols
- Fast block-swapping of foreground and background colors. Ideal for block cursors in menus and progress bars.
- Touch screen support
- Full support for Virtual Fonts, icons, and pictures stored in external memory devices.
- Full support for Virtual Files, text and appl. data stored in external memory devices.
- Color LCD / TFT / OLED PC-simulator included for debugging of target applications with standard PC compilers.
- Comprehensive easy-to-read manual with examples.
- No run-time licenses.
GUI Function Interface
The powerful and flexible function interface provides the basic drawing features that make it simple for a programmer to create screen data fields, pull-down menus, pop-up menus, progress bars, etc. The library facilitates the creation of the GUI "style" and "look" most suitable for a particular target application area.
The library functions are well modularized. Advanced features can be added successively to the basic GUI driver system. For instance: graphic support, symbol and icon support, soft-font text support, and viewport support. This makes it easy to adapt the library to the requirements of your application.
Easy text handling and GUI "look" management
Multiple viewports with wrap and scroll. This makes it easy to reserve areas on the
display for icons and to prevent overwriting. Within a viewport, text can be output
as left or right-aligned, cut at the edges, or centered horizontally and vertically.
Each viewport can have its own font, codepage, color, and output styling.
Automatic text scrolling can be done individually for each viewport. This makes it easy reserve areas on the display for icons, and to prevent overwriting.
Viewports can be "styled" individually and are allowed to overlap. This makes it easy to mix styling on an area.
Transparent support for graphical multicolor icons, semi-transparent symbols, and for black & white (two-color) symbols. A foreground / background color scheme is used for two-color symbols. This makes it particularly easy to handle colors in connection with text and line drawing, and when converting an existing program from a black-and-white LCD to a color LCD.
The library function set facilitates the design of run-time adaptable GUI layouts. Promotes the design of reusable GUI API features, automatic screen sizes adaption, etc.
Text, Fonts, International language support
The library supports soft fonts for both mono-space and proportional graphic text. All font handling is done transparently by the library. The programmer just selects the required font and output a text string.
Font support for 8-bit character sets, extended 16-bit character sets, national ASCII character sets, ISO-IEC 10646, and UNICODE. Supports dynamic codepage look-up and segmented fonts. This makes it possible to reduce a large font so that it only contains those character symbols used by the application, while the C text strings remain unchanged. Ideal for memory-constrained embedded systems.
Low RAM and ROM memory consumption
The libraries are designed for small embedded processor systems, and optimized low memory consumption and low run-time overhead.
Large soft-fonts, large graphic symbols, and similar memory consuming constant objects, can be located in external memory devices. Data is fetched directly in the order needed when rendering. No RAM load buffers needed. See Virtual Fonts for details.
Display controller PC Simulation
Start GUI programming and testing before your hardware is ready. The PC-mode display controller simulator for Windows supplied with all library packages allows you to program and logically test embedded GUI applications using common PC compilers from, for instance, Borland and Microsoft. Your application source code looks the same in PC-mode and target mode.
Processor-independent C source code
The libraries are written entirely in C using standardized function syntax for basic low-level I/O read and write operations. The library is supplied as C source code and can therefore be compiled with C, C++ or EC++ standard conforming compilers.
Targets all common embedded processor families, from small 8-bit processor to embedded PCs.
Create portable GUI applications
The library function set facilitates the design of run-time adaptable GUI layouts. Promotes the design of reusable GUI API features, automatic screen size adaption, etc.
The same GUI driver function interface is used for different display controller types. Changing to display modules using another display controller type is now a simple task. This makes it easier to create portable and reusable application software.
Basic initialization and error handling
|ginit||Initialize display module|
|ghw_puterr||Initialize display and output an error message at the center of the display|
|gexit||Release display resources|
|gsetupdate||Activate / deactivate delayed update|
|ghw_err||Report error status from hardware drivers|
|ghw_dispoff||Turn off display screen|
|ghw_dispon||Turn on display screen|
|ghw_cont_set||Set LCD contrast level (absolute)|
|ghw_cont_change||Change LCD contrast level (relative)|
Basic text functions
Print a string.|
The string can be an (UTF-8) multibyte encoded string.
|gputch||Print a character|
|gputcsym||Print a symbol as a character|
Print a string rotated in any direction.|
The string can be an (UTF-8) multibyte encoded string.
|gputchrot||Print a character in any rotated orientation|
|ggetcxpos||Report cursor x position in character coordinates|
|ggetcypos||Report cursor y position in character coordinates|
|gsetcpos||Set cursor position in character coordinates|
|gsetpos||Set cursor position in graphic coordinates|
|gsetcursor||Set cursor size and type|
|ggetfw||Default width of current font|
|ggetfh||Height of current font|
|gfgetfw||Default width of a named font|
|gfgetfh||Height of a named font|
|ggetmbc||Fetch a char or a multibyte character from a string. The string pointer is advanced to the following character|
|gstrlines||Report number of text lines in a multi-line string|
|gsetspch||Set text character spacing. Add extra pixel space between text string characters|
|ggetspch||Report text character spacing|
|gsetspln||Set text line spacing. Add extra pixel space between text lines|
|ggetspln||Report text line spacing|
Basic graphic functions
|gcarc||Draw corner arcs as a full circle, half circle, or quarter circle. Draw as perimeter, as filled area, or both.|
|gcircle||Draw a circle as perimeter or as filled area. Any perimeter fragment using any radius can be drawn. Center may be located outside screen.|
|Write a logical pixel using current viewport color settings or a specific color.|
|Read a pixel as a logical value or as a color.|
|Draw a rectangular box using the current viewport color settings or a specific color.|
|groundrec||Draw a rectangle with rounded corners. Create any figure from a pure rectangle to a circle. Draw as perimeter, as filled area, or both.|
|gmoveto||Set start position for line draw|
|glineto||Draw a line from last position to new position|
|ggetxpos||Report current pixel x position|
|ggetypos||Report current pixel y position|
|ghw_rdblk||Read display area to buffer|
|ghw_restoreblk||Write the display area stored in the buffer back to the same position as it was read by ghw_rdblk|
|ghw_wrblk||Write buffer to display area|
|ghw_blksize||Calculate needed buffer size for read block|
|gputfsym||Output a graphic color or B&W symbol from a font|
|gputsym||Output a graphic color or B&W symbol|
|gputsymrot||Output a graphic color or B&W symbol using any rotation direction. Rotation anchor can be outside symbol or screen, creating a pendulous effect.|
|ggetsym||Read display area as a symbol in the current color mode|
|gfillfsym||Fill area with a color or B&W symbol from a font|
|gfillsym||Fill area with a color or B&W symbol|
|gsymsize||Calculate minimum buffer size to hold a symbol in the current color mode|
|ggetsymw||Get the pixel width of a character symbol using the current font|
|gsymh||Report pixel height of symbol|
|gsymw||Report pixel width of symbol|
|ggetvp||Report graphic viewport size|
|gsetvp||Set graphic viewport size|
|ggetvpnum||Report viewport number|
|gsetcvp||Set character viewport size|
|gsetupvp||Initialize all viewport parameters|
|ggetvpw||Report current viewport width|
|ggetvph||Report current viewport height|
|gselvp||Select viewport to be current|
|gfillvp||Fill rectangular area in viewport|
|ginvertvp||Invert rectangular area in viewport|
|gresetvp||Reset viewport to default|
|gresetposvp||Reset viewport coordinates to full screen. Leave font and text mode setting unchanged|
|gsetmode||Set normal, inverse, and alignment modes|
|gscrollcvp||Scroll character viewport|
|gvpxl||Report left edge coordinate for viewport|
|gvpxr||Report right edge coordinate for viewport|
|gvpyb||Report bottom edge coordinate for viewport|
|gvpyt||Report top edge coordinate for viewport|
|ggetapp||Get pointer to application-specific data for viewport|
|ggetvpapp||Translate application-specific data pointer to viewport number|
|ggetcolorb||Report background color for viewport.|
|ggetcolorf||Report foreground color for viewport.|
|gsetcolorb||Set background color for viewport.|
|gsetcolorf||Set foreground color for viewport.|
|ghw_palette_wr||Write in a new color palette.|
|ghw_palette_rd||Read out current color palette.|
Tabulator functions in viewports
|gsettab||Set a tab position|
|gsettabs||Set tab spacing|
|gfgetcp||Report codepage for a named font|
|ggetfont||Report font for the current viewport|
|gselfont||Select current font for viewport|
|ggetcp||Report current codepage for viewport|
|gselcp||Set current codepage for viewport|
|gpstrheight||Report height in pixels of a multi-line string based on the current font|
|gpstrlen||Report string length in pixels with current font|
|gpstrheight||Report width in pixels of the longest line in a multi-line string based on the current font|
|gpwordlen||Length in pixels of first word in string with current font|
|gcursorblink||Cursor blink function|
Display multi-screen functions
|gscinit||Initialize a newly allocated screen buffer and make it the owner of the resources.|
|gscisowner||Check whether a screen buffer is the current owner|
|gscsize||Calculate required size for screen buffer allocation|
|gscsave||Save the complete screen and library settings in screen buffer|
|gscrestore||Swap to another screen. Restore screen and library settings from screen buffer and make it the current owner|
Wide-char text functions(Require wide-char support from compiler)
|gpstrheightw||Report height in pixels of a multi-line wide-char string based on the current font|
|gpstrlenw||Report length in pixels of a wide-char string based on the current font|
|gpstrheightw||Report width in pixels of the longest line in a multi-line wide-char string based on the current font|
|gpwordlenw||Length in pixels of first word in wide-char string with current font|
|gputchw||Print an extended character (wide-char or multibyte character)|
|gputchwrot||Print an extended character in any rotated orientation|
|gputsw||Print a wide-char string|
|gputswrot||Print a wide-char string rotated in any direction.|
multibyte-char text functions(UTF-8 or compressed multibyte)
|gwcmbsize||Report number of multibyte characters needed to hold a wide character value|
|gmstrlen||Report multibyte length of string in number of bytes (storage length)|
|gmstrlenw||Report multibyte string length needed to hold wide-char string (storage length)|
|gmsstrlen||Report logical symbol length of multibyte string (= corresponding size of wide-char string)|
|ggetmbc||Convert multibyte to wide character|
|gwctomb||Convert wide char to multibyte|
|gwstrcpymb||Copy and convert wide-char string to multibyte string|
|gmbstrcpyw||Copy and convert multibyte string to wide-char string|
Reuse GUI application designs
The GUI application interface for color and grey-level display controllers is upward compatible with the GUI application interface for Black & White display controllers. Creates a secure migration path when moving an application from using a B&W display to using a color display.