Graphic display driver library packages for Black & White 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.
GUI driver libraries packages for B&W display controllers
B&W GUI display driver library package overview
- RAMTEX provides Black-&-White 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 package is internally optimized for the functionality and command set format of the individual family of display controllers. Check the library product pages for details.
- 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.
Graphic-User-Interface (GUI) feature overview
- GUI library support for B&W display controllers
- Library is supplied as C source code.
- Common high-level function interface
- Library is designed for use with embedded processors. Very 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.
- Viewports with scroll, auto-wrap and auto-alignment.
- Switching between multiple viewports.
- Graphic line drawing and pixel setting.
- Graphic Rectangle and Block drawing.
- Tabs and column alignment support.
- Graphic buffer Cut and Paste.
- Black-on-White, White-on-Black.
- Character and text string functions.
- Rotation of text and graphic symbols
- Soft-font support.
- Text and graphic symbols.
- Support for transparent text
- 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.
- Full support for Virtual Fonts, pictures stored in external memory devices.
- Full support for Virtual Files, text and application data stored in external memory devices.
- Comprehensive easy-to-read manual with examples.
- No run-time licenses.
Description
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, viewport support, symbol and icon support, and soft-font text 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, and output styling. Automatic text scrolling can be done individually for each viewport.
Viewports can be "styled" individually and are allowed to overlap. This makes it easy reserve areas on the display for icons and to prevent overwriting.
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 the character symbols used by the application, while the C text strings remain unchanged. Ideal for memory-constrained embedded systems.
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.
Low RAM and ROM memory consumption
The libraries are designed for small embedded processor systems and optimized for low memory consumption and low runtime 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. Please 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.
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 | |
gputs |
Print a string. The string can be an (UTF-8) multi-byte encoded string. |
gputch | Print a character |
gputcsym | Print a symbol as a character |
gputsrot |
Print a string rotated in any direction. The string can be an (UTF-8) multi-byte 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 can be located outside screen. |
gsetpixel | Write a logical pixel using current viewport settings. |
ggetpixel | Read pixel a as logical value |
grectangle | Draw a rectangular box using the current viewport setting. |
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 |
Symbol (icon) | |
gputfsym | Output a graphic B&W symbol from a font |
gputsym | Output a graphic B&W symbol |
gputsymrot | Output a graphic 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 B&W symbol |
gfillfsym | Fill area with a B&W symbol from a font |
gfillsym | Fill area with a B&W symbol |
gsymsize | Calculate minimum buffer size to hold a symbol |
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 |
Viewport functions | |
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 |
gclrvp | Clear viewport |
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 |
Tabulator functions in viewports | |
gsettab | Set a tab position |
gsettabs | Set tab spacing |
gclrtabs | Clear tab(s) |
Soft-font functions | |
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 owner of the resources. |
gscisowner | Check wether 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 multi-byte) | |
gwcmbsize | Report number of multibyte characters needed to hold a wide character value |
gmstrlen | Report multi-byte length of string in number of bytes (storage length) |
gmstrlenw | Report multi-byte 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-char |
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 Black & White display controllers is a true subset of the GUI application interface for RGB color and grey-level display controllers. Creates a secure migration path should application code later be changed from using a B&W display to using a color display. This enables easy reuse of your application code and reduces future development costs.