VizEx View C++ is easy to use C++ Library for Linux and Windows developers that wish to support CGM in their application(s). The SDK includes a wrapper so that it may be called by C# applcations as well.

The CGM Viewer Library SDK includes sample code, documentation and the object code library (.DLL or .SO on Linux), which you can utilize with your C++ applications.

Code Sample:

Copyright (c) 2013, Larson Software Technology, Inc.
   #include "ViewerApi.h"

   using namespace Larson;

           ViewerApi* pViewerApi = new ViewerApi();

   #ifdef WIN32
           // On Windows, Set target window
           pViewerApi->SetWindow(hWnd);
   #else
           // On Linux, Set target display and window
           pViewerApi->SetWindow(display, window);
   #endif

           // Set the target window size in client coordinates
           pViewerApi->SetClientRect(rect);

           // Set the picture file to be viewed
           pViewerApi->SetPicturePath(L"allelm01.cgm");

           // Set the view scaling
           pViewerApi->SetMapping(scaleToFit);

           // render the picture to target window
           pViewerApi->Draw();

           // When finshed, destroy the view. This will unload the picture and free all
           // memory used by the ViewerApi
           delete pViewerApi

Platforms: Windows XP, Vista, and Win 7 & 8 32 and 64 bit; Linux 32 and 64 bit
Input: CGM V1-V4, CGM+, TIFF
Profiles: ATA, PIP, S1000D, and WebCGM