GLG Toolkit, C# Class Library  Version 3.6
 All Classes Namespaces Functions Variables Enumerations Properties Events
GLG Toolkit, C# Class Library Documentation

This online documentation provides a list of GLG classes and methods and is intended to serve only as a quick reference. Refer to the GLG documentation for details of the GLG Toolkit and its usage.


The GLG C# Class Library is a C#-based object engine that renders GLG objects in the C# environment. The Toolkit takes care of the low-level details of the rendering process, such as optimized damage repair, screen-resolution independent coordinate conversion, transparent zooming and panning, double-buffering and other coding-intensive driver-level tasks.

The Toolkit provides a high-level graphical object model which allows an application developer to concentrate on the logic of the application, speeding up the development process and dramatically increasing the developer's productivity.

The Toolkit contains the Graphics Builder, a graphical editor used to create graphical objects and define their attributes and dynamic properties without tedious programming. The resulting drawing is then saved into a file and loaded into a C# application using a provided GLG's C# DLL.

Class Hierarchy Overview

The GlgControl and GlgObject are the main classes of the GLG package. There are also a few utility classes (GlgPoint, GlgCube, GlgTraceData, etc.) which provide some convenient functionality. The rest of the classes extend the generic GlgObject class providing specific functionality of graphical objects available in the GLG Toolkit. These classes are mostly for internal use. The only time they are used in an application is when their constructors are invoked to create various GLG objects (i.e. GlgArc, GlgPolygon, etc.) using the Extended API.

GLG Control class is used for embedding GLG drawings into a C# application, in which case the GLG Control is used as a container which loads and displays a GLG drawing and provides programmatic access to the GLG objects in the drawing.

The GlgObject class is a generic GLG superclass that provides API methods for all GLG objects. It provides an application with a way to create and manipulate individual objects directly, without a need to create a GLG control.

Standard, Intermediate and Extended APIs

The Toolkit provides three levels of a programming interface: Standard, Intermediate and Extended APIs. The Standard API provides methods for loading the drawing created in the Graphics Builder, displaying and updating it with dynamic data, as well as handling user interaction (selecting objects with the mouse, pressing buttons, etc.)

The Extended API provides methods for creating objects programmatically, as well as methods for extended object manipulation (adding or deleting objects at run time, dragging objects with the mouse, traversing the object hierarchy, querying a list of object resources, etc.), supplying an application with all the functionality available in the Graphics Builder at run-time.

The Intermediate API provides all functionality of the Extended API except for the dynamic object creation.

The GLG Standard, Intermediate and Extended API methods are implemented on both the GlgControl and GlgObject levels. The GlgObject class provides access to the API methods of individual objects, while the GlgControl class implements the same set of methods at the control level and provides a centralized way to invoke API methods for any GLG object rendered inside the control.