Virtual Graphic Devices

The core of the Guido Engine is platform independent. Only the graphic operations and font related operations depend on the host operating system and graphic layers. In order to cope with each specific platform, the Guido library provides a Virtual Graphic Device layer which is actually a set of pure C++ abstract classes that isolates the engine from the platform dependencies.

The main advantage is that Virtual Graphic Devices can implement any kind of graphic output: on-screen (platform specific, OpenGL), off-screen (raw bitmaps), files (pdf, svg, postscript), network streams, etc.

The Virtual Graphic classes

The VG classes are located in the src/engine/include folder and are the following:

In addition, two utilities are provided: VGColor and VGPen covering respectively colors and pen representations.

Implementations

Platform specific

Platform specific implementations of VGDevice are located in the platforms folder:

Platform independent

Platform independent implementations of VGDevice are located in the src/engine/devices folder:

Environment dependent

A set of VGDevices are implemented over already platform independent layers and provide compatibility with various high level frameworks. They are located in the environments folder:

Unsupported implementations