GLG 2.10 Release: New Features and Enhancements

New Toolkit Features

Cross-Platform OpenGL Driver Support
Data Tags Export and Import
Boolean Transformations
SList transformation
Object Dimming and Highlighting
Semi-Transparent Shadows
CustomDraw Callback
Trace2 Callback
Paste Clone Type
Qt and Gnome integration
New Process Control and Dial Widgets

Map Server Features

Text Outline
Label Layout Negotiation
Elevation Display and Query
Tree Tiling of Image Layers
Shapefile Support
Image Type Auto-Detection
Threshold Tables with String Input
Dynamic Attribute Conditions in Layer String
Aliases for Sets of Layer Names
Tile Outlines to Assist Diagnostics
Thresholds for FontName and MinZoom/MaxZoom attributes
Custom Icons
Redirect File for Updating of Quickly Changing Datasets
Custom Grid Labeling
Option to Allow Missing Tiles
GVF Info Utility
Splitting Vector Data Based on Attribute Conditions
Global Number of Tiles Limit to Control Memory Footprint
Performance Improvements
GetCapabilities, XML and OpenGIS WMS standard v. 1.3 support

New Toolkit Features

Cross-Platform OpenGL Renderer Support

The major feature of the new 2.10 release of the GLG toolkit is a cross-platform support for the OpenGL renderer, which provides all GLG applications with an access to anti-aliased hardware-accelerated graphics, transparency, alpha-blending and other OpenGL rendering features. The OpenGL support is completely transparent to the application and does not introduce any dependencies on OpenGL libraries. At run time, the same application executable may select an OpenGL or native X/GDI renderer.

An OpenGL driver has been added for both Windows and Unix/Linux versions of the Toolkit.Anti-Aliasing The new features of the OpenGL renderer include:

By using double values in its rendering pipeline, the OpenGL renderer also takes care of the wrap-around problem that happened in the native GDI driver under high zoom factors due to the coordinate values overflow.

The OpenGL support is completely transparent, and the application developer does not need to know the OpenGL intrinsics in order to benefit from it. The Toolkit handles all low-level details of the OpenGL renderer, providing the developer with the cross-platform access to the OpenGL renderer's capabilities. The application automatically switches to the native GDI renderer if the OpenGL renderer is not available. For example, if an application is displayed on a remote display that does not have the GLX extension, the application will still run using the native X/GDI renderer toTransparency and Alpha-Blening display the graphics.

Existing GLG applications can benefit from OpenGL hardware acceleration by simply rebuilding them with the GLG libraries from the new release, with no source code changes required. The OpenGL libraries are loaded by the Toolkit dynamically if they are available on the system, which avoids OpenGL dependencies in the applications.

At run-time, the Toolkit auto-detects the presence of the OpenGL driver on the system and uses the OpenGL renderer if possible. If the system does not support OpenGL, the conventional windowing system driver is used. The OpenGL renderer may be disabled or enabled at run time as required, and the same executable may be run in either OpenGL or native GDI rendering mode.

New object attributes and configuration parameters are provided for finer control of the OpenGL renderer. The OpenGL renderer may be enabled on per-viewport basis, allowing the application to intermix windows that use the OpenGL and native GDI renderers. The OpenGL renderer may be enabled only for windows that may benefit from it.

Data Tags Export and Import

The new data tags export and import features have been added to assist the users in changing data connectivity tags. All tags in the drawing may be exported into a text file, edited and imported back, replacing the tags in the drawing with the new values.

Options to support the tag export and import feature have been added to both the Graphics Builder menus and the gconvert utility. The Programming API methods for exporting and importing tags have been added to all programming environments supported by the toolkit as well.

Boolean Transformations

Boolean transformations have been introduced to simplify construction of drawings with elaborate dependencies between objects. A choice of logical operations, such as AND, OR and NOT in various combinations, is supported for Boolean transformations.

SList transformation

SList transformation has been added to support strings as data input that controls the output value. The transformation provides a list of strings and a list of corresponding data values for each string. An input string is compared to each string in the list, and a corresponding data value is selected as the output value if the strings match. The output value may be of any data type.

This is similar to a list transformation, except that a string is allowed as an input instead of the numerical value that controls the list transformation. The string is self-documented as compared to a numerical value, which may be better suited for some applications. The string may also be constructed by concatenating several symbols to implement complex logic.

Object Dimming and Highlighting Features

New object dimming and highlighting features may be used to increase or decrease the brightness of all object colors. It provides a convenient way to implement a visual feedback for object activation or deactivation. Negative values of the Visibility attribute activate this feature.

Semi-Transparent ShadowsSemi-Transparent Shadows

The new shadow transparency feature enables semi-transparent object shadows. The Z component of the Shadow Offset is now handled as shadow transparency.

CustomDraw Callback

CustomDraw callback has been added to enable direct rendering of graphical primitives without the object overhead.

Trace2 Callback

New Trace2 callback has been added in addition to the Trace callback. Trace2 is invoked after processing native events, while Trace callback is invoked prior to processing native events.

Paste Clone Type

Paste Clone Type Builder option has been added for finer control of attribute constraints during the Paste operation.

Qt and Gnome integration

Qt4, GTK and GTKMM integration files are now included in the release.

New Process Control and Dial Widgets

Process Control widgets have been updated with the gradient rendering and timer animations.

New dial and meter widgets have been added to the Controls widget set.

New Map Server Features