C/PEG is a high performance graphics application framework library for resource conscious embedded systems. C/PEG provides the embedded application developer with a full tool set of graphics primitives and high level control objects to easily and quickly construct user-friendly, graphical interfaces for any type of embedded device. The core of C/PEG is written in ANSI conforming C.
C/PEG is an ideal solution for graphics displays using monochrome, grayscale, or a 256-color palette.
The architecture of the library is very straight forward and easy to understand for any moderately experienced C programmer. The C/PEG library is self contained, singly providing all the functionality necessary to create world object applications. The core library does not depend on any particular functionality that may or may not be provided by a compiler library or operating system.
- Small Footprint. The typical footprint of the library is between 60K and 100K bytes, and can be as small as 48K bytes, depending on which features of the library your application is using.
- Portable. C/PEG is designed from the ground up to be portable across hardware platforms, thus giving the embedded systems designer the desecration of selecting the technology that best suits the system's application. All of the library's extensive functionality is equally available across the entire range of supported hardware.
- Extensible. The library is designed to let a programmer of any skill level easily extend or even replace the behavior or visual representation of library objects. If a stock object does not suit your liking, you are free, even encouraged, to mold the object into a form that better fits the product.
- Scalable. From the smallest embedded system with the most modest available resources, all the way up to advanced medical and avionics devices featuring desktop level power, C/PEG is the right graphical application framework. This allows you to select the best hardware platform for the product without the question of whether or not your GUI has the ability to come along for the ride.
- Pointing Device support -- mouse, joystick, and/or touch screen input
- Soft Keys
C/PEG can be used with display devices supporting any combination of pixel resolution, color depths and memory layout. This includes LCD, HGA, CGA, VGA and SVGA capable devices.
C/PEG supports two tasking models.
- The default tasking model is single threaded. This is the model used for stand alone operation. The single threaded model provides the lowest overhead and is the simplest to interface.
- The second tasking model is multi-threaded support. Under this model, any number of tasks may directly create, display, modify and destroy user interface elements. This execution model is the default configuration.
The C/PEG library can be built to support 16 bit character encoding, also referred to as Unicode. Multi-lingual applications are most often build using string tables rather than using actual string references. This makes it an easy process to change languages while the application is executing. The WindowBuilder tool includes a facility to create and maintain the string table for the application.
C/PEG provides a sub-set of the standard C string library that provides 16 bit character handling. The provided functions include all of the functions required by C/PEG, thus eliminating the need to link in the compiler run time library.