# CGMOutput

## **Release Notes**

### 3.4 Release

* Added support for transparent objects. Transparency is enabled by default but can be toggled with `CGMEncoder#setTransparencyStatus(boolean)`. If transparency is enabled, shapes will use the alpha value from their graphic attribute.
* Added support for layers. Layering is disabled by default but can be enabled with `CGMEncoder#setLayeringStatus(boolean)`. Each `cgPlotView` component will be placed in a separate layer and use the name from the Component.getName() method. Layering support requires CGM metafile version 4.
* Improved text placement exported as `TextDrawMode.AS_TEXT` by using the CGM restricted text command. `AS_TEXT` rendering requires CGM metafile version 3.
* Deprecated `CGMEncoder.BUFFER`. The associated data structures are now allocated dynamically.
* Improved control of the CGM version number. Using features like transparency or layers
will automatically adjust the CGM version number.


### 3.3 Release

* Corrected export of text from shapes other than `cgText`.
* Updated javadoc in CGMEncoder to clarify AS_TEXT mode limitations. Currently, this mode only works for shapes that are cgText. If a different shape class draws text while using AS_TEXT mode, it will trigger an `UnsupportedOperationException` during the export.


### 3.2 Release

* Corrected issue with export of text as shape that was only seen in MS Word: Word showed the letter shapes as too fat. Also corrected handling of offsets in transformations.
* Added ability to export text as CGM text commands. Previously text was always exported as CGM shape commands. Added a new constructor to CGMEncoder where the third and last parameter is the text mode. See the new tutorial ExportTextAsText.
* Included tutorials in the installer. There are now two tutorials: SimpleExport and ExportTextAsText.
* Protected against null rectangles in CGMRenderer.setClipping.


### 3.1 Release

There are no notable changes to CGMOutput in the 3.1 release.

### 3.0.0 Release

* Small change to support rendering using a 3D accelerated scene graph engine.
* com.interactive.jcarnac2d.cgm.CGMRenderer
Methods Added
  1. public void reset()
  2. public void setGraphics(java.awt.Graphics2D g)


### 2.7.1 Release

CGMOutput has remained quite stable, and the changes to CGMOutput for this
release consists entirely of small bug fixes.

### 2.6 Release

Version 2.6 of CGMOutput has modified the declaration of some methods to specify an appropriate "throws" clause (see below). For more information about CGMOtuput, look at the CGMOutput Javadoc Reference.

#### Changed Functionality

The following methods have been changed to throw a checked exception. Any code that
calls these methods will need to be changed to handle (or throw) the specified
exception.

```java
com.interactive.jcarnac2d.cgm.CGMEncoder

exportProlog( cgRect vdcExtent ) throws IOException
exportContent( cgCGMExportableComponent comp ) throws IOException
exportEpilog() throws IOException
void exportModel( cgModel model, cgTransformation tr, cgTransformation offset, cgRect bbox, cgViewFilter pf )  throws IOException
ReplaceDefaultVDCRealPrecision( int type ) throws IOException
dumpHeader( cgModel model, cgTransformation tr ) throws IOException
dumpBody(cgModel model, cgTransformation tr, cgViewFilter vf) throws IOException
dumpFooter() throws IOException
```

## Support Contacts

* [SLB Support](https://www.software.slb.com/support)
* **Support:** [customersupport.digital@slb.com](mailto:customersupport.digital@slb.com?subject=J%2FGeotoolkit%20API%20documentation%20request)


Copyright © 2004-2026 by SLB.

All rights reserved.