Graphics Component  Version 0.1
MDK-Professional Middleware for Graphical User Interfaces
 All Files Pages
Graphics Component Documentation

The GUI Component is designed to provide an efficient and LCD controller-independent graphical user interface (GUI) for any application that operates with a graphical LCD. It is part of MDK-Professional.

GraphicsComponent.png
Graphics Overview

Features:

  • Widgets for PC look and feel: Widgets (window objects, also known as controls) are ready to use control elements for the user interface.
  • Window Manager: The window manager supplies a set of routines which allow you to easily create, move, resize, and otherwise manipulate any number of windows.
  • Dialogs: A dialog is normally a window that appears in order to request input from the user.
  • Touch Screen & Mouse support: Touch screen support for analog touch panels is available. This includes a low level driver,which handles the analog input (from an 8 bit or better AD-converter), de-bouncing and calibration of the touch screen. The window manager deals with touch messages and widgets such as button objects.
  • Memory device contexts: Memory device contexts allow creation of a section to output to the display in the memory of the CPU. All drawing operations can be used. When the image has been build completely, it is transferred to the display in a single operation, allowing flicker free updates even with slow CPUs or slow displays.
  • VNC Support: VNC (Virtual Network Computing) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It can be easily combined with the MDK-ARM Middleware TCP/IP stack.
  • Drivers: The GUI component is delivered with a variety of drivers for the most common LCD controllers.
  • Multiple Layer / Display support: Some graphic controllers offer a flexible layer concept. The multiple layer/multiple display feature allows you to handle more than one layer.
  • Anti-aliasing: AA reduces the jagged, stair-step appearance of any line that is not exactly horizontal or vertical. Different anti-aliasing qualities, anti-aliased fonts and high-resolution coordinates are available.
  • Fonts: Ready-to-use fonts are included in the sizes: 4*6, 6*8, 6*9, 8*8, 8*9, 8*16, 8*17, 8*18, 24*32, and proportional fonts with pixel-heights of 8, 10, 13, 16. New fonts can be defined and simply linked in.
  • Demos: Demos supplied in full source code show the usage of widgets, dialogs and other features. They can serve as templates for own applications.

Memory Usage:

The GUI component is optimized towards a small memory footprint. The memory usage depends on the feature set used in the application. Typical systems require:

Small system (no window manager)

  • RAM: Starting at 334 Bytes
  • Stack: Starting at 600 Bytes
  • ROM: Starting at 6 KBytes (depending on the functionality used)

Big system (incl. window manager and widgets)

  • RAM: Starting at 2 KBytes (depending on number of windows required)
  • Stack: Starting at 2 KBytes
  • ROM: Starting at 30 KBytes (depending on on the functionality used)