The Synex ViewPort Application Architecture

Synex ViewPort™ is structured into three different layers:

The kernel is a set of C++ classes. The kernel does not include any standard header files or use any standard functions. All platform dependencies are implemented in the layers above the kernel.

The platform specific layer handles all platform dependencies, primarily window, dialog, font, color, and graphics management.

The C API uses both the kernel and the platform specific functionality. This layer is hence implementation-wise somewhat platform dependent, but mainly independent. A major effort of the C API design was the hiding of platform dependencies: Although several functions are implemented directly in the platform specific layer, this is not apparent in the C interface.

Synex ViewPort application integration structure

The structure of a Synex ViewPort™ application

 

The Control Panel Approach

If the kernel and the platform specific layer are considered the browser engine, the C API is the control panel to that engine. There are several good reasons to use the control panel instead of the engine itself: