GLG 2.5 Release New Features and Enhancements
Added a Bezier cubic spline object. The spline
is useful to define and render curves in the drawing.
A Spline with Gradient Shading
Control Widgets with Gradient Shading and Cast Shadows
Added new sets of buttons, meters, dials and
such control widgets using the new gradient shading and cast shadow
The old meters and dials were redesigned, and a new, better rotational
with easy-to-use configuration options was added.
Samples of new Controls with Gradient Shading
Rendering and Object Features
Added explicit support for Java2D, line
and Light-Weight Component Support
Added explicit Swing support by providing a
version of the Glg Bean and GlgApplet, as well as a global
parameter that controls the type of the component the viewport object
"light-weight" Swing or "heavy-weight" AWT.
The light weight components save small amounts of
and use the Swing rendering style for the native slider, button and
interface widgets. The "heavy-weight" AWT components are still
recommended for complex drawings with fast update requirements, since
AWT native window-based components provide better encapsulation for
drawing updates by limiting
the drawing repair damage to only the window of the component.
Swing-based components (due to the nature of Swing) are windowless and
any other intersecting components on top of them when updated. Swing's
double-buffering hides this artifact, but it still consumes CPU cycles
repair damage to all other windows.
Added support for transparency (both C/C++ and
In Java, transparency is implemented using Java2D's native alpha
feature. Transparency can be used for displaying layers on maps and
other complex drawings without obscuring objects underneath the layer.
Spherical and Conical Gradient Shading
Added linear, spherical and conical gradients
C/C++ and Java). Linear gradients in Java use Java2D's native gradient
feature. An extensive set of dynamic attributes is provided to control
the angle, position and other gradient parameters.
Added cast shadows, which renders shadows on
objects as defined by the offset and shadow color parameters.
Cast Shadow samples
Added two types of arrow heads (filled and
which can be displayed at either the ends or the middle of a line
An Arrow Head at the Middle of the line with a Cast
polygon. The arrow's shape can be configured via global configuration
Angle Fill Dynamics
Added support for Vertical, Horizontal and
Angle fill dynamics. This makes it easy to implement filling tanks
while still allowing arbitrary fill angles.
Fill Dynamics Samples
Added an optional Text box feature to render a
or unfilled box around a text object. A parameter is provided to define
how tight the box "sits" around the text. This feature is convenient in
when text objects are rendered in maps or on top of a complex drawing,
need a background to make the text more readable.
Improved support for TrueColor. On TrueColor
the color RGBs will now be used directly, without mapping them first to
Support for Custom Font Tables
Improved support for custom font tables by
the font object attributes to define both an X, Windows and Java font
This simplifies the use of the custom font tables in a cross-platform
Added a new GlgTransformObject function to the
API. This new method allows moving, rotating, scaling and otherwise
the geometry of an object in both world and screen coordinates,
better support for editor-style object manipulation. The new Diagram
shows examples of using this method.
Added a new GlgCreatePointArray Extended API
that creates and returns an array of an object's control points. The
Diagram Demo shows examples of using the function for constraining
to the control points.
Added Undo support for geometry editing (for both
objects and control points).
Support for Editing Special Attributes of a Group of Viewports
Enabled EditAll for screen attributes of a
Adding a color or font table in EditAll mode will now add a constrained
of the table to all the viewports being edited.
Objects with the Mouse
Improved flipping objects by allowing to flip
the mouse, by dragging the object's box points on the other side of the
Resize Points Display
Disabled resize, rotate and move points for
objects with just one control point (markers, fixed and autoscaled
and fixed-size image objects) to improve usability.
Values in Java
Fixed drawing loading with NaN attribute values
Fixed tooltips in Java in the case of a
narrow toolbar, to prevent the tooltips from being clipped off.