Language

The Free and Open Productivity Suite
Released: Apache OpenOffice 4.1.15

Graphic System Layer Project

Project Lead: Philipp Lohmann

Co Lead: Herbert Dürr

The Graphic System Layer (GSL) project is an umbrella project to provide graphic output on different devices. Graphic output refers to a range of operations starting from simple line drawing to complex raster operations. Furthermore it contains a set of widgets and different APIs to make use of them. The most prominent examples for devices are of course computer displays and printer.

The Visual Class Library (VCL) is the most prominent module of the project. It contains implementations for fundamental concepts like windows, fonts, bitmaps, widgets (buttons, menus, ...) and so on. The infrastructure VCL provides is heavily used throughout all higher level infrastructure layer and the different OpenOffice.org application modules. VCL lets OpenOffice.org look and feel the way it does. VCL provides an external operating system independent API to higher level modules an internal API for implementing those in a system dependent manner. Current implementations provide support for Microsoft Windows and Unix/XWindow based systems. The latter is used for the Mac OS X port as well (A further project uses Java for implementation, however it's not hosted on OpenOffice.org). If you plan to port OpenOffice.org to a new platform then it's probably worth to have a look at VCL.

GSL and VCL are sometimes used as synonyms which is way too simple. GSL contains a lot more modules than just VCL, a complete list is given below.

Modules in the Graphic System Layer Project

Module

Function

accessibility

Accessibility tools bridges (e.g. java accessibility bridge)

awb

Accessibility workbench for checking accessibility bridges

awttools

Accessibility test programs

basebmp

Base classes for bitmap manipulation

canvas

Implementation of a new graphical output layer designed to replace vcl's OutputDevice

cppcanvas

C++ wrappers and helper classes for canvas

dtrans

System specific interchange (e.g. clipboard, drag and drop)

forms

Implementation of controls that can be used as forms in documents. Form controls are based on VCL.

fpicker

Support for system specific file dialogs and a generic fallback solution

padmin

Printer administration utility. Used on Unix platforms to configure printer queues and capabilities

psprint

Printer discovery and PostScript code generation. In conjunction with VCL it provides an application printing solution on Unix based systems. In the 3.2 codeline the psprint code has moved from its own modules into vcl to benefit from tighter integration.

rsc

Resource compiler. The basic layout of dialogs and the strings that are subject of translation/localization are stored in resource files. The resource compiler creates an efficient binary representation out of a human readable text format

shell

System integration: bindings to mailers and other external components

sysui

System desktop integration: mimetype and file type registration, quickstarter

toolkit

Toolkit provides a UNO API to VCL and UNO controls

unocontrols

A set of controls that do not directly rely on VCL. Currently implemented are a control for downloading files and an embeddable document preview.

vcl

Visual Class Library, implements graphic operations, window management and basic controls

What's going on for OpenOffice.org 3.2 ?

What's going on for OpenOffice.org 3.1 ?

What's going on for OpenOffice.org 3.0 ?

What was going on for OpenOffice.org 2.x ?

What was going on for OpenOffice.org 2.0 ?

What was going on for OpenOffice.org 1.x ?

Want more information ? Want to help ?

There is a simple way to find out more about GSL and it's role in OpenOffice.org. Just ask ! If you have questions then please post them in the dev@gsl mailing list. Please have a look here for contact information.

All trademarks found herein are property of their respective owners.

Apache Software Foundation

Copyright & License | Privacy | Contact Us | Donate | Thanks

Apache, OpenOffice, OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. The Apache feather logo is a trademark of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.